public void LiveCell_WithLessThan2LiveNeighbours_Dies()
        {
            SetupNeighbourMockReturnValue(1);
            BasicTwoDimensionalEvolutionRule evolutionrule = new BasicTwoDimensionalEvolutionRule(mockneighbourrule.Object);
            Cell cell = evolutionrule.EvolveCell(alivecell);

            Assert.AreEqual(cell.IsAlive, false);
        }
        public void LiveCell_With3LiveNeighbours_Survives()
        {
            SetupNeighbourMockReturnValue(3);
            BasicTwoDimensionalEvolutionRule evolutionrule = new BasicTwoDimensionalEvolutionRule(mockneighbourrule.Object);
            Cell cell = evolutionrule.EvolveCell(alivecell);

            Assert.AreEqual(cell.IsAlive, true);
        }
        public void DeadCell_WithGreaterThan3LiveNeighbours_RemainsDead()
        {
            SetupNeighbourMockReturnValue(4);
            BasicTwoDimensionalEvolutionRule evolutionrule = new BasicTwoDimensionalEvolutionRule(mockneighbourrule.Object);
            Cell cell = evolutionrule.EvolveCell(deadcell);

            Assert.AreEqual(cell.IsAlive, false);
        }