(info) This AI is still in early stages of development.

notSimilarTo( )

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 BETA

Requires:

Contents

Jump to:

Test API

Topics:

  • Test()Define a unit test and it's configuration...
  • Test ModulesA test module groups one or more unit tests and provides additional lifecycle settings for those tests...
  • Test ModesDefines the mode in which a unit test is run...
    • Test.ANY( )The most basic unit test mode...
    • Test.EXPECT( )Causes the test to fail if it does not generate the specified number of results...
    • Test.ASYNCH( )Causes a test to keep running until it either passes, fails or times-out...
    • Test.APPEND( )Appends results to a specific asynchronous test session...
  • Unit TestsThe unit test function, responsible for performing one or more Test Assertions...
  • Test AssertionsAssertions are used to perform various tests and annotations within a unit test...
    • comment( )Adds a comment to the test results...
    • ok( )A simple state checking assertion...
    • hasNative( )Assert presence of a native property on the global object...
    • hasFunction( )Check if a context has a function property, optionally with specified number of formal parameters...
    • equal( )A basic equality checking assertion...
    • notEqual( )A basic inequality checking assertion...
    • strictEqual( )A strict equality checking assertion...
    • notStrictEqual( )A strict inequality checking assertion...
    • deepEqual( )A deep equality checking assertion...
    • notDeepEqual( )A deep inequality checking assertion...
    • similarTo( )A deep similarity checking assertion...
    • notSimilarTo( )A deep dissimilarity spotting assertion...
  • Test SignalsSignals are used to prematurely terminate Unit Tests...
    • REQUIRE( )Check whether a test or group of tests have passed. If the requirement fails, a RequireSignal will be sent which terminates the current test and marks it as failed.
    • ABORT( )Aborts the current test, marking it as failed in the process...
    • FINISH( )Terminates the test as if it had finished normally...
  • Test EventsEvents defined by Test API...
  • Test ResultsAfter testing is finished, output results...
  • Test API - Dev NotesDeveloper notes for this API...