static void Main(string[] args) { var conwayCubes = new ConwayCubes(File.ReadAllLines("../input.txt")); //Part One Console.WriteLine(conwayCubes.Solve()); //Part Two Console.WriteLine(conwayCubes.Solve(true)); }
public override string First() { string filename = GetFilename(); List <string> input = System.IO.File.ReadAllLines(filename).ToList(); var conwayCubes = new ConwayCubes(input); conwayCubes.BootProcess(6); int activeCubes = conwayCubes.NrActiveCubes(); return(activeCubes.ToString()); }
public override bool Test() { string filename = GetTestFilename(); List <string> input = System.IO.File.ReadAllLines(filename).ToList(); var conwayCubes = new ConwayCubes(input); conwayCubes.BootProcess(6); int activeCubes = conwayCubes.NrActiveCubes(); bool testSucceeded = activeCubes == 112; return(testSucceeded); }
public void Day17_Example1_Ok() { var sut = new ConwayCubes(); Assert.NotNull(sut); sut.CreateStartCubes(example1); int actual = sut.Cubes[sut.Now].Count; Assert.Equal(5, actual); Assert.Equal(5, sut.NumberActiveCubes(sut.Now)); sut.DumpGeneration(); for (int i = 0; i < 6; i++) { sut.DoCycle(); sut.Toggle(); sut.DumpGeneration(); } actual = sut.NumberActiveCubes(sut.Now); Assert.Equal(112, actual); }
public void Day17Conwaycubes_Part1_Ok() { var lines = DailyDataUtilities.ReadLinesFromFile("Day17Data.txt"); Assert.Equal(8, lines.Length); var sut = new ConwayCubes(); Assert.NotNull(sut); sut.CreateStartCubes(lines); int actual = sut.Cubes[sut.Now].Count; Assert.Equal(25, actual); Assert.Equal(25, sut.NumberActiveCubes(sut.Now)); for (int i = 0; i < 6; i++) { sut.DoCycle(); sut.Toggle(); } actual = sut.NumberActiveCubes(sut.Now); Assert.Equal(211, actual); }
public void PartOneTest() { var subject = new ConwayCubes(GetExampleInput()); Assert.Equal(112, subject.Solve()); }
public void PartTwoTest() { var subject = new ConwayCubes(GetExampleInput()); Assert.Equal(848, subject.Solve(true)); }