예제 #1
0
        public void Should_serialize_and_deserialize_valid_string_token()
        {
            var value = NamedId.Of(Guid.NewGuid().ToString(), "my-name");

            var serialized = value.SerializeAndDeserialize();

            Assert.Equal(value, serialized);
        }
예제 #2
0
        public void Should_convert_named_id_to_string()
        {
            var id = Guid.NewGuid();

            var namedId = NamedId.Of(id, "my-name");

            Assert.Equal($"{id},my-name", namedId.ToString());
        }
예제 #3
0
        public void Should_serialize_and_deserialize_valid_long_token()
        {
            var value = NamedId.Of(123L, "my-name");

            var serialized = value.SerializeAndDeserialize();

            Assert.Equal(value, serialized);
        }
예제 #4
0
        public void Should_instantiate_token()
        {
            var id = Guid.NewGuid();

            var namedId = NamedId.Of(id, "my-name");

            Assert.Equal(id, namedId.Id);
            Assert.Equal("my-name", namedId.Name);
        }
예제 #5
0
        public void Should_serialize_and_deserialize_in_object()
        {
            var obj = new MyTest
            {
                Id0 = DomainId.NewGuid(),
                Id1 = NamedId.Of(DomainId.NewGuid(), "1"),
                Id2 = NamedId.Of(DomainId.NewGuid(), "2")
            };

            var serialized = obj.SerializeAndDeserialize();

            serialized.Should().BeEquivalentTo(obj);
        }
예제 #6
0
        public void Should_provide_correct_hash_codes()
        {
            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            object token1a = NamedId.Of(id1, "my-name1");
            object token1b = NamedId.Of(id1, "my-name1");
            object token1c = NamedId.Of(id1, "my-name2");
            object token2a = NamedId.Of(id2, "my-name1");

            Assert.Equal(token1a.GetHashCode(), token1b.GetHashCode());

            Assert.NotEqual(token1a.GetHashCode(), token2a.GetHashCode());
            Assert.NotEqual(token1a.GetHashCode(), token1c.GetHashCode());
        }
예제 #7
0
        public void Should_make_correct_object_equal_comparisons()
        {
            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            object token1a = NamedId.Of(id1, "my-name1");
            object token1b = NamedId.Of(id1, "my-name1");
            object token1c = NamedId.Of(id1, "my-name2");
            object token2a = NamedId.Of(id2, "my-name1");

            Assert.True(token1a.Equals(token1b));

            Assert.False(token1a.Equals(token2a));
            Assert.False(token1a.Equals(token1c));
        }
예제 #8
0
        public void Should_make_correct_equal_comparisons()
        {
            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            var named_id1_name1_a = NamedId.Of(id1, "name1");
            var named_id1_name1_b = NamedId.Of(id1, "name1");

            var named_id2_name1 = NamedId.Of(id2, "name1");
            var named_id1_name2 = NamedId.Of(id1, "name2");

            Assert.Equal(named_id1_name1_a, named_id1_name1_b);
            Assert.Equal(named_id1_name1_a.GetHashCode(), named_id1_name1_b.GetHashCode());
            Assert.True(named_id1_name1_a.Equals((object)named_id1_name1_b));

            Assert.NotEqual(named_id1_name1_a, named_id2_name1);
            Assert.NotEqual(named_id1_name1_a.GetHashCode(), named_id2_name1.GetHashCode());
            Assert.False(named_id1_name1_a.Equals((object)named_id2_name1));

            Assert.NotEqual(named_id1_name1_a, named_id1_name2);
            Assert.NotEqual(named_id1_name1_a.GetHashCode(), named_id1_name2.GetHashCode());
            Assert.False(named_id1_name1_a.Equals((object)named_id1_name2));
        }
예제 #9
0
 public static NamedId <long> NamedId(this IField field)
 {
     return(NamedIdStatic.Of(field.Id, field.Name));
 }
예제 #10
0
 public static NamedId <DomainId> NamedId(this ISchemaEntity schema)
 {
     return(StaticNamedId.Of(schema.Id, schema.SchemaDef.Name));
 }
예제 #11
0
        public void Should_serialize_and_deserialize_valid_guid_token()
        {
            var value = NamedId.Of(Guid.NewGuid(), "my-name");

            value.SerializeAndDeserialize(new NamedGuidIdConverter());
        }
예제 #12
0
        public void Should_serialize_and_deserialize_valid_long_token()
        {
            var value = NamedId.Of(123L, "my-name");

            value.SerializeAndDeserialize(new NamedLongIdConverter());
        }