deno.land / std@0.224.0 / collections / without_all_test.ts
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "../assert/mod.ts";import { withoutAll } from "./without_all.ts";
function withoutAllTest<I>( input: Array<I>, excluded: Array<I>, expected: Array<I>, message?: string,) { const actual = withoutAll(input, excluded); assertEquals(actual, expected, message);}
Deno.test({ name: "withoutAll() handles no mutation", fn() { const array = [1, 2, 3, 4]; withoutAll(array, [2, 3]); assertEquals(array, [1, 2, 3, 4]); },});
Deno.test({ name: "withoutAll() handles empty input", fn() { withoutAllTest([], [], []); },});
Deno.test({ name: "withoutAll() handles no matches", fn() { withoutAllTest([1, 2, 3, 4], [0, 7, 9], [1, 2, 3, 4]); },});
Deno.test({ name: "withoutAll() handles single match", fn() { withoutAllTest([1, 2, 3, 4], [1], [2, 3, 4]); withoutAllTest([1, 2, 3, 2], [2], [1, 3]); },});
Deno.test({ name: "withoutAll() handles multiple matches", fn() { withoutAllTest([1, 2, 3, 4, 6, 3], [1, 2], [3, 4, 6, 3]); withoutAllTest([7, 2, 9, 8, 7, 6, 5, 7], [7, 9], [2, 8, 6, 5]); },});
Deno.test({ name: "withoutAll() leaves duplicate elements", fn() { withoutAllTest( Array.from({ length: 110 }, () => 3), [1], Array.from({ length: 110 }, () => 3), ); },});
Version Info