public void Map_WhenInvoked_ShouldMapLeftToRight()
        {
            // Arrange
            var map = new Mapper<A, B>()
                .Map(e => e.Id, e => e.Identifier)
                .Map(e => e.Name, e => e.DisplayName);

            var a = fixture.Create<A>();
            var b = new B();

            // Act
            map.LeftToRight(a, b);

            // Assert
            Assert.Equal(b.Identifier, a.Id);
            Assert.Equal(b.DisplayName, a.Name);
        }
        public void Map_WhenInvokedForNestedPath_ShouldNotCreateNestedInstanceIfAlreadyInitialized()
        {
            // Arrange
            var mapper = new Mapper<C, D>()
                .Map(e => e.A.Id, e => e.B.Identifier)
                .Map(e => e.A.Name, e => e.B.DisplayName);

            var c = fixture.Create<C>();
            var dest = new D
            {
                B = new B()
            };

            var originalB = dest.B;

            // Act
            mapper.LeftToRight(c, dest);

            // Assert
            Assert.Same(originalB, dest.B);
        }