Iterables
.toBeIterableOf(expected)
Also available as an asymmetric matcher, expect.iterableOf(expected)
.
Use .toBeIterableOf
to assert that a value is an iterable where each item matches the expected
value, using deep equality.
.toBeStrictIterableOf(expected)
and expect.strictIterableOf(expected)
are also available to use strict deep equality.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable of the expected values", () => { expect(array).toBeIterableOf(expect.any(Number)); expect(set).toBeIterableOf(expect.any(Number)); });
Tests
.toBeSequence(...sequence)
Also available as an asymmetric matcher, expect.sequenceMatching(...sequence)
.
Use .toBeSequence
to assert that a value is an iterable with the exact sequence of values, using reference equality.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable with the exact sequence of values", () => { expect(array).toBeSequence(1, 1, 2, 3); expect(set).toBeSequence(1, 2, 3); });
Tests
.toEqualSequence(...sequence)
Also available as an asymmetric matcher, expect.sequenceOf(...sequence)
.
Use .toEqualSequence
to assert that a value is an iterable with the exact sequence of values.
.toStrictEqualSequence(...sequence)
and expect.strictSequenceOf(...sequence)
are also available to use strict deep equality.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable with the exact sequence of values", () => { expect(array).toEqualSequence(1, 1, 2, 3); expect(set).toEqualSequence(1, 2, 3); });
Tests
.toSatisfySequence(...predicates)
Also available as an asymmetric matcher, expect.sequence(...predicates)
.
Use .toSatisfySequence
to assert that a value is an iterable where each item satisfies the corresponding predicate.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable where each item satisfies the corresponding predicate", () => { expect(array).toSatisfySequence( (value) => value === 1, (value) => value === 1, (value) => value === 2, (value) => value === 3 ); expect(set).toSatisfySequence( (value) => value === 1, (value) => value === 2, (value) => value === 3 ); });
Tests
.toContainSequence(...sequence)
Also available as an asymmetric matcher, expect.containingSequence(...sequence)
.
Use .toContainSequence
to assert that a value is an iterable that contains the expected sequence of values, using reference equality.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable that contains the exact sequence of values", () => { expect(array).toContainSequence(1, 2); expect(set).toContainSequence(1, 2); });
Tests
.toContainEqualSequence(...sequence)
Also available as an asymmetric matcher, expect.containingEqualSequence(...sequence)
.
Use .toContainEqualSequence
to assert that a value is an iterable that contains the expected sequence of values, using deep equality.
.toContainStrictEqualSequence(...sequence)
and expect.containingStrictEqualSequence(...sequence)
are also available to use strict deep equality.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable that contains the exact sequence of values", () => { expect(array).toContainEqualSequence(1, 2); expect(set).toContainEqualSequence(1, 2); });
Tests
.toContainSequenceSatisfying(...predicates)
Also available as an asymmetric matcher, expect.containingSequenceSatisfying(...predicates)
.
Use .toContainSequenceSatisfying
to assert that a value is an iterable that contains the expected sequence of values, where each item satisfies the corresponding predicate.
const array = [1, 1, 2, 3]; const set = new Set(array); it("is an iterable that contains the exact sequence of values", () => { expect(array).toContainSequenceSatisfying( (value) => value === 1, (value) => value === 2 ); expect(set).toContainSequenceSatisfying( (value) => value === 1, (value) => value === 2 ); });
Tests