Beispiel #1
0
    public async Task TestDay5Part1()
    {
        var inputMock    = PrepareInput();
        var objUnderTest = new Day5(inputMock.Object);

        Assert.That(await objUnderTest.Part1(), Is.EqualTo(820));
    }
Beispiel #2
0
    public void Part2()
    {
        var day5   = new Day5(_testInput);
        var result = day5.CountOverlappingPoints();

        Assert.Equal(12, result);
    }
Beispiel #3
0
        public void ContainsForbiddenPairs(string input, bool expectedValue)
        {
            var day5   = new Day5();
            var actual = day5.ContainsForbiddenPairs(input);

            Assert.Equal(expectedValue, actual);
        }
Beispiel #4
0
        public void CheckContainsAtLeastThreeVowels(string input, bool expectedValue)
        {
            var day5   = new Day5();
            var actual = day5.ContainsAtLeastThreeVowels(input);

            Assert.Equal(expectedValue, actual);
        }
Beispiel #5
0
        public void IsNice2(string input, bool expectedValue)
        {
            var day5   = new Day5();
            var actual = day5.IsNice2(input);

            Assert.Equal(expectedValue, actual);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            PuzzleSolver puzzleSolver;

            puzzleSolver = new Day1(InputStrings.InputStringDay1);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day2(InputStrings.InputStringDay2);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day3(InputStrings.InputStringDay3);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day4(InputStrings.InputStringDay4);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day5(InputStrings.InputStringDay5);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day6(InputStrings.InputStringDay6);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day7(InputStrings.InputStringDay7);
            puzzleSolver.SolvePuzzles();

            puzzleSolver = new Day8(InputStrings.InputStringDay8);
            puzzleSolver.SolvePuzzles();
        }
Beispiel #7
0
        public void TestSample1()
        {
            var memory = new int[] { 1002, 4, 3, 4, 33 };

            Day5.Compute(memory, null);
            Assert.AreEqual(99, memory[4]);
        }
Beispiel #8
0
        public void CanOptimizeForAPolymer()
        {
            var day5   = new Day5("dabAcCaCBAcCcaDA");
            var result = day5.Optimize("a");

            Assert.Equal("dbCBcD", result);
        }
Beispiel #9
0
        public void Q1()
        {
            var day5   = new Day5(Inputs.Day5);
            var result = day5.Reduce();

            Assert.Equal(9822, result.Length);
        }
        public void CanGetSeatNumber(string boardingPass, int expected)
        {
            var day5   = new Day5();
            var result = day5.GetSeatNumber(boardingPass);

            Assert.Equal(expected, result);
        }
Beispiel #11
0
        public void PartBTests(string input, int expectedOutput)
        {
            var day    = new Day5();
            var result = day.SolveB(input);

            Assert.AreEqual(expectedOutput, result);
        }
Beispiel #12
0
        public async Task Day5_Task2(string file, long expected)
        {
            var actual = await Day5.Task2(file);

            Assert.Equal(expected, actual);
            _output.WriteLine($"{actual}");
        }
        public void CanSolvePart1(string[] boardingPasses, int expected)
        {
            var day5   = new Day5();
            var result = day5.SolvePart1(boardingPasses.Select(day5.GetSeatNumber).ToList());

            Assert.Equal(expected, result);
        }
Beispiel #14
0
        public async Task Day5_Task1(string file, long expected)
        {
            var max = await Day5.Task1(file);

            Assert.Equal(expected, max);
            _output.WriteLine($"{max}");
        }
Beispiel #15
0
        public void CanOptimizeForAllPolymers()
        {
            var day5   = new Day5("dabAcCaCBAcCcaDA");
            var result = day5.OptimizeForAllPolymers();

            Assert.Equal("daDA", result);
        }
Beispiel #16
0
        public void TestSample2()
        {
            var memory = new int[] { 1101, 100, -1, 4, 0 };

            Day5.Compute(memory, null);
            Assert.AreEqual(99, memory[4]);
        }
Beispiel #17
0
        public void TestMethodPart2(int[] input, int expectedResult)
        {
            var sut = new Day5();

            var result = sut.Execute2(input);

            result.ShouldBe(expectedResult);
        }
        public void TestDay5()
        {
            var obj = new Day5();

            Assert.IsTrue(Day5.MD5Hash("abc3231929").StartsWith("00000"));
            Assert.AreEqual("18f47a30", obj.Part1("abc"));
            Assert.AreEqual("05ace8e3", obj.Part2("abc"));
        }
Beispiel #19
0
        public void NumberOfNiceStrings2()
        {
            const int RealNumberOfNiceStrings = 55;
            var       day5  = new Day5();
            var       count = day5.NumberOfNiceStrings2(LoadFromResource.Load("AdventOfCode.Tests.TestData.Day5.txt"));

            Assert.Equal(RealNumberOfNiceStrings, count);
        }
Beispiel #20
0
        public void Q2()
        {
            var day5   = new Day5(Inputs.Day5);
            var result = day5.OptimizeForAllPolymers();

            Assert.StartsWith("kYEdWFUoAxTPmFIVPxmFpELyibyPuLvpxwwJcZ", result);
            Assert.Equal(5726, result.Length);
        }
Beispiel #21
0
        public IActionResult Day5()
        {
            Day5 day5 = new Day5();

            ViewData["problem"]  = day5.getDefaultProblem();
            ViewData["Solution"] = "";
            return(View("DayX", getModel(4)));
        }
Beispiel #22
0
        public void ShouldSolve()
        {
            var target = new Day5();

            var result = target.StepsToExit(input);

            _output.WriteLine(result.ToString());
        }
Beispiel #23
0
        public IActionResult Day5(string problem)
        {
            Day5 day5 = new Day5();

            ViewData["problem"]  = problem;
            ViewData["Solution"] = day5.solvePart1() + "<br/>" + day5.solvePart2();
            return(View("DayX", getModel(4)));
        }
Beispiel #24
0
        public void ShouldStepBackwards()
        {
            var target = new Day5();

            var result = target.StepsToExit(new[] { 2, 3, -1, 0 });

            result.Should().Be(3);
        }
Beispiel #25
0
        public void ShouldStepEasyExample()
        {
            var target = new Day5();

            var result = target.StepsToExit(new[] { 1, 1, 1 });

            result.Should().Be(3);
        }
Beispiel #26
0
        public void Example1()
        {
            var target = new Day5();

            var result = target.StepsToExit(new[] { 0, 3, 0, 1, -3 });

            result.Should().Be(5);
        }
Beispiel #27
0
        public void CanReduceFunkyPolymersPart1()
        {
            var input = "AjJa";

            var day5   = new Day5(input);
            var result = day5.Reduce();

            Assert.Equal("", result);
        }
Beispiel #28
0
        public void CanReduceTwoPolymers()
        {
            var input = "jJ";

            var day5   = new Day5(input);
            var result = day5.Reduce();

            Assert.Equal("", result);
        }
Beispiel #29
0
        public void Task1_CountExitSteps()
        {
            var input = new List <int> {
                0, 3, 0, 1, -3
            };
            var stepsNeeded = Day5.LeaveInstructionList(input);

            Assert.That(stepsNeeded, Is.EqualTo(5));
        }
Beispiel #30
0
        public void CanReduceTwoPolymersFollowedByMore()
        {
            var input = "jJJJJJ";

            var day5   = new Day5(input);
            var result = day5.Reduce();

            Assert.Equal("JJJJ", result);
        }