public void ConvertClassToOtherClass_NotStrict_Converts() { // Arrange var parentClass = new SimpleTestClass2(); parentClass.Property1 = "test"; var castrClass = new CastrClass <SimpleTestClass2>( parentClass, new ClassOptions() { IsStrict = false }); // Act var childClass = castrClass.CastAsClass <SimpleTestSubClass>(); // Assert Assert.Equal("test", childClass.Property1); Assert.True(string.IsNullOrWhiteSpace(childClass.NewProperty)); }
public void ConvertClassToOtherClass_Strict_Throws() { // Arrange var parentClass = new SimpleTestClass2(); parentClass.Property1 = "test"; var castrClass = new CastrClass <SimpleTestClass2>( parentClass, new ClassOptions() { IsStrict = true }); // Act void PerformCast() { var childClass = castrClass.CastAsClass <SimpleTestSubClass>(); } // Assert Assert.Throws <CastingException>((Action)PerformCast); }