Commit 13480178 authored by aniket-engg's avatar aniket-engg Committed by Aniket

int uint for greater and lesser than

parent 8161e210
...@@ -53,8 +53,15 @@ library Assert { ...@@ -53,8 +53,15 @@ library Assert {
event AssertionEventUintInt( event AssertionEventUintInt(
bool passed, bool passed,
string message, string message,
uint returned, uint256 returned,
int expected int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
int256 returned,
uint256 expected
); );
function ok(bool a, string memory message) public returns (bool result) { function ok(bool a, string memory message) public returns (bool result) {
...@@ -166,14 +173,14 @@ library Assert { ...@@ -166,14 +173,14 @@ library Assert {
} }
emit AssertionEventUintInt(result, message, a, b); emit AssertionEventUintInt(result, message, a, b);
} }
function greaterThan(int a, uint b, string memory message) public returns (bool result) { function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) { if(a < int(0)) {
// int is negative uint "b" always greater // int is negative uint "b" always greater
result = false; result = false;
} else { } else {
result = (uint(a) > b); result = (uint(a) > b);
} }
emit AssertionEvent(result, message); emit AssertionEventIntUint(result, message, a, b);
} }
/*----------------- Lesser than --------------------*/ /*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) { function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
...@@ -196,14 +203,14 @@ library Assert { ...@@ -196,14 +203,14 @@ library Assert {
emit AssertionEventUintInt(result, message, a, b); emit AssertionEventUintInt(result, message, a, b);
} }
function lesserThan(int a, uint b, string memory message) public returns (bool result) { function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) { if(a < int(0)) {
// int is negative int "a" always lesser // int is negative int "a" always lesser
result = true; result = true;
} else { } else {
result = (uint(a) < b); result = (uint(a) < b);
} }
emit AssertionEvent(result, message); emit AssertionEventIntUint(result, message, a, b);
} }
} }
` `
...@@ -30,6 +30,10 @@ const assertionEvents = [ ...@@ -30,6 +30,10 @@ const assertionEvents = [
{ {
name: 'AssertionEventUintInt', name: 'AssertionEventUintInt',
params: ['bool', 'string', 'uint256', 'int256'] params: ['bool', 'string', 'uint256', 'int256']
},
{
name: 'AssertionEventIntUint',
params: ['bool', 'string', 'int256', 'uint256']
} }
] ]
......
...@@ -25,4 +25,12 @@ contract AssertGreaterThanTest { ...@@ -25,4 +25,12 @@ contract AssertGreaterThanTest {
function greaterThanUintIntFailTest() public { function greaterThanUintIntFailTest() public {
Assert.greaterThan(uint(1), int(2), "greaterThanUintIntFailTest fails"); Assert.greaterThan(uint(1), int(2), "greaterThanUintIntFailTest fails");
} }
function greaterThanIntUintPassTest() public {
Assert.greaterThan(int(10), uint(2), "greaterThanIntUintPassTest passes");
}
function greaterThanIntUintFailTest() public {
Assert.greaterThan(int(100), uint(-100), "greaterThanIntUintFailTest fails");
}
} }
\ No newline at end of file
...@@ -25,4 +25,12 @@ contract AssertLesserThanTest { ...@@ -25,4 +25,12 @@ contract AssertLesserThanTest {
function lesserThanUintIntFailTest() public { function lesserThanUintIntFailTest() public {
Assert.lesserThan(uint(-1), int(-1), "lesserThanUintIntFailTest fails"); Assert.lesserThan(uint(-1), int(-1), "lesserThanUintIntFailTest fails");
} }
function lesserThanIntUintPassTest() public {
Assert.lesserThan(int(100), uint(-50), "lesserThanIntUintPassTest passes");
}
function lesserThanIntUintFailTest() public {
Assert.lesserThan(int(1), uint(1), "lesserThanIntUintFailTest fails");
}
} }
\ No newline at end of file
...@@ -221,12 +221,12 @@ describe('testRunner', () => { ...@@ -221,12 +221,12 @@ describe('testRunner', () => {
afterAll(() => { tests = [] }) afterAll(() => { tests = [] })
it('should have 3 passing test', () => { it('should have 4 passing test', () => {
assert.equal(results.passingNum, 3) assert.equal(results.passingNum, 4)
}) })
it('should have 3 failing test', () => { it('should have 4 failing test', () => {
assert.equal(results.failureNum, 3) assert.equal(results.failureNum, 4)
}) })
it('should return', () => { it('should return', () => {
deepEqualExcluding(tests, [ deepEqualExcluding(tests, [
...@@ -237,7 +237,9 @@ describe('testRunner', () => { ...@@ -237,7 +237,9 @@ describe('testRunner', () => {
{ type: 'testPass', value: 'Greater than int pass test', context: 'AssertGreaterThanTest' }, { type: 'testPass', value: 'Greater than int pass test', context: 'AssertGreaterThanTest' },
{ type: 'testFailure', value: 'Greater than int fail test', errMsg: 'greaterThanIntFailTest fails', context: 'AssertGreaterThanTest', expected: '1', returned: '-1'}, { type: 'testFailure', value: 'Greater than int fail test', errMsg: 'greaterThanIntFailTest fails', context: 'AssertGreaterThanTest', expected: '1', returned: '-1'},
{ type: 'testPass', value: 'Greater than uint int pass test', context: 'AssertGreaterThanTest' }, { type: 'testPass', value: 'Greater than uint int pass test', context: 'AssertGreaterThanTest' },
{ type: 'testFailure', value: 'Greater than uint int fail test', errMsg: 'greaterThanUintIntFailTest fails', context: 'AssertGreaterThanTest', expected: '2', returned: '1'} { type: 'testFailure', value: 'Greater than uint int fail test', errMsg: 'greaterThanUintIntFailTest fails', context: 'AssertGreaterThanTest', expected: '2', returned: '1'},
{ type: 'testPass', value: 'Greater than int uint pass test', context: 'AssertGreaterThanTest' },
{ type: 'testFailure', value: 'Greater than int uint fail test', errMsg: 'greaterThanIntUintFailTest fails', context: 'AssertGreaterThanTest', expected: '115792089237316195423570985008687907853269984665640564039457584007913129639836', returned: '100'}
], ['time']) ], ['time'])
}) })
}) })
...@@ -253,12 +255,12 @@ describe('testRunner', () => { ...@@ -253,12 +255,12 @@ describe('testRunner', () => {
afterAll(() => { tests = [] }) afterAll(() => { tests = [] })
it('should have 3 passing test', () => { it('should have 4 passing test', () => {
assert.equal(results.passingNum, 3) assert.equal(results.passingNum, 4)
}) })
it('should have 3 failing test', () => { it('should have 4 failing test', () => {
assert.equal(results.failureNum, 3) assert.equal(results.failureNum, 4)
}) })
it('should return', () => { it('should return', () => {
...@@ -270,7 +272,9 @@ describe('testRunner', () => { ...@@ -270,7 +272,9 @@ describe('testRunner', () => {
{ type: 'testPass', value: 'Lesser than int pass test', context: 'AssertLesserThanTest' }, { type: 'testPass', value: 'Lesser than int pass test', context: 'AssertLesserThanTest' },
{ type: 'testFailure', value: 'Lesser than int fail test', errMsg: 'lesserThanIntFailTest fails', context: 'AssertLesserThanTest', expected: '-1', returned: '1'}, { type: 'testFailure', value: 'Lesser than int fail test', errMsg: 'lesserThanIntFailTest fails', context: 'AssertLesserThanTest', expected: '-1', returned: '1'},
{ type: 'testPass', value: 'Lesser than uint int pass test', context: 'AssertLesserThanTest' }, { type: 'testPass', value: 'Lesser than uint int pass test', context: 'AssertLesserThanTest' },
{ type: 'testFailure', value: 'Lesser than uint int fail test', errMsg: 'lesserThanUintIntFailTest fails', context: 'AssertLesserThanTest', expected: '-1', returned: '115792089237316195423570985008687907853269984665640564039457584007913129639935'} { type: 'testFailure', value: 'Lesser than uint int fail test', errMsg: 'lesserThanUintIntFailTest fails', context: 'AssertLesserThanTest', expected: '-1', returned: '115792089237316195423570985008687907853269984665640564039457584007913129639935'},
{ type: 'testPass', value: 'Lesser than int uint pass test', context: 'AssertLesserThanTest' },
{ type: 'testFailure', value: 'Lesser than int uint fail test', errMsg: 'lesserThanIntUintFailTest fails', context: 'AssertLesserThanTest', expected: '1', returned: '1'},
], ['time']) ], ['time'])
}) })
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment