public void ShouldMaintain16BitWorkerId() { var oxidation = new UInt64Oxidation(WorkerId); var key = oxidation.Oxidize(); var id = (ushort)(key >> 16 & 0xffff); Assert.AreEqual(WorkerId, id); }
public void ShouldMaintain16BitWorkerId() { var oxidation = new UInt64Oxidation(WorkerId); var key = oxidation.Oxidize(); var id = (ushort) (key >> 16 & 0xffff); Assert.AreEqual(WorkerId, id); }
public void Should_maintain_16bit_worker_id() { // 16-bits = 4 hex digits ushort worker_id = 0xabcd; var oxidation = new UInt64Oxidation(worker_id); ulong key = oxidation.Oxidize(); ushort id = (ushort)(key >> 16 & 0xffff); Assert.AreEqual(worker_id, id); }
public void Sequential_keys_are_sequential() { // 32-bits = 8 hex digits var oxidation = new UInt64Oxidation(0xabcd); decimal key = oxidation.Oxidize(); decimal key2 = oxidation.Oxidize(); decimal key3 = oxidation.Oxidize(); System.Threading.Thread.Sleep(10); decimal key4 = oxidation.Oxidize(); decimal key5 = oxidation.Oxidize(); Assert.IsTrue(key5 > key4 && key4 > key3 && key3 > key2 && key2 > key); }
public void SequentialKeysAreSequential() { var oxidation = new UInt64Oxidation(WorkerId); var key = oxidation.Oxidize(); var key2 = oxidation.Oxidize(); var key3 = oxidation.Oxidize(); System.Threading.Thread.Sleep(10); var key4 = oxidation.Oxidize(); var key5 = oxidation.Oxidize(); Assert.IsTrue(key5 > key4 && key4 > key3 && key3 > key2 && key2 > key); }
public void InDefaultOxidationShouldNotMaintain32BitTimestamp() { var oxidation = new UInt64Oxidation(WorkerId); var key1 = oxidation.Oxidize(); Thread.Sleep(10); var key2 = oxidation.Oxidize(); Thread.Sleep(10); var key3 = oxidation.Oxidize(); Thread.Sleep(10); var timestamp1 = (uint)(key1 >> 32); var timestamp2 = (uint)(key2 >> 32); var timestamp3 = (uint)(key3 >> 32); Assert.IsTrue((timestamp1 != timestamp2) && (timestamp2 != timestamp3)); }
public void InSlowOxidationShouldMaintain32BitTimestamp() { ushort intervalInMs = 1000; // 1 second var oxidation = new UInt64Oxidation(WorkerId, intervalInMs); var key1 = oxidation.Oxidize(); Thread.Sleep(10); var key2 = oxidation.Oxidize(); Thread.Sleep(10); var key3 = oxidation.Oxidize(); Thread.Sleep(10); var timestamp1 = (uint)(key1 >> 32); var timestamp2 = (uint)(key2 >> 32); var timestamp3 = (uint)(key3 >> 32); Assert.IsTrue((timestamp1 == timestamp2) || (timestamp2 == timestamp3)); }