mirror of https://github.com/hyperledger/besu
An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
pragma solidity ^0.4.17;
|
|
|
|
import "truffle/Assert.sol";
|
|
import "truffle/DeployedAddresses.sol";
|
|
import "../contracts/Adoption.sol";
|
|
|
|
contract TestAdoption {
|
|
Adoption adoption = Adoption(DeployedAddresses.Adoption());
|
|
// Testing the adopt() function
|
|
function testUserCanAdoptPet() public {
|
|
uint returnedId = adoption.adopt(8);
|
|
|
|
uint expected = 8;
|
|
|
|
Assert.equal(returnedId, expected, "Adoption of pet ID 8 should be recorded.");
|
|
}
|
|
|
|
// Testing retrieval of a single pet's owner
|
|
function testGetAdopterAddressByPetId() public {
|
|
// Expected owner is this contract
|
|
address expected = this;
|
|
|
|
address adopter = adoption.adopters(8);
|
|
|
|
Assert.equal(adopter, expected, "Owner of pet ID 8 should be recorded.");
|
|
}
|
|
|
|
// Testing retrieval of all pet owners
|
|
function testGetAdopterAddressByPetIdInArray() public {
|
|
// Expected owner is this contract
|
|
address expected = this;
|
|
|
|
// Store adopters in memory rather than contract's storage
|
|
address[16] memory adopters = adoption.getAdopters();
|
|
|
|
Assert.equal(adopters[8], expected, "Owner of pet ID 8 should be recorded.");
|
|
}
|
|
|
|
|
|
// Testing the unadopt() function
|
|
function testUserCanUnadoptPet() public {
|
|
uint returnedId = adoption.unadopt(8);
|
|
|
|
uint expected = 8;
|
|
|
|
Assert.equal(returnedId, expected, "Adoption of pet ID 8 should be recorded.");
|
|
|
|
// Store adopters in memory rather than contract's storage
|
|
address[16] memory adopters = adoption.getAdopters();
|
|
Assert.equal(adopters[8], 0, "owner should be reset after unadopt");
|
|
}
|
|
}
|
|
|