Skip to content

Commit 6ea4ae6

Browse files
committed
Add some tests
1 parent bae48b5 commit 6ea4ae6

File tree

2 files changed

+36
-15
lines changed

2 files changed

+36
-15
lines changed

.gas-snapshot

+18-15
Original file line numberDiff line numberDiff line change
@@ -241,40 +241,43 @@ ERC721Test:testTransferFromApproveAll(uint256,address) (runs: 256, μ: 93182, ~:
241241
ERC721Test:testTransferFromSelf() (gas: 64776)
242242
ERC721Test:testTransferFromSelf(uint256,address) (runs: 256, μ: 65061, ~: 65061)
243243
FixedPointMathLibTest:testDivWadDown() (gas: 864)
244-
FixedPointMathLibTest:testDivWadDown(uint256,uint256) (runs: 256, μ: 670, ~: 776)
245-
FixedPointMathLibTest:testDivWadDownEdgeCases() (gas: 423)
246-
FixedPointMathLibTest:testDivWadUp() (gas: 981)
244+
FixedPointMathLibTest:testDivWadDown(uint256,uint256) (runs: 256, μ: 714, ~: 820)
245+
FixedPointMathLibTest:testDivWadDownEdgeCases() (gas: 446)
246+
FixedPointMathLibTest:testDivWadUp() (gas: 1003)
247247
FixedPointMathLibTest:testDivWadUp(uint256,uint256) (runs: 256, μ: 845, ~: 1016)
248-
FixedPointMathLibTest:testDivWadUpEdgeCases() (gas: 482)
248+
FixedPointMathLibTest:testDivWadUpEdgeCases() (gas: 504)
249249
FixedPointMathLibTest:testFailDivWadDownOverflow(uint256,uint256) (runs: 256, μ: 423, ~: 397)
250-
FixedPointMathLibTest:testFailDivWadDownZeroDenominator() (gas: 362)
251-
FixedPointMathLibTest:testFailDivWadDownZeroDenominator(uint256) (runs: 256, μ: 419, ~: 419)
252-
FixedPointMathLibTest:testFailDivWadUpOverflow(uint256,uint256) (runs: 256, μ: 401, ~: 375)
250+
FixedPointMathLibTest:testFailDivWadDownZeroDenominator() (gas: 320)
251+
FixedPointMathLibTest:testFailDivWadDownZeroDenominator(uint256) (runs: 256, μ: 397, ~: 397)
252+
FixedPointMathLibTest:testFailDivWadUpOverflow(uint256,uint256) (runs: 256, μ: 423, ~: 397)
253253
FixedPointMathLibTest:testFailDivWadUpZeroDenominator() (gas: 342)
254254
FixedPointMathLibTest:testFailDivWadUpZeroDenominator(uint256) (runs: 256, μ: 396, ~: 396)
255255
FixedPointMathLibTest:testFailMulDivDownOverflow(uint256,uint256,uint256) (runs: 256, μ: 460, ~: 437)
256256
FixedPointMathLibTest:testFailMulDivDownZeroDenominator() (gas: 316)
257257
FixedPointMathLibTest:testFailMulDivDownZeroDenominator(uint256,uint256) (runs: 256, μ: 395, ~: 395)
258-
FixedPointMathLibTest:testFailMulDivUpOverflow(uint256,uint256,uint256) (runs: 256, μ: 482, ~: 459)
258+
FixedPointMathLibTest:testFailMulDivUpOverflow(uint256,uint256,uint256) (runs: 256, μ: 438, ~: 415)
259259
FixedPointMathLibTest:testFailMulDivUpZeroDenominator() (gas: 317)
260-
FixedPointMathLibTest:testFailMulDivUpZeroDenominator(uint256,uint256) (runs: 256, μ: 394, ~: 394)
261-
FixedPointMathLibTest:testFailMulWadDownOverflow(uint256,uint256) (runs: 256, μ: 380, ~: 342)
262-
FixedPointMathLibTest:testFailMulWadUpOverflow(uint256,uint256) (runs: 256, μ: 380, ~: 342)
260+
FixedPointMathLibTest:testFailMulDivUpZeroDenominator(uint256,uint256) (runs: 256, μ: 416, ~: 416)
261+
FixedPointMathLibTest:testFailMulWadDownOverflow(uint256,uint256) (runs: 256, μ: 425, ~: 387)
262+
FixedPointMathLibTest:testFailMulWadUpOverflow(uint256,uint256) (runs: 256, μ: 425, ~: 387)
263263
FixedPointMathLibTest:testMulDivDown() (gas: 1861)
264264
FixedPointMathLibTest:testMulDivDown(uint256,uint256,uint256) (runs: 256, μ: 669, ~: 771)
265265
FixedPointMathLibTest:testMulDivDownEdgeCases() (gas: 751)
266266
FixedPointMathLibTest:testMulDivUp() (gas: 2273)
267267
FixedPointMathLibTest:testMulDivUp(uint256,uint256,uint256) (runs: 256, μ: 835, ~: 1054)
268-
FixedPointMathLibTest:testMulDivUpEdgeCases() (gas: 846)
269-
FixedPointMathLibTest:testMulWadDown() (gas: 821)
268+
FixedPointMathLibTest:testMulDivUpEdgeCases() (gas: 823)
269+
FixedPointMathLibTest:testMulWadDown() (gas: 844)
270270
FixedPointMathLibTest:testMulWadDown(uint256,uint256) (runs: 256, μ: 683, ~: 810)
271-
FixedPointMathLibTest:testMulWadDownEdgeCases() (gas: 886)
271+
FixedPointMathLibTest:testMulWadDownEdgeCases() (gas: 843)
272272
FixedPointMathLibTest:testMulWadUp() (gas: 959)
273273
FixedPointMathLibTest:testMulWadUp(uint256,uint256) (runs: 256, μ: 806, ~: 1051)
274274
FixedPointMathLibTest:testMulWadUpEdgeCases() (gas: 1002)
275275
FixedPointMathLibTest:testRPow() (gas: 2142)
276276
FixedPointMathLibTest:testSqrt() (gas: 521)
277-
FixedPointMathLibTest:testSqrt(uint256) (runs: 256, μ: 1065, ~: 1113)
277+
FixedPointMathLibTest:testSqrt(uint256) (runs: 256, μ: 1043, ~: 1091)
278+
FixedPointMathLibTest:testSqrtBack(uint256) (runs: 256, μ: 16876, ~: 340)
279+
FixedPointMathLibTest:testSqrtBackHashed(uint256) (runs: 256, μ: 65176, ~: 65644)
280+
FixedPointMathLibTest:testSqrtBackHashedSingle() (gas: 65128)
278281
LibStringTest:testDifferentiallyFuzzToString(uint256,bytes) (runs: 256, μ: 21006, ~: 9531)
279282
LibStringTest:testToString() (gas: 10047)
280283
LibStringTest:testToStringDirty() (gas: 8123)

src/test/FixedPointMathLib.t.sol

+18
Original file line numberDiff line numberDiff line change
@@ -274,4 +274,22 @@ contract FixedPointMathLibTest is DSTestPlus {
274274

275275
assertTrue(root * root <= x && next * next > x);
276276
}
277+
278+
function testSqrtBack(uint256 x) public {
279+
unchecked {
280+
x >>= 128;
281+
while (x != 0) {
282+
assertEq(FixedPointMathLib.sqrt(x * x), x);
283+
x >>= 1;
284+
}
285+
}
286+
}
287+
288+
function testSqrtBackHashed(uint256 x) public {
289+
testSqrtBack(uint256(keccak256(abi.encode(x))));
290+
}
291+
292+
function testSqrtBackHashedSingle() public {
293+
testSqrtBackHashed(123);
294+
}
277295
}

0 commit comments

Comments
 (0)