codex-lv3-may-2025

Level Navigation: 1 (2ℹ️) 3 4 5 6 (7ℹ️) (8ℹ️) (9ℹ️) 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 (37ℹ️) 38⚡ 39⚡ 40⚡ 41⚡ 42 43⚡ 44⚡ 45 46 (47ℹ️)

Level 15: Testing Fractions (Floating Point Precision)

When working with decimal numbers like 0.1 + 0.2, JavaScript’s floating point arithmetic can cause tiny rounding errors. We need to use toBeCloseTo() instead of toBe():

Plan: demonstrate floating point quirks by expecting add(0.1, 0.2) to be close to 0.3 rather than exactly equal.

Show Me

it('should add fractions', () => {
  const result = add(0.1, 0.2);
  expect(result).toBeCloseTo(0.3); // Use toBeCloseTo for floating point!
});

🔍 Diving Deeper

Try it: Add this test. Notice we use toBeCloseTo() instead of toBe()!

Key Terms