public void GetId_Get65536OrLessIds_NoDelay(int numberOfIds)
        {
            // Arrange
            // When delay is called, start moving the millisecond timer.
            _timingProvider.When(x => x.DelayMilliseconds(Arg.Any <int>()))
            .Do(arg => _wasDelayed = true);
            _timingProvider.GetNowMilliseconds()
            .ReturnsForAnyArgs(x => _wasDelayed ? ++_nowMilliseconds : _nowMilliseconds);

            // Act
            Int128 id = null;

            for (int i = 0; i < numberOfIds; i++)
            {
                id = _generator.GenId();
            }

            // Assert
            _timingProvider.DidNotReceiveWithAnyArgs().DelayMilliseconds(Arg.Any <int>());
            Assert.That(id?.Lo & 0xffff, Is.EqualTo(numberOfIds - 1), "Count part of ID");
        }
 /// <summary>
 /// Use the same tick counter as the Java implementation
 /// since CDC sorts by ID.
 /// </summary>
 private long TimeNow()
 {
     return(_timingProvider.GetNowMilliseconds());
 }