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); }
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); }
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); }