public void SelectTest()
        {
            #region Формирование исходных данных
            var history = new ExperimentHistory("", null, new Experiment());

            var game = new Game() { Title = "Game" };

            var strike = new Strike() {ErrorDistance = 0};
            var strike2 = new Strike() {ErrorDistance = 1};

            var strikes = new List<Strike> {strike, strike2};

            var users = new Users()
            {
                new User
                {
                    Person = new Person(),
                    Strikes = strikes
                }
            };

            history.AddGame(game, users);

            var settings = new List<PlayerHistorySample>
            {
                new PlayerHistorySample
                {
                    FromStrike = "first",
                    ToStrike = "last",
                    GameTitle = "Game"
                }
            };

            #endregion

            var samples = history.SelectSamples(settings);

            Assert.AreEqual(2, samples.Count());

            for (var i = 0; i < strikes.Count; i++)
            {
                Assert.AreEqual(strikes[i].ErrorDistance, samples.ElementAt(i));
            }
        }
        private static ExperimentHistory CreateHistory(int hitCount, int size, bool lastStrikeHit)
        {
            var history = new ExperimentHistory("", null, new Experiment());

            var game = new Game() { Title = "Game" };

            var strikes = new List<Strike>();

            var count = hitCount - 1;

            var j = 0;

            for (var i = 0; i < size; i++)
            {
                var strike = new Strike
                {
                    IsHit = j < count
                };

                j++;

                strikes.Add(strike);
            }

            strikes.Last().IsHit = lastStrikeHit;

            var users = new Users()
            {
                new User
                {
                    Person = new Person(),
                    Strikes = strikes
                }
            };

            history.AddGame(game, users);

            return history;
        }
        private static ExperimentHistory CreateHistory(double mean, double stddev, int size)
        {
            var history = new ExperimentHistory("", null, new Experiment());

            var game = new Game() {Title = "Game"};

            var samples = Normal.Samples(mean, stddev).Take(size);

            var strikes = samples.Select(t => new Strike {ErrorDistance = t}).ToList();

            var users = new Users()
            {
                new User
                {
                    Person = new Person(),
                    Strikes = strikes
                }
            };

            history.AddGame(game, users);

            return history;
        }
        public void SelectTest18()
        {
            #region Формирование исходных данных
            var history = new ExperimentHistory("", null, new Experiment());

            var game = new Game() { Title = "Game" };

            var strike = new Strike() { ErrorDistance = 0 };
            var strike2 = new Strike() { ErrorDistance = 1 };

            var strikes = new List<Strike> { strike, strike2 };

            var users = new Users()
            {
                new User
                {
                    Person = new Person(),
                    Strikes = strikes
                }
            };

            history.AddGame(game, users);

            var settings = new List<PlayerHistorySample>
            {
                new PlayerHistorySample
                {
                    ToStrike = "last - 10",
                    GameTitle = "Game"
                }
            };

            #endregion

            var samples = history.SelectSamples(settings);
        }