private void NeuroEvolution(Assert assert)
        {
            var            random   = new Random(100);
            var            neuro    = new NeuroEvolution(new BaseFitnessTest(), 1000, () => new NeuralNetwork(random, 1, new[] { 2, 4, 2 }, 2, 0.1), random);
            IGeneration    firstGen = null;
            INeuralNetwork bestnet  = null;

            //neuro.GenerationFinished += (sender, generation) => { Console.WriteLine(generation.Best.Error); };
            firstGen = neuro.EvolveGeneration();
            // bestnet = neuro.Evolve(1);
            for (int i = 0; i < 10; i++)
            {
                bestnet = neuro.EvolveGeneration().Best;
            }

            assert.Ok(firstGen.Best.Error < bestnet?.Error);
        }
        private static void ListCountAssert(Assert assert, NeuroEvolution neuro)
        {
            neuro.EvolveGeneration();

            assert.Ok(neuro.NeuralNetworks.ToList().Count == 100, neuro.NeuralNetworks.ToList().Count.ToString());
        }