add claimtokens test

This commit is contained in:
Ricardo Guilherme Schmidt
2023-09-26 02:41:52 -03:00
parent 18827999ec
commit 86a889ab1c
3 changed files with 83 additions and 9 deletions

View File

@@ -5,21 +5,22 @@
| Function Name | min | avg | median | max | # calls |
| allowance | 0 | 269 | 0 | 808 | 3 |
| approve | 30781 | 31244 | 31244 | 31708 | 2 |
| balanceOf | 0 | 393 | 0 | 2753 | 25 |
| balanceOf | 0 | 415 | 0 | 2753 | 35 |
| balanceOfAt | 0 | 90 | 0 | 2363 | 26 |
| changeController | 0 | 1014 | 758 | 3558 | 5 |
| controller | 0 | 0 | 0 | 0 | 6 |
| claimTokens | 9537 | 41277 | 57148 | 57148 | 3 |
| controller | 0 | 0 | 0 | 0 | 7 |
| createCloneToken | 0 | 916398 | 916398 | 1832796 | 2 |
| decimals | 0 | 0 | 0 | 0 | 6 |
| decimals | 0 | 0 | 0 | 0 | 7 |
| destroyTokens | 8956 | 8956 | 8956 | 8956 | 1 |
| generateTokens | 0 | 13676 | 0 | 95751 | 21 |
| name | 0 | 0 | 0 | 0 | 6 |
| parentSnapShotBlock | 0 | 0 | 0 | 0 | 7 |
| parentToken | 0 | 0 | 0 | 0 | 7 |
| symbol | 0 | 0 | 0 | 0 | 6 |
| generateTokens | 0 | 12486 | 0 | 95751 | 23 |
| name | 0 | 0 | 0 | 0 | 7 |
| parentSnapShotBlock | 0 | 0 | 0 | 0 | 8 |
| parentToken | 0 | 0 | 0 | 0 | 8 |
| symbol | 0 | 0 | 0 | 0 | 7 |
| totalSupply | 0 | 273 | 0 | 1911 | 7 |
| totalSupplyAt | 0 | 285 | 0 | 1995 | 7 |
| transfer | 9785 | 47444 | 55381 | 75187 | 10 |
| transfer | 9785 | 47934 | 53385 | 75187 | 12 |
| transferFrom | 0 | 23361 | 3495 | 66590 | 3 |

View File

@@ -1,5 +1,9 @@
AllowanceTest:testAllowance() (gas: 42674)
AllowanceTest:testDeployment() (gas: 26595)
ClaimTokensTest:testClaimERC20() (gas: 63734)
ClaimTokensTest:testClaimETH() (gas: 13637)
ClaimTokensTest:testClaimSelf() (gas: 61216)
ClaimTokensTest:testDeployment() (gas: 26595)
CreateCloneTokenTest:testCreateCloneToken() (gas: 1837160)
CreateCloneTokenTest:testDeployment() (gas: 26550)
CreateCloneTokenTest:testGenerateTokens() (gas: 102022)

View File

@@ -351,3 +351,72 @@ contract CreateCloneTokenTest is MiniMeTokenTest {
assertEq(clone.totalSupply(), 15, "total supply should be correct");
}
}
contract ClaimTokensTest is MiniMeTokenTest {
function setUp() public virtual override {
MiniMeTokenTest.setUp();
}
function testClaimERC20() public {
vm.pauseGasMetering();
vm.startPrank(deployer);
MiniMeToken claimTest = new MiniMeToken(
minimeTokenFactory,
MiniMeToken(payable(address(0))),
0,
"TestClaim",
18,
"TST",
true
);
claimTest.generateTokens(address(minimeToken), 1234);
assertEq(claimTest.balanceOf(address(minimeToken)), 1234, "claimTest minimeToken balance should be correct");
assertEq(claimTest.balanceOf(address(deployer)), 0, "claimTest deployer balance should be correct");
vm.resumeGasMetering();
minimeToken.claimTokens(claimTest);
vm.pauseGasMetering();
vm.stopPrank();
assertEq(claimTest.balanceOf(address(minimeToken)), 0, "claimTest minimeToken balance should be correct");
assertEq(claimTest.balanceOf(address(deployer)), 1234, "claimTest deployer balance should be correct");
vm.resumeGasMetering();
}
function testClaimETH() public {
vm.pauseGasMetering();
vm.startPrank(deployer);
vm.deal(address(minimeToken), 1234);
assertEq(address(minimeToken).balance, 1234, "minimeToken balance should be correct");
assertEq(address(deployer).balance, 0, "deployer balance should be correct");
vm.resumeGasMetering();
minimeToken.claimTokens(MiniMeToken(payable(address(0))));
vm.pauseGasMetering();
assertEq(address(minimeToken).balance, 0, "minimeToken balance should be correct");
assertEq(address(deployer).balance, 1234, "deployer balance should be correct");
vm.stopPrank();
vm.resumeGasMetering();
}
function testClaimSelf() public {
vm.pauseGasMetering();
vm.startPrank(deployer);
minimeToken.generateTokens(address(minimeToken), 1234);
assertEq(minimeToken.balanceOf(address(minimeToken)), 1234, "minimeToken minimeToken balance should be 1234");
assertEq(minimeToken.balanceOf(address(deployer)), 0, "minimeToken deployer balance should be 0");
vm.resumeGasMetering();
minimeToken.claimTokens(minimeToken);
vm.pauseGasMetering();
assertEq(minimeToken.balanceOf(address(minimeToken)), 0, "minimeToken minimeToken balance should be 0");
assertEq(minimeToken.balanceOf(address(deployer)), 1234, "minimeToken deployer balance should be 1234");
vm.stopPrank();
vm.resumeGasMetering();
}
}