rename to number test. Add 2^3 = 8 combinations of uint & int tests.

pull/7/head
0mkar 6 years ago
parent 555647c7a6
commit 2e950d2390
  1. 23
      remix-tests/sol/tests.sol.js
  2. 15
      remix-tests/tests/integer/integer_test.sol
  3. 38
      remix-tests/tests/number/number_test.sol
  4. 10
      remix-tests/tests/testRunner.js

@ -110,7 +110,7 @@ library Assert {
// TODO: safely compare between uint and int
function greaterThan(uint a, int b, string message) public constant returns (bool result) {
if(b < int(0)) {
// int is negative a always greater
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
@ -119,7 +119,7 @@ library Assert {
}
function greaterThan(int a, uint b, string message) public constant returns (bool result) {
if(a < int(0)) {
// int is negative a always greater
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
@ -137,5 +137,24 @@ library Assert {
emit AssertionEvent(result, message);
}
// TODO: safely compare between uint and int
function lesserThan(uint a, int b, string message) public constant 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);
}
function lesserThan(int a, uint b, string message) public constant 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);
}
}
`

@ -1,15 +0,0 @@
pragma solidity ^0.4.24;
contract IntegerTest {
function _2_shouldBeGreaterThan_1() public constant returns (bool) {
return Assert.greaterThan(uint(2), uint(1), "2 is not greater than 1");
}
function _2_shouldBeGreaterThan_neg_1() public constant returns (bool) {
return Assert.greaterThan(uint(2), int(-1), "2 is not greater than -1");
}
function _neg_1_shouldNotBeGreaterThan_2() public constant returns (bool) {
return Assert.greaterThan(int(-1), uint(2), "-1 is not greater than 2");
}
}

@ -0,0 +1,38 @@
pragma solidity ^0.4.24;
contract IntegerTest {
// GREATER THAN [>] tests
function _2_shouldBeGreaterThan_1() public constant returns (bool) {
return Assert.greaterThan(uint(2), uint(1), "2 is greater than 1");
}
function _0_shouldBeGreaterThan_neg_1() public constant returns (bool) {
return Assert.greaterThan(uint(0), int(-1), "0 is greater than -1");
}
function _neg_1_shouldNotBeGreaterThan_1() public constant returns (bool) {
return Assert.greaterThan(int(-1), uint(1), "-1 is not greater than 1");
}
function _1_shouldBeGreaterThan_neg_1() public constant returns (bool) {
return Assert.greaterThan(uint(1), int(-1), "1 is greater than -1");
}
// LESSER THAN [<] tests
function _1_shouldBeLesserThan_2() public constant returns (bool) {
return Assert.lesserThan(uint(1), uint(2), "1 is lesser than 2");
}
function _neg_1_shouldBeLesserThan_0() public constant returns (bool) {
return Assert.lesserThan(int(-1), uint(0), "-1 is lesser than 0");
}
function _neg_2_shouldBeLesserThan_neg_1() public constant returns (bool) {
return Assert.lesserThan(int(-2), int(-1), "-2 is lesser than -1");
}
function _0_shouldNotBeLesserThan_neg_1() public constant returns (bool) {
return Assert.lesserThan(uint(0), int(-1), "0 is not lesser than -1");
}
}

@ -134,7 +134,7 @@ describe('testRunner', function () {
// Test signed/unsigned integer weight
describe('test number weight', function () {
let filename = 'tests/integer/integer_test.sol'
let filename = 'tests/number/number_test.sol'
let tests = [], results = {}
before(function (done) {
@ -150,11 +150,11 @@ describe('testRunner', function () {
})
})
it('should have 2 passing tests', function () {
assert.equal(results.passingNum, 2)
it('should have 6 passing tests', function () {
assert.equal(results.passingNum, 6)
})
it('should have 1 failing tests', function () {
assert.equal(results.failureNum, 1)
it('should have 2 failing tests', function () {
assert.equal(results.failureNum, 2)
})
})
})

Loading…
Cancel
Save