Inheritance: DayBase
Example #1
0
        public void Part2_WithExampleData_PlaysGame()
        {
            var input  = "389125467";
            var result = Day23.SolvePart2(input);

            Assert.Equal(149245887792, result);
        }
Example #2
0
    public void Part1(string input, ulong numMoves, ulong expected)
    {
        var day    = new Day23();
        var actual = day.Part1(input, numMoves);

        Assert.Equal(expected, actual);
    }
Example #3
0
        public void GetDay23Part2AnswerTest()
        {
            BigInteger expected = 19641;
            BigInteger actual   = Day23.GetDay23Part2Answer();

            Assert.Equal(expected, actual);
        }
Example #4
0
        public void Part1_WithExampleData_PlaysGame()
        {
            var input  = "389125467";
            var result = Day23.SolvePart1(input);

            Assert.Equal(67384529, result);
        }
Example #5
0
        public void GetDay23Part01AnswerTest()
        {
            string expected = "97245386";
            string actual   = Day23.GetDay23Part01Answer();

            Assert.Equal(expected, actual);
        }
Example #6
0
        public void GetDay23Part02AnswerTest()
        {
            long expected = 156180332979;
            long actual   = Day23.GetDay23Part02Answer();

            Assert.Equal(expected, actual);
        }
Example #7
0
        public void TestPartOneSample()
        {
            string input = "cpy 2 a\ntgl a\ntgl a\ntgl a\n" +
                           "cpy 1 a\ndec a\ndec a";

            Assert.Equal(3, Day23.PartOne(input.Split("\n")));
        }
Example #8
0
    public void Day23_Both_Parts(long part1, long part2)
    {
        var d = new Day23();

        Assert.Equal(part1.ToString(), d.Part1());
        Assert.Equal(part2.ToString(), d.Part2());
    }
Example #9
0
        public void SolvePart2Slow()
        {
            var d      = new Day23();
            var answer = d.Part2("389125467");

            Assert.AreEqual("149245887792", answer);
        }
Example #10
0
        public void CanParseCups()
        {
            var d = new Day23();
            var c = d.Parse("389125467");

            Assert.AreEqual("389125467", d.Describe(c));
        }
Example #11
0
        public void SolveAfter100Moves()
        {
            var d      = new Day23();
            var answer = d.Part1("389125467");

            Assert.AreEqual("67384529", answer);
        }
Example #12
0
        public void Solve2()
        {
            var input  = File.ReadAllText("C:\\Code\\aoc2018\\aoc2018\\Data\\input23.txt");
            var result = Day23.Solve2(input);

            _output.WriteLine(result.ToString());
        }
Example #13
0
        public void Test2_a()
        {
            var input = File.ReadAllText("C:\\Code\\aoc2018\\aoc2018\\Data\\input23_a.txt");

            var(distance, count) = Day23.Solve2(input);
            Assert.Equal(975, count);
        }
Example #14
0
        public void Part2RealPuzzle()
        {
            var input  = GetPuzzleInput();
            var result = Day23.SolvePart2(input);

            Assert.Equal(-1, result);
        }
Example #15
0
    public void Part2(string input, ulong expected)
    {
        var day    = new Day23();
        var actual = day.Part2(input);

        Assert.Equal(expected, actual);
    }
Example #16
0
        public void Day23()
        {
            var day = new Day23();

            Assert.Equal(3025, day.FirstPart());
            Assert.Equal(915, day.SecondPart());
        }
Example #17
0
        public void PartBTests(string input, int expectedOutput)
        {
            var day    = new Day23();
            var result = day.SolveB(input);

            Assert.AreEqual(expectedOutput, result);
        }
Example #18
0
        public void Part2_Answer()
        {
            var day23   = new Day23();
            var actualH = day23.Solve_Part2(PUZZLE_INPUT);

            Assert.Equal(907, actualH);
        }
Example #19
0
        public void Part1_Answer()
        {
            var day23  = new Day23();
            var actual = day23.Solve_Part1(PUZZLE_INPUT);

            Assert.Equal(5929, actual);
        }
Example #20
0
        public void Day23Test1()
        {
            Day    _day23                 = new Day23("pos =< 10, 12, 12 >, r = 2\r\npos =< 12, 14, 12 >, r = 2\r\npos =< 16, 12, 12 >, r = 4\r\npos =< 14, 14, 14 >, r = 6\r\npos =< 50, 50, 50 >, r = 200\r\npos =< 10, 10, 10 >, r = 5");
            string PartTwoExpected        = "36";
            Tuple <string, string> Actual = _day23.getResult();

            Assert.AreEqual(PartTwoExpected, Actual.Item2);
        }
Example #21
0
        public void Day23Test()
        {
            Day    _day23                 = new Day23("pos=<0,0,0>, r=4\r\npos=<1,0,0>, r=1\r\npos=<4,0,0>, r=3\r\npos=<0,2,0>, r=1\r\npos=<0,5,0>, r=3\r\npos=<0,0,3>, r=1\r\npos=<1,1,1>, r=1\r\npos=<1,1,2>, r=1\r\npos=<1,3,1>, r=1");
            string PartOneExpected        = "7";
            Tuple <string, string> Actual = _day23.getResult();

            Assert.AreEqual(PartOneExpected, Actual.Item1);
        }
Example #22
0
        public void Solve()
        {
            const string input  = "643719258";
            var          solver = new Day23();
            var          result = solver.Solve(input, 100);

            Output.WriteLine(result); // 54896723
        }
Example #23
0
        public void Solve2()
        {
            const string input  = "643719258";
            var          solver = new Day23();
            var          result = solver.Solve2(input);

            Output.WriteLine(result.ToString());
        }
Example #24
0
        public void Part1(int rounds, string expected)
        {
            const string input  = "389125467";
            var          solver = new Day23();
            var          result = solver.Solve(input, rounds);

            result.ShouldBe(expected);
        }
Example #25
0
        public void Part2()
        {
            const string input  = "389125467";
            var          solver = new Day23();
            var          result = solver.Solve2(input);

            result.ShouldBe(149245887792);
        }
Example #26
0
        public void ProdResultAfter100TurnsA()
        {
            int    turns  = 100;
            string result = Day23.AOCDay23Part1A(ProdNumberList, turns);
            string answer = "9,3,7,4,8,2,6,1,5";

            Assert.Equal(answer, result);
        }
Example #27
0
        public void TestResultAfter1000000TurnsA()
        {
            int    turns  = 1000000;
            string result = Day23.AOCDay23Part1A(TestNumberList, turns);
            string answer = "9,7,2,4,3,6,8,1,5";

            Assert.Equal(answer, result);
        }
Example #28
0
        public void TestResultAfter10TurnsA()
        {
            int    turns  = 10;
            string result = Day23.AOCDay23Part1A(TestNumberList, turns);
            string answer = "5,8,3,7,4,1,9,2,6";

            Assert.Equal(answer, result);
        }
Example #29
0
        public void ProdResultAfter1000000Turns()
        {
            int    turns  = 1000000;
            string result = Day23.AOCDay23Part1(ProdNumberList, turns);
            string answer = "5,7,2,8,1,3,9,4,6";

            Assert.Equal(answer, result);
        }
Example #30
0
        public void TestResultAfter100Turns()
        {
            int    turns  = 100;
            string result = Day23.AOCDay23Part1(TestNumberList, turns);
            string answer = "2,9,1,6,7,3,8,4,5";

            Assert.Equal(answer, result);
        }