コード例 #1
0
        public void Test_VersionStamp_To_Uuid80()
        {
            // To
            Assert.That(VersionStamp.Incomplete().ToUuid80(), Is.EqualTo(Uuid80.MaxValue));
            Assert.That(VersionStamp.Complete(0x0123456789ABCDEF, 0x55AA).ToUuid80(), Is.EqualTo(new Uuid80(0x0123, 0x456789ABCDEF55AA)));

            // From
            Assert.That(VersionStamp.FromUuid80(Uuid80.MaxValue), Is.EqualTo(VersionStamp.Incomplete()));
            Assert.That(VersionStamp.FromUuid80(new Uuid80(0x0123, 0x456789ABCDEF55AA)), Is.EqualTo(VersionStamp.Complete(0x0123456789ABCDEF, 0x55AA)));

            // casting
            Assert.That((Uuid80)VersionStamp.Incomplete(), Is.EqualTo(Uuid80.MaxValue));
            Assert.That((Uuid80)VersionStamp.Complete(0x0123456789ABCDEF, 0x55AA), Is.EqualTo(new Uuid80(0x0123, 0x456789ABCDEF55AA)));
            Assert.That((VersionStamp)Uuid80.MaxValue, Is.EqualTo(VersionStamp.Incomplete()));
            Assert.That((VersionStamp) new Uuid80(0x0123, 0x456789ABCDEF55AA), Is.EqualTo(VersionStamp.Complete(0x0123456789ABCDEF, 0x55AA)));

            // should fail if size does not match
            Assert.That(() => VersionStamp.Incomplete(0x1234).ToUuid80(), Throws.Exception);
            Assert.That(() => VersionStamp.Complete(0x0123456789ABCDEF, 0x55AA, 0x33CC).ToUuid80(), Throws.Exception);
        }