public void New_TestSource() { Guid source = Guid.NewGuid(); Guid g1 = GuidSequential.New(source); System.Threading.Thread.Sleep(10); Guid g2 = GuidSequential.New(source); Assert.AreEqual(15, countSameBytes(g1, g2)); g1 = GuidSequential.New(source, forMsSql: false); System.Threading.Thread.Sleep(10); g2 = GuidSequential.New(source, forMsSql: false); Assert.AreEqual(15, countSameBytes(g1, g2)); DateTime now = DateTime.UtcNow; DateTime next = now.AddYears(150).AddMonths(5).AddDays(1).AddMinutes(124).AddSeconds(15); g1 = GuidSequential.New(source, now); g2 = GuidSequential.New(source, next); // Due to issues around the time of day, result may either be // 10 or 11 (due to leading zeros in the milliseconds) int[] testArr = new int[] { 10, 11 }; Assert.IsTrue(testArr.Contains(countSameBytes(g1, g2))); }
public void New_TestSeed_NotEqual() { // Arrange Guid g1 = GuidSequential.New(10); Guid g2 = GuidSequential.New(101); // Assert Assert.AreNotEqual(g1, g2); }
public void New_TestSeed_NotEqual_noCTimeProvided() { // Arrange Guid g1 = GuidSequential.New(10); System.Threading.Thread.Sleep(10); Guid g2 = GuidSequential.New(10); Assert.AreNotEqual(g1, g2); }
public void New_TestSeed_Equal_CTimeProvided() { int seed = 10202; DateTime cTime = DateTime.UtcNow; Guid g1 = GuidSequential.New(seed, cTime); Guid g2 = GuidSequential.New(seed, cTime); Assert.AreEqual(g1, g2); }
/// <summary> /// Constructor /// </summary> /// <param name="isNew">Is a new entity being created?</param> protected Entity(bool isNew = false) { InstantiateCollections(); if (isNew) { Uid = GuidSequential.New(); if (typeof(ISoftDeleted).IsAssignableFrom(GetType())) { (this as ISoftDeleted).IsDeleted = false; } } }
public void GetCreateTime_Test_CTimeProvided_NotMS() { DateTime now = new DateTime(2010, 1, 2); Guid g1 = GuidSequential.New(cTime: now, forMsSql: false); // Act DateTime?cTime = g1.GetCreateTime(false); // Assert Assert.IsTrue(cTime.HasValue); Assert.AreEqual(now.Date, cTime.Value.Date); Assert.AreEqual(now.Hour, cTime.Value.Hour); Assert.AreEqual(now.Minute, cTime.Value.Minute); Assert.AreEqual(now.Second, cTime.Value.Second); }
public void NewTest1() { // Arrange Guid g1 = GuidSequential.New(); Guid g2 = GuidSequential.New(); byte[] b1 = new byte[6]; byte[] b2 = new byte[6]; Array.Copy(g1.ToByteArray(), 10, b1, 0, 6); Array.Copy(g2.ToByteArray(), 10, b2, 0, 6); string s1 = _bytesToString(b1); string s2 = _bytesToString(b2); // Assert Assert.AreEqual(s1, s2); }
public void GetCreateTime_Test_CTimeProvided() { DateTime now = new DateTime(2010, 1, 2, 12, 30, 9, 10); Guid g1 = GuidSequential.New(cTime: now); // Act DateTime?cTime = g1.GetCreateTime(); // Assert Assert.IsTrue(cTime.HasValue); Assert.AreEqual(now.Date, cTime.Value.Date); Assert.AreEqual(now.Hour, cTime.Value.Hour); Assert.AreEqual(now.Minute, cTime.Value.Minute); Assert.AreEqual(now.Second, cTime.Value.Second); // We skip testing Milliseconds due to rounding errors from // the division by 3.33333 }
public void NewTest2() { // Arrange & act Guid g1 = GuidSequential.New(); System.Threading.Thread.Sleep(1000); Guid g2 = Guid.NewGuid(); byte[] b1 = new byte[6]; byte[] b2 = new byte[6]; Array.Copy(g1.ToByteArray(), 10, b1, 0, 6); Array.Copy(g2.ToByteArray(), 10, b2, 0, 6); string s1 = _bytesToString(b1); string s2 = _bytesToString(b2); // Assert Assert.AreNotEqual(s1, s2); }
public void GetCreateTimeTest() { // Arrange DateTime ctime = DateTime.UtcNow; Guid g1 = GuidSequential.New(ctime); //Act DateTime?c1 = g1.GetCreateTime(); DateTime c2 = g1.GetCreateTime().Value; //Assert Assert.IsTrue(c1.HasValue); Assert.AreEqual(ctime.Date, c2.Date); Assert.AreEqual(ctime.Hour, c2.Hour); Assert.AreEqual(ctime.Minute, c2.Minute); Assert.AreEqual(ctime.Second, c2.Second); }
public void GetCreateTime_Test_CTime_Defaults() { //Arrange DateTime now = DateTime.UtcNow; Guid g1 = GuidSequential.New(); // Act DateTime?cTime = g1.GetCreateTime(); // Assert Assert.IsTrue(cTime.HasValue); Assert.AreEqual(now.Date, cTime.Value.Date); Assert.AreEqual(now.Hour, cTime.Value.Hour); Assert.AreEqual(now.Minute, cTime.Value.Minute); Assert.AreEqual(now.Second, cTime.Value.Second); // We skip testing Milliseconds due to rounding errors from // the division by 3.33333 }
public void NewTest() { // Arrange Random r = new Random(); int seed = r.Next(); //Act Guid g1 = GuidSequential.New(seed); Guid g2 = GuidSequential.New(seed); byte[] b1 = new byte[8]; byte[] b2 = new byte[8]; Array.Copy(g1.ToByteArray(), 8, b1, 0, 8); Array.Copy(g2.ToByteArray(), 8, b2, 0, 8); string s1 = _bytesToString(b1); string s2 = _bytesToString(b2); // Assert Assert.AreEqual(s1, s2); }
public void New_TestSource() { Guid source = Guid.NewGuid(); Guid g1 = GuidSequential.New(source); System.Threading.Thread.Sleep(10); Guid g2 = GuidSequential.New(source); Assert.AreEqual(15, countSameBytes(g1, g2)); g1 = GuidSequential.New(source, forMsSql: false); System.Threading.Thread.Sleep(10); g2 = GuidSequential.New(source, forMsSql: false); Assert.AreEqual(15, countSameBytes(g1, g2)); DateTime now = DateTime.UtcNow; DateTime next = now.AddYears(150).AddMonths(5).AddDays(1).AddMinutes(124).AddSeconds(15); g1 = GuidSequential.New(source, now); g2 = GuidSequential.New(source, next); Assert.AreEqual(11, countSameBytes(g1, g2)); }