public void You_can_map_to_a_destination_type_having_a_constructor_if_the_constructor_accepts_all_the_properties()
        {
            Monster goblin = new Goblin(sneakyness: 10);

            GenericMonster monster = goblin.Map();

            Assert.Equal(goblin.Name, monster.Name);
            Assert.Equal(goblin.HitPoints, monster.HitPoints);
        }
        public void You_can_map_one_type_into_another()
        {
            var goblin = new Goblin(sneakyness: 10);

            GoblinDto result = goblin.Map();

            Assert.Equal(goblin.Name, result.Name);
            Assert.Equal(goblin.HitPoints, result.HitPoints);
            Assert.Equal(goblin.Sneakyness, result.Sneakyness);
        }
        public void You_can_map_multiple_source_objects_to_a_single_destination_object()
        {
            Monster goblin = new Goblin(sneakyness: 10);

            GoblinDto result = goblin.Map().Extend(new GoblinTraitsDto {
                Sneakyness = 4
            });

            Assert.Equal(goblin.Name, result.Name);
            Assert.Equal(goblin.HitPoints, result.HitPoints);
            Assert.Equal(4, result.Sneakyness);
        }