diff --git a/test/TestOwnable.sol b/test/TestOwnable.sol new file mode 100644 index 000000000..4c50942ba --- /dev/null +++ b/test/TestOwnable.sol @@ -0,0 +1,24 @@ +import "truffle/Assert.sol"; +import "truffle/DeployedAddresses.sol"; +import "../contracts/Ownable.sol"; + +contract TestOwnable { + Ownable ownable = new Ownable(); + + function testHasOwner() { + Assert.isNotZero(ownable.owner(), "Ownable should have an owner upon creation."); + } + + function testChangesOwner() { + address originalOwner = ownable.owner(); + ownable.transfer(0x0); + Assert.notEqual(originalOwner, ownable.owner(), "Ownable should change owners after transfer."); + } + + function testOnlyOwnerCanChangeOwner() { + Ownable deployedOwnable = Ownable(DeployedAddresses.Ownable()); + address originalOwner = deployedOwnable.owner(); + deployedOwnable.transfer(0x0); + Assert.equal(originalOwner, deployedOwnable.owner(), "Ownable should prevent non-owners from transfering"); + } +}