/// <summary>
        ///   Hards the map.
        /// </summary>
        /// <param name="s">The s.</param>
        /// <returns>A BenchNestedDestination.</returns>
        public static BenchNestedDestination HardMap(BenchNestedSource s)
        {
            BenchNestedDestination result = new();

            result.I1 = HardMap(s.I1);

            result.I2 = HardMap(s.I2);
            result.I3 = HardMap(s.I3);
            result.I4 = HardMap(s.I4);
            result.I5 = HardMap(s.I5);
            result.I6 = HardMap(s.I6);
            result.I7 = HardMap(s.I7);
            result.I8 = HardMap(s.I8);
            result.N2 = s.N2;
            result.N3 = s.N3;
            result.N4 = s.N4;
            result.N5 = s.N5;
            result.N6 = s.N6;
            result.N7 = s.N7;
            result.N8 = s.N8;
            result.N9 = s.N9;
            result.S1 = s.S1;
            result.S2 = s.S2;
            result.S3 = s.S3;
            result.S4 = s.S4;
            result.S5 = s.S5;
            result.S6 = s.S6;
            result.S7 = s.S7;

            return(result);
        }
        public void Setup()
        {
            var fixture = new Fixture();

            _benchSourceEmitMapper = Mapper.Default.GetMapper <BenchNestedSource, BenchNestedDestination>();

            _simpleEmitMapper =
                Mapper.Default.GetMapper <SimpleTypesSource, SimpleTypesDestination>(new DefaultMapConfig());

            var config = new MapperConfiguration(
                cfg =>
            {
                cfg.CreateMap <BenchNestedSource, BenchNestedDestination>();
                cfg.CreateMap <BenchNestedSource.Nested2, BenchNestedDestination.Inner2>();
                cfg.CreateMap <BenchNestedSource.Nested1, BenchNestedDestination.Inner1>();
                cfg.CreateMap <SimpleTypesSource, SimpleTypesDestination>();
            });

            _autoMapper = config.CreateMapper();

            _benchSource          = fixture.Create <BenchNestedSource>();
            _simpleSource         = fixture.Create <SimpleTypesSource>();
            _simple100List        = fixture.CreateMany <SimpleTypesSource>(100).ToList();
            _simple1000List       = fixture.CreateMany <SimpleTypesSource>(1000).ToList();
            _benchSources1000List = fixture.CreateMany <BenchNestedSource>(1000).ToList();
            this.BenchNested1000_a_HardMapper();
            this.BenchNested1000_b_EmitMapper();
            this.BenchNested1000_c_AutoMapper();
            this.Bench_a_HardMapper();
            this.Bench_b_EmitMapper();
            this.Bench_c_AutoMapper();
            this.SimpleTypes1000_a_HardMapper();
            this.SimpleTypes1000_b_EmitMapper();
            this.SimpleTypes1000_c_AutoMapper();
            this.SimpleTypes100_a_HardMapper();
            this.SimpleTypes100_b_EmitMapper();
            this.SimpleTypes100_c_AutoMapper();
            this.SimpleTypes_a_HardMapper();
            this.SimpleTypes_b_EmitMapper();
            this.SimpleTypes_c_AutoMapper();
        }