in GameOfLife/ViewModel/PetriDish.cs [67:90]
private void UpdateCellsState()
{
nextGenerationCells = new Cell[width, height]; // comment it to fix PetriDishTest.DontRecreateArrays
for (var i = 0; i < width; i++)
{
for (var j = 0; j < height; j++)
{
nextGenerationCells[i, j] = GetNextGenerationCellUnoptimized(i, j);
// nextGenerationCells[i, j] = GetNextGenerationCell(i, j); // change to fix PetriDishTest.AlgorithmTraffic and PetriDishTest.WholeRunTraffic
}
}
for (var i = 0; i < width; i++)
{
for (var j = 0; j < height; j++)
{
currentCells[i, j].IsAlive = nextGenerationCells[i, j].IsAlive;
currentCells[i, j].Age = nextGenerationCells[i, j].Age;
}
}
RaiseUpdated();
}