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( "" );
    }
}