    clk.start();

    // Sleep for 2 seconds and ensure we are at tick 1
    Clock::sleep(2);
    assertTrue(clk.getNextTick() == 1);

    // Sleep for 0.1 seconds and ensure we are still at tick 1
    Clock::sleep(0.1);
    assertTrue(clk.getNextTick() == 1);

    // Now sleep for 0.5 seconds and we should be at tick 2
    Clock::sleep(1.0);
    assertTrue(clk.getNextTick() == 2);
