Exemple #1
0
        public void Test10()
        {
            var result = Day18.Solve(Input, 10);

            Assert.Equal(Expected10.Trim(), result.state);
            Assert.Equal(1147, result.answer);
        }
Exemple #2
0
        public void Solve()
        {
            var input  = File.ReadAllText("C:\\Code\\aoc2018\\aoc2018\\Data\\input18.txt");
            var result = Day18.Solve(input, 10);

            _output.WriteLine(result.answer.ToString());
        }
        public void Part2SamplePuzzle()
        {
            var input  = GetPart2SampleInput();
            var result = Day18.SolvePart2(input);

            Assert.Equal(3, result);
        }
        public void Part2RealPuzzle()
        {
            var input  = GetPuzzleInput();
            var result = Day18.SolvePart2(input);

            Assert.Equal(5969, result);
        }
        public void TestPart2()
        {
            long part2Solution = 0360029542265462L;
            var  day           = new Day18();

            day.ExecutePart2().Should().Be(part2Solution);
        }
        public void Part1RealPuzzle()
        {
            var input  = GetPuzzleInput();
            var result = Day18.SolvePart1(input);

            Assert.Equal(1187, result);
        }
        public void TestPart1()
        {
            var part1Solution = 75592527415659L;
            var day           = new Day18();

            day.ExecutePart1().Should().Be(part1Solution);
        }
Exemple #8
0
        public void Day18()
        {
            var day = new Day18();

            Assert.Equal(2951, day.FirstPart());
            Assert.Equal(7366, day.SecondPart());
        }
Exemple #9
0
        public void CanGetInnerString(string expr, int i, string expected)
        {
            var d      = new  Day18();
            var result = d.GetInner(expr, i);

            result.Should().Be(expected);
        }
Exemple #10
0
        public void Part1(string input, int expected)
        {
            var solver = new Day18();
            var result = solver.Solve(input);

            result.ShouldBe(expected);
        }
        public void PrecedentSum( )
        {
            day18 = new Day18("day18test1");
            var actual = day18.PrecedentSum(day18.Input.First( ));

            Assert.AreEqual(231, actual);
        }
Exemple #12
0
        public void TestShouldEqual13632()
        {
            string  line   = testCase5.Replace(" ", "");
            decimal answer = Day18.LineSolver(line, true);

            Assert.Equal(13632M, answer);
        }
Exemple #13
0
        public void Part2_Answer()
        {
            var day18  = new Day18();
            var actual = day18.Solve2(PUZZLE_INPUT);

            Assert.Equal(7493, actual);
        }
        public void Part2(string file, int expected)
        {
            day18 = new Day18(file);
            var actual = day18.SolvePart2( );

            Assert.AreEqual(expected.ToString( ), actual);
        }
Exemple #15
0
        public void GetDay18Part2AnswerTest()
        {
            int expected = 1538;
            int actual   = Day18.GetDay18Part2Answer();

            Assert.Equal(expected, actual);
        }
Exemple #16
0
        public void Stars()
        {
            var run = new Day18();

            Assert.Equal("69490582260", run.Result1());
            Assert.Equal("362464596624526", run.Result2());
        }
Exemple #17
0
        public void Mutate_1()
        {
            var input = @"
.#.#.#
...##.
#....#
..#...
#.#..#
####..";

            var deck = Day18.ParseInput(input);

            var mutant = Day18.Mutate(deck);

            Assert.AreEqual(0, mutant[0, 0]);
            Assert.AreEqual(0, mutant[0, 1]);
            Assert.AreEqual(1, mutant[0, 2]);
            Assert.AreEqual(1, mutant[0, 3]);
            Assert.AreEqual(0, mutant[0, 4]);
            Assert.AreEqual(0, mutant[0, 5]);

            mutant = Day18.Mutate(mutant);

            Assert.AreEqual(0, mutant[0, 0]);
            Assert.AreEqual(0, mutant[0, 1]);
            Assert.AreEqual(1, mutant[0, 2]);
            Assert.AreEqual(1, mutant[0, 3]);
            Assert.AreEqual(1, mutant[0, 4]);
            Assert.AreEqual(0, mutant[0, 5]);
        }
Exemple #18
0
        [Fact] public void EvaluateTest()
        {
            Day18.Evaluate("2 * 3 + (4 * 5)").Should().Be(26);
            Day18.Evaluate("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2").Should().Be(13632);

            Day18.Evaluate("(2 )*( 3 + ((4 )*( 5)))").Should().Be(46);
        }
Exemple #19
0
    public void Part1(string[] input, int expected)
    {
        var day    = new Day18();
        var actual = day.Part1(input);

        Assert.Equal(expected, actual);
    }
Exemple #20
0
        //[Test]
        //[TestCase("4, 5, 6", 456)]

        public void PartBTests(string input, int expectedOutput)
        {
            var day    = new Day18();
            var result = day.SolveB(input);

            Assert.AreEqual(expectedOutput, result);
        }
Exemple #21
0
        public void WithParentheses(string expr, int expected)
        {
            var d      = new Day18();
            var result = d.Evaluate(expr);

            result.Should().Be(expected);
        }
        public void SimpleSum( )
        {
            day18 = new Day18("day18test1");
            var actual = day18.SimpleSum(day18.Input.First( ));

            Assert.AreEqual(71, actual);
        }
Exemple #23
0
        public void Q1Test()
        {
            var day    = new Day18(_testInput);
            var result = day.GetMutationTenScore();

            Assert.Equal(1147, result);
        }
Exemple #24
0
        public void ParseInput_()
        {
            var input = @"
.#.#.#
...##.
#....#
..#...
#.#..#";

            var result = Day18.ParseInput(input);

            Assert.AreEqual(5, result.GetLength(0));
            Assert.AreEqual(6, result.GetLength(1));

            Assert.AreEqual(0, result[0, 0]);
            Assert.AreEqual(1, result[0, 1]);
            Assert.AreEqual(0, result[0, 2]);
            Assert.AreEqual(1, result[0, 3]);
            Assert.AreEqual(0, result[0, 4]);
            Assert.AreEqual(1, result[0, 5]);

            Assert.AreEqual(1, result[4, 0]);
            Assert.AreEqual(0, result[4, 1]);
            Assert.AreEqual(1, result[4, 2]);
            Assert.AreEqual(0, result[4, 3]);
            Assert.AreEqual(0, result[4, 4]);
            Assert.AreEqual(1, result[4, 5]);
        }
Exemple #25
0
        public void MultipleExpression(string expr, int expected)
        {
            var d      = new Day18();
            var result = d.Evaluate(expr);

            result.Should().Be(expected);
        }
        public void GetDay18Part02AnswerTest()
        {
            long expected = 388966573054664;
            long actual   = Day18.GetDay18Part02Answer();

            Assert.Equal(expected, actual);
        }
        public void GetDay18Part01AnswerTest()
        {
            long expected = 18213007238947;
            long actual   = Day18.GetDay18Part01Answer();

            Assert.Equal(expected, actual);
        }
Exemple #28
0
    public void Y2016_Day18_FindSafeTileCount_Returns_Correct_Solution(string firstRowTiles, int rows, int expected)
    {
        // Act
        (int actual, _) = Day18.FindSafeTileCount(firstRowTiles, rows, Logger);

        // Assert
        actual.ShouldBe(expected);
    }
Exemple #29
0
        public void Q2()
        {
            var day    = new Day18(Inputs.Day18);
            var result = day.GetMutationStableScore();

            Assert.Equal(183787, result);
            //Render(day.Map);
        }
Exemple #30
0
        public void Q1()
        {
            var day    = new Day18(Inputs.Day18);
            var result = day.GetMutationTenScore();

            Assert.Equal(574590, result);
            //Render(day.Map);
        }