TestOwnable.sol 834 B

12345678910111213141516171819202122232425
  1. pragma solidity ^0.4.4;
  2. import "truffle/Assert.sol";
  3. import "truffle/DeployedAddresses.sol";
  4. import "../contracts/Ownable.sol";
  5. contract TestOwnable {
  6. Ownable ownable = new Ownable();
  7. function testHasOwner() {
  8. Assert.isNotZero(ownable.owner(), "Ownable should have an owner upon creation.");
  9. }
  10. function testChangesOwner() {
  11. address originalOwner = ownable.owner();
  12. ownable.transfer(0x0);
  13. Assert.notEqual(originalOwner, ownable.owner(), "Ownable should change owners after transfer.");
  14. }
  15. function testOnlyOwnerCanChangeOwner() {
  16. Ownable deployedOwnable = Ownable(DeployedAddresses.Ownable());
  17. address originalOwner = deployedOwnable.owner();
  18. deployedOwnable.transfer(0x0);
  19. Assert.equal(originalOwner, deployedOwnable.owner(), "Ownable should prevent non-owners from transfering");
  20. }
  21. }