function a(v) { return v + 0.1; } function b(v) { return v + 0xdeadbeef; } test('失敗する', function () { var expected = 0.3; var actual = a(0.2); equal(expected, actual); }); test('イプシロンで比較', function () { var epsilon = Number.EPSILON || 2.2204460492503130808472633361816E-16; var expected = 0.3; var actual = a(0.2); ok(Math.abs(expected - actual) < epsilon); }); test('イプシロンで比較(失敗した時に何が違うのか判らない;;)', function () { var epsilon = Number.EPSILON || 2.2204460492503130808472633361816E-16; var expected = 0.3; var actual = b(0.2); ok(Math.abs(expected - actual) < epsilon); }); test('期待値を定数にする必要なんてなかった', function () { var expected = 0.2 + 0.1; var actual = a(0.2); equal(expected, actual); });