Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }