Beispiel #1
0
        public void TestRoundTrip64Bit()
        {
            DbGuid testA = DbGuid.NewGuid();
            DbGuid testB = new DbGuid(testA.High64, testA.Low64);

            Assert.AreEqual(testA, testB);
        }
Beispiel #2
0
        public void TestRoundTripDbGuidToGuid()
        {
            DbGuid testA  = DbGuid.NewGuid();
            Guid   dbtest = testA;
            DbGuid testB  = (DbGuid)dbtest;

            Assert.AreEqual(testA, testB);
        }
Beispiel #3
0
        public void GuidCompare()
        {
            DbGuid a = DbGuid.NewGuid();
            DbGuid b = DbGuid.NewGuid();

            Assert.AreEqual(-1, a.CompareTo(b));
            Assert.AreEqual(-1, a.ToGuid().CompareTo(b.ToGuid()));
        }
Beispiel #4
0
        public void TestRoundTripBytes()
        {
            DbGuid testA = DbGuid.NewGuid();

            byte[] bytes = testA.ToByteArray();
            DbGuid testB = new DbGuid(bytes);

            Assert.AreEqual(testA, testB);
        }
Beispiel #5
0
        public void TestRoundTripByteOffset()
        {
            DbGuid testA = DbGuid.NewGuid();

            byte[] bytes = new byte[1024];
            testA.ToByteArray(bytes, 512);
            DbGuid testB = new DbGuid(bytes, 512);

            Assert.AreEqual(testA, testB);
        }
Beispiel #6
0
        public void TestEquality()
        {
            DbGuid testA = DbGuid.NewGuid();

            TestEquality(testA, testA, true);
            TestEquality(testA, DbGuid.NewGuid(), false);
            TestEquality(testA, new DbGuid(Guid.NewGuid()), false);
            TestEquality(testA, testA.ToSqlGuid(), true);
            TestEquality(testA, testA.ToSqlGuid().ToSequenceGuid(), true);
        }
Beispiel #7
0
        public void TestDateTime()
        {
            // Note: DateTime precision is +/- 1ms
            DateTime start = DateTime.UtcNow.AddMilliseconds(-1);
            DbGuid   test  = DbGuid.NewGuid();

            Assert.IsTrue(test.ToDateTimeUtc() > start, "expected {0} > {1}", test.ToDateTimeUtc(), start);
            DateTime now = DateTime.UtcNow.AddMilliseconds(1);

            Assert.IsTrue(test.ToDateTimeUtc() <= now, "expected {0} <= {1}", test.ToDateTimeUtc(), now);
        }
Beispiel #8
0
        public void TestRoundTripSqlGuid()
        {
            DbGuid testA  = DbGuid.NewGuid();
            DbGuid dbtest = testA.ToSqlGuid();

            Assert.AreEqual(dbtest, testA);
            Assert.AreEqual(dbtest.GetHashCode(), testA.GetHashCode());
            Assert.AreEqual(0, dbtest.CompareTo(testA));
            DbGuid testB = dbtest.ToSequenceGuid();

            Assert.AreEqual(testA, testB);
        }
Beispiel #9
0
        public void TestSequence()
        {
            DbGuid last = DbGuid.NewGuid();

            for (int i = 0; i < 10000; i++)
            {
                DbGuid test = DbGuid.NewGuid();
                TestSequence(last, test);
                TestSequence(last, test.ToSqlGuid());
                TestSequence(last.ToSqlGuid(), test);
                TestSequence(last.ToSqlGuid(), test.ToSqlGuid());
                Assert.IsTrue(last.CompareTo(test) < 0);
                last = test;
            }
        }
Beispiel #10
0
        public void TestGenerationPerf()
        {
            var timer = Stopwatch.StartNew();
            int total = 0, target = 0;

            while (timer.ElapsedMilliseconds < 1000)
            {
                for (target += 1000000; total < target; total++)
                {
                    DbGuid.NewGuid();
                }
            }
            timer.Stop();
            Console.WriteLine("Generated {0:n0} guids in {1:n2} seconds, averaging {2:n2} per second.",
                              total, timer.Elapsed.TotalSeconds, total / timer.Elapsed.TotalSeconds);
        }
Beispiel #11
0
        public void TestSerializer()
        {
            DbGuid[]     ids    = new DbGuid[16];
            MemoryStream stream = new MemoryStream();

            for (int i = 0; i < ids.Length; i++)
            {
                ids[i] = DbGuid.NewGuid();
                DbGuid.Serializer.WriteTo(ids[i], stream);
            }
            stream.Position = 0;
            for (int i = 0; i < ids.Length; i++)
            {
                DbGuid test = DbGuid.Serializer.ReadFrom(stream);
                Assert.AreEqual(ids[i], test);
            }
            Assert.AreEqual(-1, stream.ReadByte());
        }