public void Test_Read_Octupi_OK() { var lines = Utils.ReadLinesFromFile("Day11Test.txt"); Assert.Equal(10, lines.Length); var sut = new OctopusEnergyMeter(lines); Assert.Equal(5, sut.OctopusGrid[0, 0].Energy); Assert.Equal(6, sut.OctopusGrid[9, 9].Energy); for (int i = 0; i < 10; i++) { sut.DoStep(i); } Assert.Equal(204, sut.TotalFlashes); for (int i = 0; i < 90; i++) { sut.DoStep(i); } Assert.Equal(1656, sut.TotalFlashes); }
public void Test_OctopusSynchronization_OK() { var lines = Utils.ReadLinesFromFile("Day11Test.txt"); Assert.Equal(10, lines.Length); var sut = new OctopusEnergyMeter(lines); int step = 0; do { sut.DoStep(step++); } while (sut.Synchronized == int.MaxValue); Assert.Equal(195, sut.Synchronized + 1); }
public void Day11_Puzzle1_OK() { var lines = Utils.ReadLinesFromFile("Day11.txt"); Assert.Equal(10, lines.Length); var sut = new OctopusEnergyMeter(lines); Assert.Equal(4, sut.OctopusGrid[0, 0].Energy); Assert.Equal(4, sut.OctopusGrid[9, 9].Energy); for (int i = 0; i < 100; i++) { sut.DoStep(i); } Assert.Equal(1741, sut.TotalFlashes); }
public void Day11_Puzzle2_OK() { var lines = Utils.ReadLinesFromFile("Day11.txt"); Assert.Equal(10, lines.Length); var sut = new OctopusEnergyMeter(lines); Assert.Equal(4, sut.OctopusGrid[0, 0].Energy); Assert.Equal(4, sut.OctopusGrid[9, 9].Energy); int step = 0; do { sut.DoStep(step++); } while (sut.Synchronized == int.MaxValue); Assert.Equal(440, sut.Synchronized + 1); }