std/expect/_to_be_close_to_test.ts

30 lines
850 B
TypeScript
Raw Normal View History

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { expect } from "./expect.ts";
import { AssertionError, assertThrows } from "@std/assert";
Deno.test("expect().toBeCloseTo()", () => {
expect(0.2 + 0.1).toBeCloseTo(0.3);
expect(0.2 + 0.1).toBeCloseTo(0.3, 5);
expect(0.2 + 0.1).toBeCloseTo(0.3, 15);
expect(0.2 + 0.11).not.toBeCloseTo(0.3);
expect(0.2 + 0.1).not.toBeCloseTo(0.3, 16);
assertThrows(() => {
expect(0.2 + 0.11).toBeCloseTo(0.3);
}, AssertionError);
assertThrows(() => {
expect(0.2 + 0.1).not.toBeCloseTo(0.3);
});
});
Deno.test("expect().toBeCloseTo() throws error when the numDigits is smaller than 0", () => {
assertThrows(
() => expect(0.2 + 0.1).toBeCloseTo(0.3, -1),
Error,
"toBeCloseTo second argument must be a non-negative integer. Got -1",
);
});