// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

import { expect } from "./expect.ts";
import { AssertionError, assertThrows } from "jsr:@std/assert@^0.215.0";

Deno.test("expect().toContainEqual()", () => {
  const arr = [{ foo: 42 }, { bar: 43 }, { baz: 44 }];
  expect(arr).toContainEqual({ bar: 43 });

  expect(arr).not.toContainEqual({ bar: 42 });

  assertThrows(() => {
    expect(arr).toContainEqual({ bar: 42 });
  }, AssertionError);

  assertThrows(() => {
    expect(arr).not.toContainEqual({ bar: 43 });
  }, AssertionError);
});
