// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "forge-std/Test.sol"; import "../../contracts/compliance/libraries/MonetaryFormulas.sol"; contract MonetaryFormulasTest is Test { function test_MoneySupplyCD() public pure { assertEq(MonetaryFormulas.moneySupplyCD(100, 50), 150); } function test_SimpleMultiplier() public pure { assertEq(MonetaryFormulas.simpleMultiplier(1000), 10e18); } function test_CoverageRatioBps() public pure { assertEq(MonetaryFormulas.coverageRatioBps(120, 100), 12000); } function test_GruFanout() public pure { assertEq(MonetaryFormulas.gruM00ToM1Fanout(), 25); } function test_CoverageWeightedVelocity() public pure { uint256 v = MonetaryFormulas.coverageWeightedVelocity(2e18, 12000); assertEq(v, 2e18); } }