remix-project mirror
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.
remix-project/remix-tests/sol/tests.sol.js

161 lines
4.8 KiB

module.exports = `
7 years ago
pragma solidity ^0.4.7;
library Assert {
event AssertionEvent(
bool passed,
string message
);
function ok(bool a, string message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message);
}
function equal(uint a, uint b, string message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
7 years ago
}
function equal(int a, int b, string message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
}
function equal(bool a, bool b, string message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
}
7 years ago
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
7 years ago
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
}
function equal(bytes32 a, bytes32 b, string message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
}
function equal(string a, string b, string message) public returns (bool result) {
result = (keccak256(a) == keccak256(b));
AssertionEvent(result, message);
}
function notEqual(uint a, uint b, string message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
}
function notEqual(int a, int b, string message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
}
function notEqual(bool a, bool b, string message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
}
function notEqual(bytes32 a, bytes32 b, string message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
}
function notEqual(string a, string b, string message) public returns (bool result) {
result = (keccak256(a) != keccak256(b));
AssertionEvent(result, message);
}
/*----------------- Greater than --------------------*/
6 years ago
function greaterThan(uint a, uint b, string message) public view returns (bool result) {
result = (a > b);
emit AssertionEvent(result, message);
}
6 years ago
function greaterThan(int a, int b, string message) public view returns (bool result) {
result = (a > b);
emit AssertionEvent(result, message);
}
// TODO: safely compare between uint and int
6 years ago
function greaterThan(uint a, int b, string message) public view returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEvent(result, message);
}
6 years ago
function greaterThan(int a, uint b, string message) public view returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEvent(result, message);
}
/*----------------- Lesser than --------------------*/
6 years ago
function lesserThan(uint a, uint b, string message) public view returns (bool result) {
result = (a < b);
emit AssertionEvent(result, message);
}
6 years ago
function lesserThan(int a, int b, string message) public view returns (bool result) {
result = (a < b);
emit AssertionEvent(result, message);
}
// TODO: safely compare between uint and int
6 years ago
function lesserThan(uint a, int b, string message) public view returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEvent(result, message);
}
6 years ago
function lesserThan(int a, uint b, string message) public view returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEvent(result, message);
}
7 years ago
}
7 years ago
`