public void GetIdValue_WhenNullAssignedNullableIntOnFirstLevel_ReturnsInt() { var intPropertyInfo = typeof(Dummy2).GetProperty("NullableId"); var intProperty = new Property(intPropertyInfo); var item = new Dummy2 { NullableId = null }; var actual = intProperty.GetIdValue<Dummy2, int>(item); Assert.IsNull(actual); }
public void GetIdValue_WhenNullableIntOnFirstLevel_ReturnsInt() { var intPropertyInfo = typeof(Dummy2).GetProperty("NullableId"); var intProperty = new Property(intPropertyInfo); const int expectedInt = 42; var item = new Dummy2 { NullableId = expectedInt }; var actual = intProperty.GetIdValue<Dummy2, int>(item); Assert.AreEqual(expectedInt, actual); }
public void GetIdValue_WhenNullableGuidOnFirstLevel_ReturnsGuid() { var intPropertyInfo = typeof(Dummy2).GetProperty("NullableId"); var intProperty = new Property(intPropertyInfo); var expected = Guid.Parse("4217F3B7-6DEB-4DFA-B195-D111C1297988"); var item = new Dummy2 { NullableId = expected }; var actual = intProperty.GetIdValue<Dummy2, Guid>(item); Assert.AreEqual(expected, actual); }
public void GetIdValue_WhenIntNotOnFirstLevel_ThrowsSisoDbException() { var dummy2PropertyInfo = typeof(Dummy1).GetProperty("Item"); var dummy2Property = new Property(dummy2PropertyInfo); var intPropertyInfo = typeof(Dummy2).GetProperty("Id"); var intProperty = new Property(1, dummy2Property, intPropertyInfo); var item = new Dummy1 { Item = new Dummy2 { Id = 42 } }; var ex = Assert.Throws<SisoDbException>(() => intProperty.GetIdValue<Dummy1, int>(item)); Assert.AreEqual(ExceptionMessages.Property_GetIdValue_InvalidLevel, ex.Message); }
public void GetIdValue_WhenGuidNotOnFirstLevel_ThrowsSisoDbException() { var dummy2PropertyInfo = typeof (Dummy1).GetProperty("Item1"); var dummy2Property = new Property(dummy2PropertyInfo); var guidPropertyInfo = typeof(Dummy2).GetProperty("Id"); var guidProperty = new Property(1, dummy2Property,guidPropertyInfo); var item = new Dummy1 { Item1 = new Dummy2 { Id = Guid.NewGuid() } }; var ex = CustomAssert.Throws<SisoDbException>(() => guidProperty.GetIdValue<Dummy1, Guid>(item)); Assert.AreEqual(ExceptionMessages.Property_GetIdValue_InvalidLevel, ex.Message); }