Example #1
0
        public void ShardKey_Guid()
        {
            var v1 = new ShardKey(Guid.Empty);
            var v2 = new ShardKey(Guid.Empty);

            Aver.IsTrue(ShardKey.Type.Guid == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueGuid, v2.ValueGuid);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(Guid.Parse("{F52C9D55-E500-40F4-BF89-39FD6D8D9DC5}"));
            v2 = new ShardKey(Guid.Parse("{F52C9D55-E500-40F4-BF89-39FD6D8D9DC5}"));
            Aver.IsTrue(ShardKey.Type.Guid == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueGuid, v2.ValueGuid);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(Guid.Parse("{F52C9D55-E500-40F4-BF89-39FD6D8D9DC5}"), v1.ValueGuid);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(Guid.Parse("{F52C9D55-E500-40F4-BF89-39FD6D8D9DCF}"));
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueGuid, v2.ValueGuid);
            Aver.IsTrue(v1 != v2);
        }
Example #2
0
        public void ShardKey_Uint()
        {
            var v1 = new ShardKey(0u);
            var v2 = new ShardKey(0u);

            Aver.IsTrue(ShardKey.Type.Uint == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueUint, v2.ValueUint);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(1234u);
            v2 = new ShardKey(1234u);
            Aver.IsTrue(ShardKey.Type.Uint == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueUint, v2.ValueUint);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(1234u, v1.ValueUint);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(87872u);
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueUint, v2.ValueUint);
            Aver.IsTrue(v1 != v2);
        }
Example #3
0
        public void ShardKey_Ulong()
        {
            var v1 = new ShardKey(0ul);
            var v2 = new ShardKey(0ul);

            Aver.IsTrue(ShardKey.Type.Ulong == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueUlong, v2.ValueUlong);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(1234ul);
            v2 = new ShardKey(1234ul);
            Aver.IsTrue(ShardKey.Type.Ulong == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueUlong, v2.ValueUlong);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(1234ul, v1.ValueUlong);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(98766554321ul);
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueUlong, v2.ValueUlong);
            Aver.IsTrue(v1 != v2);
        }
Example #4
0
        public void ShardKey_EntityId()
        {
            var v1 = new ShardKey(new EntityId());
            var v2 = new ShardKey(new EntityId());

            Aver.IsTrue(ShardKey.Type.EntityId == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueEntityId, v2.ValueEntityId);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(EntityId.Parse("a@b::c"));
            v2 = new ShardKey(EntityId.Parse("a@b::c"));
            Aver.IsTrue(ShardKey.Type.EntityId == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueEntityId, v2.ValueEntityId);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(EntityId.Parse("a@b::c"), v1.ValueEntityId);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(EntityId.Parse("another@b::c"));
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueEntityId, v2.ValueEntityId);
            Aver.IsTrue(v1 != v2);
        }
Example #5
0
        public void ShardKey_Atom()
        {
            var v1 = new ShardKey(new Atom());
            var v2 = new ShardKey(new Atom());

            Aver.IsTrue(ShardKey.Type.Atom == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueAtom, v2.ValueAtom);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(Atom.Encode("abc1234"));
            v2 = new ShardKey(Atom.Encode("abc1234"));
            Aver.IsTrue(ShardKey.Type.Atom == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueAtom, v2.ValueAtom);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(Atom.Encode("abc1234"), v1.ValueAtom);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(Atom.Encode("4321abc"));
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueAtom, v2.ValueAtom);
            Aver.IsTrue(v1 != v2);
        }
Example #6
0
        public void ShardKey_Gdid()
        {
            var v1 = new ShardKey(new GDID(0, 0, 0));
            var v2 = new ShardKey(new GDID(0, 0, 0));

            Aver.IsTrue(ShardKey.Type.Gdid == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueGdid, v2.ValueGdid);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(new GDID(0, 0, 123));
            v2 = new ShardKey(new GDID(0, 0, 123));
            Aver.IsTrue(ShardKey.Type.Gdid == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueGdid, v2.ValueGdid);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(new GDID(0, 0, 123), v1.ValueGdid);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(new GDID(0, 0, 124));
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueGdid, v2.ValueGdid);
            Aver.IsTrue(v1 != v2);
        }
Example #7
0
        public void ShardKey_ByteArray()
        {
            var v1 = new ShardKey((byte[])null);
            var v2 = new ShardKey((byte[])null);

            Aver.IsTrue(ShardKey.Type.ByteArray == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.IsTrue(v1.ValueByteArray.MemBufferEquals(v2.ValueByteArray));
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(new byte[0]);
            v2 = new ShardKey(new byte[0]);
            Aver.IsTrue(ShardKey.Type.ByteArray == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.IsTrue(v1.ValueByteArray.MemBufferEquals(v2.ValueByteArray));
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey(new byte[] { 1, 3, 9 });
            v2 = new ShardKey(new byte[] { 1, 3, 9 });
            Aver.IsTrue(ShardKey.Type.ByteArray == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.IsTrue(v1.ValueByteArray.MemBufferEquals(v2.ValueByteArray));
            Aver.IsTrue(v1 == v2);

            Aver.AreEqual(3, v1.ValueByteArray.Length);
            Aver.AreEqual(1, v1.ValueByteArray[0]);
            Aver.AreEqual(3, v1.ValueByteArray[1]);
            Aver.AreEqual(9, v1.ValueByteArray[2]);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(new byte[] { 1, 3, 9, 11 });
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.IsFalse(v1.ValueByteArray.MemBufferEquals(v2.ValueByteArray));
            Aver.IsTrue(v1 != v2);
        }
Example #8
0
        public void ShardKey_String()
        {
            var v1 = new ShardKey((string)null);
            var v2 = new ShardKey((string)null);

            Aver.IsTrue(ShardKey.Type.String == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueString, v2.ValueString);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey("");
            v2 = new ShardKey("");
            Aver.IsTrue(ShardKey.Type.String == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueString, v2.ValueString);
            Aver.IsTrue(v1 == v2);


            "Value: {0}".SeeArgs(v1);//ToString()

            v1 = new ShardKey("abcd12");
            v2 = new ShardKey("abcd12");
            Aver.IsTrue(ShardKey.Type.String == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueString, v2.ValueString);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual("abcd12", v1.ValueString);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey("acbfegeddregheljg");
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueString, v2.ValueString);
            Aver.IsTrue(v1 != v2);
        }
Example #9
0
        public void ShardKey_Object_IDistributedStableHashProvider()
        {
            var v1 = new ShardKey((IDistributedStableHashProvider)null);
            var v2 = new ShardKey((IDistributedStableHashProvider)null);

            Aver.IsTrue(v1.Assigned);

            Aver.IsTrue(ShardKey.Type.IDistributedStableHashProvider == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.IsTrue(v1.ValueIDistributedStableHashProvider == v2.ValueIDistributedStableHashProvider);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            var one = new Cuztom {
                Data = 123
            };

            v1 = new ShardKey(one);
            v2 = new ShardKey(one);
            Aver.IsTrue(ShardKey.Type.IDistributedStableHashProvider == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.IsTrue(v1.ValueIDistributedStableHashProvider == v2.ValueIDistributedStableHashProvider);
            Aver.IsTrue(v1 == v2);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(new Cuztom {
                Data = 123
            });                                    //different instance
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);//these are still equal as data is the same!!!
            Aver.IsFalse(v1.ValueIDistributedStableHashProvider == v2.ValueIDistributedStableHashProvider);
            Aver.IsTrue(v1 != v2);

            v2 = new ShardKey(new Cuztom {
                Data = 124
            });                                 //different instance and different data
            Aver.AreNotEqual(v1.Hash, v2.Hash); //these are NOT equal as data is different
        }
Example #10
0
        public void GDID_000(GDID v)
        {
            var h = new ShardKey(v);

            "GDID Hash: {0:x2}".SeeArgs(h.Hash);
            Aver.AreEqual(new ShardKey(v).Hash, h.Hash);
            Aver.AreEqual(new ShardKey(v), h);
            Aver.IsTrue(new ShardKey(v).Equals(h));
            Aver.IsTrue(new ShardKey(v) == h);
            Aver.IsFalse(new ShardKey(v) != h);
            Aver.IsTrue(new ShardKey(v).GetHashCode() == h.GetHashCode());
        }
Example #11
0
        public void ShardKey_DateTime()
        {
            var v1 = new ShardKey(new DateTime(1980, 1, 1, 1, 1, 1, DateTimeKind.Utc));
            var v2 = new ShardKey(new DateTime(1980, 1, 1, 1, 1, 1, DateTimeKind.Utc));

            Aver.IsTrue(ShardKey.Type.DateTime == v1.DataType);
            Aver.AreEqual(v1, v2);
            Aver.AreEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreEqual(v1.Hash, v2.Hash);
            Aver.AreEqual(v1.ValueDateTime, v2.ValueDateTime);
            Aver.IsTrue(v1 == v2);
            Aver.AreEqual(new DateTime(1980, 1, 1, 1, 1, 1, DateTimeKind.Utc), v1.ValueDateTime);

            "Value: {0}".SeeArgs(v1);//ToString()

            v2 = new ShardKey(new DateTime(1980, 1, 1, 1, 1, 2, DateTimeKind.Utc));
            Aver.AreNotEqual(v1, v2);
            Aver.AreNotEqual(v1.GetHashCode(), v2.GetHashCode());
            Aver.AreNotEqual(v1.Hash, v2.Hash);
            Aver.AreNotEqual(v1.ValueDateTime, v2.ValueDateTime);
            Aver.IsTrue(v1 != v2);
        }