    @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));

    }