Files
smom-dbis-138/test/compliance/MonetaryFormulas.t.sol

29 lines
847 B
Solidity

// 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);
}
}