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())); }