@Test
public void testNextReturnsExpectedValue() {

    final Instant baseTime = ZonedDateTime
        .of(2017, 6, 1, 0, 0, 0, 0, ZoneId.of("UTC"))
        .toInstant();
    final Instant execTime = ZonedDateTime
        .of(2017, 6, 1, 0, 0, 1, 0, ZoneId.of("UTC"))
        .toInstant();
    new Expectations(Instant.class) {
        {
            Instant.now();
            returns(
                baseTime, // at initialize
                execTime  // at runtime
            );
        }
    };

    Camflake camflake = new Camflake(new TestMachineId());

    long id = camflake.next();
    assertThat(id, is(4194304001L));

}