Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        public void PartOneTest()
        {
            var subject = new ConwayCubes(GetExampleInput());

            Assert.Equal(112, subject.Solve());
        }
Exemplo n.º 7
0
        public void PartTwoTest()
        {
            var subject = new ConwayCubes(GetExampleInput());

            Assert.Equal(848, subject.Solve(true));
        }