예제 #1
0
        public void NullableDateTimeContainingNullTest()
        {
            var machine = GetSerializer <ClassWithNullableDateTime>();
            var source  = new ClassWithNullableDateTime {
                DateTimeValue = null
            };
            string packed   = machine.Serialize(source);
            var    unpacked = machine.Deserialize(packed);

            unpacked.Should().NotBeNull();
            unpacked.DateTimeValue.HasValue.Should().BeFalse();
        }
예제 #2
0
        public void Equality_SameObject_PropertyComparison()
        {
            var classWithNullable = new ClassWithNullableDateTime();
            var expected          = DateTime.Now;

            var property1Property = typeof(ClassWithNullableDateTime).GetProperty("Property1");
            var property1Member   = BuilderUtils.GetMemberSetter <object, object>(property1Property, (o, b, s) => expected, true);
            var property2Property = typeof(ClassWithNullableDateTime).GetProperty("Property1");

            Assert.IsTrue(property1Member.IsForMember(property2Property, null, null));

            property1Member.Set(classWithNullable, null, null);
            Assert.AreEqual(expected, classWithNullable.Property1);
        }
예제 #3
0
        public void NullableDateTimeContainingValueTest()
        {
            var now     = DateTime.Now;
            var machine = GetSerializer <ClassWithNullableDateTime>();
            var source  = new ClassWithNullableDateTime {
                DateTimeValue = now
            };
            string packed   = machine.Serialize(source);
            var    unpacked = machine.Deserialize(packed);

            unpacked.Should().NotBeNull();
            unpacked.DateTimeValue.HasValue.Should().BeTrue();
            unpacked.DateTimeValue.Value.Should().Be(now);
        }