public void MyTestMethod()
        {
            var statureMock = new Mock <IStatureGrowthRecordLoader>();

            statureMock
            .Setup(m => m.GetRecords(It.IsAny <Gender>()))
            .Returns(() => Maybe.Some(new List <GrowthRecord>
            {
                new GrowthRecord
                {
                    Age                     = 10,
                    ThirdPercentile         = 100,
                    FifthPercentile         = 105,
                    TenthPercentile         = 107,
                    TwentyFifthPercentile   = 110,
                    FiftiethPercentile      = 120,
                    SeventyFifthPercentile  = 125,
                    NinetiethPercentile     = 130,
                    NinetyFifthPercentile   = 135,
                    NinetySeventhPercentile = 140,
                    NinetyEigthPercentile   = 150
                }
            }));

            var weightMock = new Mock <IWeightGrowthRecordLoader>();

            weightMock
            .Setup(m => m.GetRecords(It.IsAny <Gender>()))
            .Returns(() => Maybe.Some(new List <GrowthRecord>
            {
                new GrowthRecord
                {
                    Age                     = 10,
                    ThirdPercentile         = 100,
                    FifthPercentile         = 105,
                    TenthPercentile         = 107,
                    TwentyFifthPercentile   = 110,
                    FiftiethPercentile      = 120,
                    SeventyFifthPercentile  = 125,
                    NinetiethPercentile     = 130,
                    NinetyFifthPercentile   = 135,
                    NinetySeventhPercentile = 140,
                    NinetyEigthPercentile   = 150
                }
            }));

            var repo = new PercentileGrowthSetRepository(statureMock.Object, weightMock.Object);

            var data = repo.GetMalePercentileGrowthSet();

            Assert.IsNotNull(data);
        }
        public YoungPlayerBuilderTest()
        {
            //initialise dependencies
            string dataDir = Directory.GetCurrentDirectory() + @"\..\..\";


            // arrange: create & setup mocks, create loader with mock
            _mockHostingEnv = new Mock <IHostEnvironment>();
            _mockHostingEnv
            .Setup(env => env.ContentRootPath)
            .Returns(() => dataDir);

            _game = new Game.Domain.Game("test game", DateTime.Parse("2020-01-01"));

            _intRandomiser = new IntRandomiser();
            _multipleIntValuesRandomiser = new MultipleIntValuesRandomiser();
            _ageRandomiser               = new AgeRandomiser(_intRandomiser);
            _featureRatingRandomiser     = new FeatureRatingRandomiser(_intRandomiser);
            _dataPathHelper              = new DataPathHelper(_mockHostingEnv.Object);
            _firstnameRecordsLoader      = new FirstnameRecordsLoader(_dataPathHelper);
            _lastnameRecordsLoader       = new LastnameRecordsLoader(_dataPathHelper);
            _listRandomiser              = new ListRandomiser(_intRandomiser);
            _firstnameGenerator          = new FirstnameGenerator(_firstnameRecordsLoader, _listRandomiser);
            _lastnameGenerator           = new LastnameGenerator(_lastnameRecordsLoader, _listRandomiser);
            _personNameGenerator         = new PersonNameGenerator(_firstnameGenerator, _lastnameGenerator);
            _genderGenerator             = new GenderGenerator(_intRandomiser);
            _dobGenerator                = new DateOfBirthGenerator(_game, _ageRandomiser);
            _worldCitiesLoader           = new WorldCitiesLoader(_dataPathHelper);
            _birthLocationGenerator      = new BirthLocationGenerator(_worldCitiesLoader, _listRandomiser);
            _percentileGenerator         = new PercentileGenerator(_intRandomiser);
            _favouriteFootGenerator      = new FavouriteFootGenerator(_percentileGenerator);
            _physicalFeatureSetGenerator = new PhysicalFeatureSetGenerator(_featureRatingRandomiser);
            _statureGrLoader             = new StatureGrowthRecordLoader(_dataPathHelper);
            _weightGrLoader              = new WeightGrowthRecordLoader(_dataPathHelper);
            _percentileGrRepository      = new PercentileGrowthSetRepository(_statureGrLoader, _weightGrLoader);
            _bmiGenerator                = new BodyMassIndexGenerator(_game, _percentileGrRepository);
            _countriesGenerator          = new CountriesGenerator(_listRandomiser, _intRandomiser, _multipleIntValuesRandomiser);
            _growthSetGenerator          = new GrowthSetGenerator(_percentileGrRepository, _listRandomiser);
            _playerPositionGenerator     = new PlayerPositionGenerator(_percentileGenerator);
        }