A deep dissimilarity spotting assertion... |
notSimilarTo( actual, unexpected, message ); |
Parameter | Type | Mandatory | Notes | API Version |
---|---|---|---|---|
actual | Variant | An object containing the actual values. | 1.3 | |
unexpected | Variant | An object containing what you don't expect to find in the actual object. | 1.3 | |
message | String | A message stating what the assertion is testing. | 1.3 |
Value | Type | Notes | API Version |
---|---|---|---|
<error> | Error | Most likely the parameters are wrong. | 1.3 |
true | Boolean | The actual value did not contain anything unexpected. | 1.3 |
false | Boolean | The actual value contained unexpected things. | 1.3 |
Unlike notDeepEqual( ), notSimilarTo( ) only investigates enumerable properties in the expected object.
Property values in the expected object have the following effects:
Expected Value | Notes | API Version |
---|---|---|
null | See Test.FOUND below. | 1.3 |
Test.FOUND | The assertion will fail if a property of the same name is found in the same place in the actual object. | 1.4 |
undefined | See Test.NOT_FOUND below. | 1.4 |
Test.NOT_FOUND | The assertion will fail if a property of the same name is not found in the same place in the actual object. | 1.4 |
Any other value | The assertion will fail if a property of the same name and value is found in the same place in the actual object. | 1.3 |
Properties in the actual value that aren't listed in the unexpected value are ignored.
The checks will go to a maximum of 10 levels deep.
Test("Dissimilarity checks", Test.ANY( ), function() { // assertions will pass notSimilarTo( {a:1, c:3}, {b:Test.FOUND}, "not actual.b found?" ); notSimilarTo( {a:1, c:3}, {a:Test.NOT_FOUND}, "not actual.a not found?" ); notSimilarTo( {a:1, c:3}, {a:2}, "not actual.a == 2?" ); // assertion will fail notSimilarTo( {a:1, c:3}, {a:Test.FOUND}, "not actual.a found?" ); notSimilarTo( {a:1, c:3}, {b:Test.NOT_FOUND}, "not actual.b not found?" ); notSimilarTo( {a:1, c:3}, {a:1}, "not actual.a == 1?" ); }); |