public void Test()
 {
     var e = new Evolution();
     IWorld<ICell> world = new World();
     int n = 7;
     var res = e.Run(world, n);
     Assert.That(res, Is.Not.Null);
 }
        public static void Main()
        {
            var r = new Random();
             var world = new World();
             foreach (var cell in world.Cells)
             {
                 cell.State = r.Next(2) == 0 ? CellState.Dead : CellState.Alive;
             }
             Console.Write(world);

             var e = new Evolution();
             while (true)
             {
                 Console.Clear();
                 Console.Write(e.Run(world,1));
                 Console.ReadLine();
             }
        }
 public void Zero_iterations_no_change()
 {
     var e = new Evolution();
     IWorld<ICell> world = new World();
     Assert.That(e.Run(world, 0), Is.EqualTo(world));
 }