예제 #1
0
        public void DisablePolymorphicMappingTest()
        {
            // Arrange
            TinyMapper.Config(n =>
            {
                n.EnablePolymorphicMapping = false;
            });

            SourceB source = new SourceB
            {
                FirstName = "John",
                LastName  = "Doe",
                Age       = 37
            };

            TargetA target = null;

            // This binding will be ignored because it will not be recognised as a binding for these types
            TinyMapper.Bind <SourceA, TargetA>(n => n.Bind(from => from.FirstName, to => to.Name));

            // Act
            target = TinyMapper.Map <TargetA>(source);

            // Assert
            Assert.NotEqual(source.FirstName, target.Name);
        }
예제 #2
0
        public void ReversePolymorphicShouldFailWithException()
        {
            // Arrange
            TinyMapper.Config(n => n.EnableAutoBinding = false);

            SourceB source = new SourceB
            {
                FirstName = "John",
                LastName  = "Doe",
                Age       = 37
            };

            // Act / Assert
            Assert.Throws <MappingException>(() => TinyMapper.Map <TargetB>(source));
        }
예제 #3
0
        public void SimpleCustomHeirarchyMappingTest()
        {
            // Arrange
            SourceB source = new SourceB
            {
                FirstName = "John",
                LastName  = "Doe",
                Age       = 37
            };

            TinyMapper.Bind <SourceA, TargetA>(n => n.Bind(from => from.FirstName, to => to.Name));

            // Act
            var target = TinyMapper.Map <TargetA>(source);

            // Assert
            Assert.NotNull(target);
            Assert.Same(source.FirstName, target.Name);
        }