This AI is still in early stages of development.
similarTo( )
- Aubergine
Owned by Aubergine
A deep similarity checking assertion...
Syntax
similarTo( actual, expected, message );
Parameters
Parameter | Type | Mandatory | Notes | API Version |
---|---|---|---|---|
actual | Variant | An object containing the actual values. | 1.3 | |
expected | Variant | An object containing things you expect to find in the actual object. | 1.3 | |
message | String | A message stating what the assertion is testing. | 1.3 |
Return Values
Value | Type | Notes | API Version |
---|---|---|---|
<error> | Error | Most likely the parameters are wrong. | 1.3 |
true | Boolean | The actual object contained what was expected. | 1.3 |
false | Boolean | The actual object did not contain what was expected. | 1.3 |
Notes
Unlike deepEqual( ), similarTo( ) 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 pass 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 pass 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 pass 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}, {a:Test.FOUND}, "actual.a found?" ); notSimilarTo( {a:1, c:3}, {b:Test.NOT_FOUND}, "actual.b not found?" ); notSimilarTo( {a:1, c:3}, {a:1}, "actual.a == 1?" ); // assertion will fail notSimilarTo( {a:1, c:3}, {b:Test.FOUND}, "actual.b found?" ); notSimilarTo( {a:1, c:3}, {a:Test.NOT_FOUND}, "actual.a not found?" ); notSimilarTo( {a:1, c:3}, {a:2}, "actual.a == 2?" ); });
Contents
Jump to:
Test API
Topics:
- Test() — Define a unit test and it's configuration...
- Test Modules — A test module groups one or more unit tests and provides additional lifecycle settings for those tests...
- Test.module() — Allows multiple tests to be grouped together in to modules...
- Module Lifecycle Object — Configure the lifecycle of tests in the module...
- Test Modes — Defines 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 Tests — The unit test function, responsible for performing one or more Test Assertions...
- Test Assertions — Assertions 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 Signals — Signals 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 Events — Events defined by Test API...
- Test Results — After testing is finished, output results...
- Test API - Dev Notes — Developer notes for this API...
- Test API - possible future direction — Rough ideas for future development...