bool for equal and notEqual done

pull/5370/head
aniket-engg 5 years ago committed by Aniket
parent 417a211633
commit 62a3bd9d2a
  1. 11
      libs/remix-tests/sol/tests.sol.ts
  2. 4
      libs/remix-tests/src/assertionEvents.ts
  3. 8
      libs/remix-tests/tests/examples_0/assert_equal_test.sol
  4. 9
      libs/remix-tests/tests/examples_0/assert_notEqual_test.sol
  5. 25
      libs/remix-tests/tests/testRunner.spec.ts

@ -22,6 +22,13 @@ library Assert {
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
bool returned,
bool expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message);
@ -39,7 +46,7 @@ library Assert {
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEvent(result, message);
emit AssertionEventBool(result, message, a, b);
}
// TODO: only for certain versions of solc
@ -81,7 +88,7 @@ library Assert {
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEvent(result, message);
emit AssertionEventBool(result, message, a, b);
}
// TODO: only for certain versions of solc

@ -10,6 +10,10 @@ const assertionEvents = [
{
name: 'AssertionEventInt',
params: ['bool', 'string', 'int256', 'int256']
},
{
name: 'AssertionEventBool',
params: ['bool', 'string', 'bool', 'bool']
}
]

@ -17,4 +17,12 @@ contract AssertEqualTest {
function equalIntFailTest() public {
Assert.equal(-1, 2, "equalIntFailTest fails");
}
function equalBoolPassTest() public {
Assert.equal(true, true, "equalBoolPassTest passes");
}
function equalBoolFailTest() public {
Assert.equal(true, false, "equalBoolFailTest fails");
}
}

@ -9,6 +9,7 @@ contract AssertNotEqualTest {
function notEqualUintFailTest() public {
Assert.notEqual(uint(1), uint(1), "notEqualUintFailTest fails");
}
function notEqualIntPassTest() public {
Assert.notEqual(1, -1, "notEqualIntPassTest passes");
}
@ -16,4 +17,12 @@ contract AssertNotEqualTest {
function notEqualIntFailTest() public {
Assert.notEqual(-2, -2, "notEqualIntFailTest fails");
}
function notEqualBoolPassTest() public {
Assert.notEqual(true, false, "notEqualBoolPassTest passes");
}
function notEqualBoolFailTest() public {
Assert.notEqual(true, true, "notEqualBoolFailTest fails");
}
}

@ -76,6 +76,7 @@ async function compileAndDeploy(filename: string, callback: Function) {
})
}
// Use `export NODE_OPTIONS="--max-old-space-size=2048"` if there is a JavaScript heap out of memory issue
describe('testRunner', () => {
let tests: any[] = [], results: ResultsInterface;
@ -142,12 +143,12 @@ describe('testRunner', () => {
afterAll(() => { tests = [] })
it('should have 2 passing test', () => {
assert.equal(results.passingNum, 2)
it('should have 3 passing test', () => {
assert.equal(results.passingNum, 3)
})
it('should have 2 failing test', () => {
assert.equal(results.failureNum, 2)
it('should have 3 failing test', () => {
assert.equal(results.failureNum, 3)
})
it('should return', () => {
@ -157,7 +158,9 @@ describe('testRunner', () => {
{ type: 'testPass', value: 'Equal uint pass test', context: 'AssertEqualTest' },
{ type: 'testFailure', value: 'Equal uint fail test', errMsg: 'equalUintFailTest fails', context: 'AssertEqualTest', expected: '2', returned: '1'},
{ type: 'testPass', value: 'Equal int pass test', context: 'AssertEqualTest' },
{ type: 'testFailure', value: 'Equal int fail test', errMsg: 'equalIntFailTest fails', context: 'AssertEqualTest', expected: '2', returned: '-1'}
{ type: 'testFailure', value: 'Equal int fail test', errMsg: 'equalIntFailTest fails', context: 'AssertEqualTest', expected: '2', returned: '-1'},
{ type: 'testPass', value: 'Equal bool pass test', context: 'AssertEqualTest' },
{ type: 'testFailure', value: 'Equal bool fail test', errMsg: 'equalBoolFailTest fails', context: 'AssertEqualTest', expected: false, returned: true}
], ['time'])
})
})
@ -173,12 +176,12 @@ describe('testRunner', () => {
afterAll(() => { tests = [] })
it('should have 2 passing test', () => {
assert.equal(results.passingNum, 2)
it('should have 3 passing test', () => {
assert.equal(results.passingNum, 3)
})
it('should have 2 failing test', () => {
assert.equal(results.failureNum, 2)
it('should have 3 failing test', () => {
assert.equal(results.failureNum, 3)
})
it('should return', () => {
@ -188,7 +191,9 @@ describe('testRunner', () => {
{ type: 'testPass', value: 'Not equal uint pass test', context: 'AssertNotEqualTest' },
{ type: 'testFailure', value: 'Not equal uint fail test', errMsg: 'notEqualUintFailTest fails', context: 'AssertNotEqualTest', expected: '1', returned: '1'},
{ type: 'testPass', value: 'Not equal int pass test', context: 'AssertNotEqualTest' },
{ type: 'testFailure', value: 'Not equal int fail test', errMsg: 'notEqualIntFailTest fails', context: 'AssertNotEqualTest', expected: '-2', returned: '-2'}
{ type: 'testFailure', value: 'Not equal int fail test', errMsg: 'notEqualIntFailTest fails', context: 'AssertNotEqualTest', expected: '-2', returned: '-2'},
{ type: 'testPass', value: 'Not equal bool pass test', context: 'AssertNotEqualTest' },
{ type: 'testFailure', value: 'Not equal bool fail test', errMsg: 'notEqualBoolFailTest fails', context: 'AssertNotEqualTest', expected: true, returned: true}
], ['time'])
})
})

Loading…
Cancel
Save