From 2e950d239061d44bc6f8f4eaaaea4355297567a6 Mon Sep 17 00:00:00 2001 From: 0mkar <0mkar@protonmail.com> Date: Sat, 1 Sep 2018 16:24:33 +0530 Subject: [PATCH] rename to number test. Add 2^3 = 8 combinations of uint & int tests. --- remix-tests/sol/tests.sol.js | 23 +++++++++++-- remix-tests/tests/integer/integer_test.sol | 15 --------- remix-tests/tests/number/number_test.sol | 38 ++++++++++++++++++++++ remix-tests/tests/testRunner.js | 10 +++--- 4 files changed, 64 insertions(+), 22 deletions(-) delete mode 100644 remix-tests/tests/integer/integer_test.sol create mode 100644 remix-tests/tests/number/number_test.sol diff --git a/remix-tests/sol/tests.sol.js b/remix-tests/sol/tests.sol.js index 23dceef449..ac0c98978a 100644 --- a/remix-tests/sol/tests.sol.js +++ b/remix-tests/sol/tests.sol.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); + } } ` diff --git a/remix-tests/tests/integer/integer_test.sol b/remix-tests/tests/integer/integer_test.sol deleted file mode 100644 index 51df2af8bf..0000000000 --- a/remix-tests/tests/integer/integer_test.sol +++ /dev/null @@ -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"); - } -} diff --git a/remix-tests/tests/number/number_test.sol b/remix-tests/tests/number/number_test.sol new file mode 100644 index 0000000000..9098490215 --- /dev/null +++ b/remix-tests/tests/number/number_test.sol @@ -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"); + } +} diff --git a/remix-tests/tests/testRunner.js b/remix-tests/tests/testRunner.js index 3c9b7950a0..ccdd0c84b7 100644 --- a/remix-tests/tests/testRunner.js +++ b/remix-tests/tests/testRunner.js @@ -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) }) }) })