public void InjectFrom_NullableToNonNullable()
        {
            var source   = new NullableModel(null, 2, null);
            var target   = new NonNullableModel(4D, 5, "6");
            var expected = new NonNullableModel(default(double), 2, default(string));

            var actual = (NonNullableModel)target.InjectFrom <NullableInjection>(source);

            Assert.AreEqual(expected.Double, actual.Double);
            Assert.AreEqual(expected.Integer, actual.Integer);
            Assert.AreEqual(expected.String, actual.String);
        }
        public void InjectFrom_NonNullableToNullable()
        {
            var source   = new NonNullableModel(1D, 2, "3");
            var target   = new NullableModel(null, null, null);
            var expected = new NullableModel(1D, 2, "3");

            var actual = (NullableModel)target.InjectFrom <NullableInjection>(source);

            Assert.AreEqual(expected.Double, actual.Double);
            Assert.AreEqual(expected.Integer, actual.Integer);
            Assert.AreEqual(expected.String, actual.String);
        }
Esempio n. 3
0
        public void InjectFrom_SlightlyDifferentModels_InjectsSomeProperties()
        {
            var source   = new NullableModel(null, 1, null);
            var target   = new NonNullableModel(1D, 1, "1");
            var expected = new NonNullableModel(default(double), 1, default(string));

            var actual = (NonNullableModel)target.InjectFrom <SmartInjection>(source);

            Assert.AreEqual(expected.Double, actual.Double);
            Assert.AreEqual(expected.Integer, actual.Integer);
            Assert.AreEqual(expected.String, actual.String);
            Assert.IsTrue(actual.DoubleChanged);
            Assert.IsFalse(actual.IntegerChanged);
            Assert.IsTrue(actual.StringChanged);
        }
Esempio n. 4
0
        public void InjectFrom_IdenticalModels_DoesNotInjectProperties()
        {
            var source   = new NonNullableModel(1D, 1, "1");
            var target   = new NonNullableModel(1D, 1, "1");
            var expected = new NonNullableModel(source);

            var actual = (NonNullableModel)target.InjectFrom <SmartInjection>(source);

            Assert.AreEqual(expected.Double, actual.Double);
            Assert.AreEqual(expected.Integer, actual.Integer);
            Assert.AreEqual(expected.String, actual.String);
            Assert.IsFalse(actual.DoubleChanged);
            Assert.IsFalse(actual.IntegerChanged);
            Assert.IsFalse(actual.StringChanged);
        }