public void SequenceIncrementsByOneForEachCall()
 {
     var dispenser = new Nmqtt.MessageIdentifierDispenser();
     int first = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic");
     int second = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic");
     Assert.Equal<int>(first + 1, second);
 }
        public void SequenceIncrementsByOneForEachCall()
        {
            var dispenser = new Nmqtt.MessageIdentifierDispenser();
            int first     = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic");
            int second    = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic");

            Assert.Equal <int>(first + 1, second);
        }
        public void SequenceOverflowRollsBackToOne()
        {
            var dispenser = new Nmqtt.MessageIdentifierDispenser();
            for (
                int i = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow");
                i < short.MaxValue;
                i = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow"))
            {
            }

            // one more call should overflow us and reset us back to 1.
            Assert.Equal<int>(1, dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow"));
        }
        public void SequenceOverflowRollsBackToOne()
        {
            var dispenser = new Nmqtt.MessageIdentifierDispenser();

            for (
                int i = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow");
                i < short.MaxValue;
                i = dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow"))
            {
            }

            // one more call should overflow us and reset us back to 1.
            Assert.Equal <int>(1, dispenser.GetNextMessageIdentifier("Topic::Sample/My/Topic/Overflow"));
        }
        public void NewSequenceStartsNumberingAtOne()
        {
            var dispenser = new Nmqtt.MessageIdentifierDispenser();

            Assert.Equal <int>(1, dispenser.GetNextMessageIdentifier(Guid.NewGuid().ToString()));
        }
 public void NewSequenceStartsNumberingAtOne() {
     var dispenser = new Nmqtt.MessageIdentifierDispenser();
     Assert.Equal<int>(1, dispenser.GetNextMessageIdentifier(Guid.NewGuid().ToString()));
 }