I'm trying to execute some unit tests on a very basic smart contract to store and retrieve a number using the Remix IDE.
Smart Contract:
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
These are the unit tests:
pragma solidity >=0.7.0 <0.9.0;
import "remix_tests.sol"; // this import is automatically injected by Remix.
import "../contracts/1_Storage.sol";
contract StorageTest {
Storage storageToTest;
uint256 number;
function beforeAll () public {
number = 20;
storageToTest = new Storage();
}
function test9 () public {
storageToTest.store(number);
//AssertEqual(20,20);
AssertEqual(storageToTest.retrieve(), uint256(20), "retreive equal");
}
}
I keep getting the error Undeclared identifier on the AssertEqual line. Any ideas ?