Asserts that the target has the same members in the same order as the expected value. Uses deep equality for comparison. Both the target and expected values must conform to ArrayLikeOrSizedIterable but can be different concrete types. Note: Sets maintain insertion order, so the order of elements matters.
The assert scope.
The expected collection to compare against (must be an ArrayLikeOrSizedIterable).
OptionalevalMsg: MsgSource
The message to display if the assertion fails.
import { assert } from "@nevware21/tripwire";
assert([{a: 1}, {b: 2}]).has.deep.sameOrderedMembers([{a: 1}, {b: 2}]); // Passes - deep equality
assert([[1, 2], [3, 4]]).has.deep.sameOrderedMembers([[1, 2], [3, 4]]); // Passes - nested arrays
assert([{a: 1}, {b: 2}]).has.deep.sameOrderedMembers([{b: 2}, {a: 1}]); // Fails - different order
assert(new Set([{a: 1}])).has.deep.sameOrderedMembers([{a: 1}]); // Passes - different types
Export assertion functions