pragma solidity 0.8.26;
import {Test} from "lib/forge-std/src/Test.sol";
import {console} from "lib/forge-std/src/console.sol";
import {InheritanceManager} from "src/InheritanceManager.sol";
contract InheritanceManagerTest is Test {
InheritanceManager public inheritanceManager;
address public owner;
address public beneficiary;
address public randomUser;
mapping(address => string) private name;
function getName( address addr ) private view returns ( string memory ) {
return name[addr];
}
function test________() public {
owner = makeAddr("owner");
beneficiary = makeAddr("beneficiary");
randomUser = makeAddr("randomUser");
name[ owner ] = "owner";
name[ beneficiary ] = "beneficiary";
name[ randomUser ] = "randomUser";
vm.prank(owner);
inheritanceManager = new InheritanceManager();
vm.prank(owner);
inheritanceManager.addBeneficiery(beneficiary);
vm.warp(block.timestamp + 90 days);
READ____InheritanceManager____owner();
vm.prank(randomUser);
inheritanceManager.inherit();
READ____InheritanceManager____owner();
}
function READ____InheritanceManager____owner() private view {
console.log( "" );
console.log( string( abi.encodePacked(
"========== " , " InheritanceManager :: owner " , " =========="
) ) );
console.log( "" );
console.log( "" );
console.log(
getName( inheritanceManager.getOwner() )
);
console.log( "" );
console.log( "" );
console.log( "======================================================================================" );
console.log( "" );
}
}