I am trying to create an assertion method that the objects in question contain only scalar values (i.e., simple values like strings or numbers). It is OK to use JSON.stringify().
Example PASSED:
var expected = {foo: 5, bar: 6};
var actual = {foo: 5, bar: 6}
objectAssert(actual, expected, 'detects that two objects are equal');
// console output:
// passed
Example FAILED:
var expected = {foo: 6, bar: 5};
var actual = {foo: 5, bar: 6}
objectAssert(actual, expected, 'detects that two objects are equal');
// console output:
// FAILED [my test] Expected {"foo":6,"bar":5}, but got {"foo":5,"bar":6}
Here's my function so far:
function objectAssert(actual, expected, testName) {
if(actual !== expected){
console.error( "FAIL [" + testName + "] Expected \"" + expected + ", \" but got \"" + actual + "\"");
} else {
console.info( "SUCCESS [" + testName + "]");
}
}
Any idea what am I missing here?