expect(0)->not->toBeCloseTo(0.01); }); it("passes if the difference is lower than the precision", function () { expect(0)->toBeCloseTo(0.01, 1); }); it("fails if the difference is higher than the precision", function () { expect(0)->not->toBeCloseTo(0.1, 1); }); it("passes if the difference with the round is lower than the default two decimal", function () { expect(1.23)->toBeCloseTo(1.225); expect(1.23)->toBeCloseTo(1.234); }); it("fails if the difference with the round is lower than the default two decimal", function () { expect(1.23)->not->toBeCloseTo(1.2249999); }); it("return false if actual or expected are not a numeric value", function () { expect("string")->not->toBeCloseTo(1); expect(1)->not->toBeCloseTo("string"); }); }); describe("::description()", function () { it("returns the description message", function () { ToBeCloseTo::match(1.23, 1.22499991, 2); $actual = ToBeCloseTo::description(); expect($actual['description'])->toBe('be close to expected relying to a precision of 2.'); expect((string) $actual['data']['actual'])->toBe((string) 1.23); expect((string) $actual['data']['expected'])->toBe((string) 1.22499991); expect((string) $actual['data']['gap is >='])->toBe((string) 0.005); }); }); });