ava icon indicating copy to clipboard operation
ava copied to clipboard

Add `t.unorderedEqual()` assertion

Open tommy-mitchell opened this issue 1 year ago • 3 comments

Closes #3020

Adds a new assertion for testing equality in an unordered manner between two Maps or two Sets/Arrays:

test('unorderedEqual', t => {
	t.unorderedEqual([1, 2, 3], new Set([2, 3, 1]));

	t.unorderedEqual(
		new Map([['a', 1], ['b', 2], ['c', 3]]),
		new Map([['b', 2], ['c', 3], ['a', 1]]),
		'Map keys should be equal!',
	);
});

Todos:

  • Improve error messages, format values with concordance
  • Improve types (e.g. Actual extends Map | Set | Array)
    • Add type tests
  • Fix failing tests

tommy-mitchell avatar Aug 15 '23 23:08 tommy-mitchell

Please re-open if you have a chance to return to this.

novemberborn avatar Jan 29 '24 21:01 novemberborn

@novemberborn I don't think I can reopen by myself.

tommy-mitchell avatar Feb 27 '24 02:02 tommy-mitchell

I don't think I can reopen by myself.

@tommy-mitchell done!

novemberborn avatar Feb 27 '24 20:02 novemberborn