A deep dissimilarity spotting assertion...

 

Syntax

notSimilarTo( actual, unexpected, message );

Parameters

ParameterTypeMandatoryNotesAPI Version
actualVariant(tick)An object containing the actual values.1.3
unexpectedVariant(tick)An object containing what you don't expect to find in the actual object.1.3
messageString(tick)A message stating what the assertion is testing.1.3

Return Values

ValueTypeNotesAPI Version
<error>ErrorMost likely the parameters are wrong.1.3
trueBooleanThe actual value did not contain anything unexpected.1.3
falseBooleanThe actual value contained unexpected things.1.3

Notes

Unlike notDeepEqual( ), notSimilarTo( ) only investigates enumerable properties in the expected object.

Property values in the expected object have the following effects:

Expected ValueNotesAPI Version
nullSee Test.FOUND below.1.3
Test.FOUNDThe assertion will fail if a property of the same name is found in the same place in the actual object.1.4
undefinedSee Test.NOT_FOUND below.1.4
Test.NOT_FOUNDThe 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 valueThe 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.

Example

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?" );
});
Availability

Requires:

Contents

Jump to:

Test API

Topics: