static void Main(string[] args) { //var day01 = new Day01(); //DayRunner.Run(day01); //var day02 = new Day02(); //DayRunner.Run(day02); //var day03 = new Day03(); //DayRunner.Run(day03); //var day04 = new Day04(); //DayRunner.Run(day04); //var day05 = new Day05(); //DayRunner.Run(day05); //var day06 = new Day06(); //DayRunner.Run(day06); //var day07 = new Day07(); //DayRunner.Run(day07); //var day08 = new Day08(); //DayRunner.Run(day08); //var day09 = new Day09(); //DayRunner.Run(day09); //var day10 = new Day10(); //DayRunner.Run(day10); //var day11 = new Day11(); //DayRunner.Run(day11); var day12 = new Day12(); DayRunner.Run(day12); //var day13 = new Day13(); //DayRunner.Run(day13); }
public void TestTwo() { var input = new Dictionary <int, List <int> >(); input.Add(0, new List <int> { 2 }); input.Add(1, new List <int> { 1 }); input.Add(2, new List <int> { 0, 3, 4 }); input.Add(3, new List <int> { 2, 4 }); input.Add(4, new List <int> { 2, 3, 6 }); input.Add(5, new List <int> { 6 }); input.Add(6, new List <int> { 4, 5 }); Assert.AreEqual(2, Day12.GetResult(input).NonProgramCount); }
public void Example1() { string[] moonStrings = new string[] { "<x=-1, y=0, z=2>", "<x=2, y=-10, z=-7>", "<x=4, y=-8, z=8>", "<x=3, y=5, z=-1>" }; Day12.Problem(10, moonStrings, out int energyAfterIterations, out long returnToOrigin); Assert.AreEqual(179, energyAfterIterations); Assert.AreEqual(2772, returnToOrigin); }
public void Example2() { string[] moonStrings = new string[] { "<x=-8, y=-10, z=0>", "<x=5, y=5, z=10>", "<x=2, y=-7, z=3>", "<x=9, y=-8, z=-3>" }; Day12.Problem(100, moonStrings, out int energyAfterIterations, out long returnToOrigin); Assert.AreEqual(1940, energyAfterIterations); Assert.AreEqual(4686774924, returnToOrigin); }
public static void Y2016_Day12_Process_With_Toggle_Returns_Correct_Solution() { // Arrange string[] instructions = new[] { "cpy 2 a", "tgl a", "tgl a", "tgl a", "cpy 1 a", "dec a", "dec a", }; int[] binsOfInterest = new[] { 0, 1, 2 }; // Act var actual = Day12.Process(instructions, initialValueOfC: 0); // Assert actual.ShouldNotBeNull(); actual.Count.ShouldBe(4); actual.ShouldContainKeyAndValue('a', 3); actual.ShouldContainKeyAndValue('b', 0); actual.ShouldContainKeyAndValue('c', 0); actual.ShouldContainKeyAndValue('d', 0); }
public void ResolvePart1__Test() { Day12 day = new Day12(); string result = day.ResolvePart1(new string[] { "initial state: #..#.#..##......###...###", "", "...## => #", "..#.. => #", ".#... => #", ".#.#. => #", ".#.## => #", ".##.. => #", ".#### => #", "#.#.# => #", "#.### => #", "##.#. => #", "##.## => #", "###.. => #", "###.# => #", "####. => #", }); Assert.AreEqual("325", result); }
public void Day12() { var d = new Day12(); Assert.AreEqual(2280, d.NavigationDistancePart1()); Assert.AreEqual(38693, d.NavigationDistancePart2()); }
public void Day12() { var day = new Day12(); Assert.Equal(283, day.FirstPart()); Assert.Equal(195, day.SecondPart()); }
public void TestApplyGravity() { var moons = Day12.ApplyGravity(new Moon[] { Moon.Parse("<x=-1, y= 0, z= 2>"), Moon.Parse("<x= 2, y=-10, z=-7>"), Moon.Parse("<x= 4, y= -8, z= 8>"), Moon.Parse("<x= 3, y= 5, z=-1>"), }); Assert.Equal(3, moons[0].Velocity.X); Assert.Equal(-1, moons[0].Velocity.Y); Assert.Equal(-1, moons[0].Velocity.Z); Assert.Equal(1, moons[1].Velocity.X); Assert.Equal(3, moons[1].Velocity.Y); Assert.Equal(3, moons[1].Velocity.Z); Assert.Equal(-3, moons[2].Velocity.X); Assert.Equal(1, moons[2].Velocity.Y); Assert.Equal(-3, moons[2].Velocity.Z); Assert.Equal(-1, moons[3].Velocity.X); Assert.Equal(-3, moons[3].Velocity.Y); Assert.Equal(1, moons[3].Velocity.Z); }
public void Day12Test(string json, int expectedSum) { Day12 d = new Day12(); var sum = d.GetSum(json); Assert.That(sum, Is.EqualTo(expectedSum)); }
public void CanSolvePart2(string[] data, int expected) { var day = new Day12(); var result = day.SolvePart2(data); Assert.Equal(expected, result); }
public void GetDay12Part1AnswerTest() { int expected = 5937; int actual = Day12.GetDay12Part1Answer(); Assert.Equal(expected, actual); }
public void Part1() { var solver = new Day12(); var result = solver.Solve(Input, 10); result.ShouldBe(179); }
public void TryingNewData(long generations, long expectedOutput) { var day = new Day12(); var result = day.SolveA(InputData.Day12b, generations); Assert.AreEqual(expectedOutput, result); }
public void Stars() { var run = new Day12(); Assert.Equal("445", run.Result1()); Assert.Equal("42495", run.Result2()); }
public void PartATests(string input, long generations, int expectedOutput) { var day = new Day12(); var result = day.SolveA(input, generations); Assert.AreEqual(expectedOutput, result); }
public void PartATestsRealData(long generations, long expectedOutput) { var day = new Day12(); var result = day.SolveA(InputData.Day12, generations); Assert.AreEqual(expectedOutput, result); }
public void Part2(string file, string expected) { day12 = new Day12(file); var actual = day12.SolvePart2(); Assert.AreEqual(expected, actual); }
public void Part2() { var solver = new Day12(); var result = solver.Solve2(Input, _testOutputHelper); result.ShouldBe(2772); }
public void Y2021_Day12_Navigate_Returns_Correct_Value_3(int smallCaveVisitLimit, int expected) { // Arrange string[] nodes = { "fs-end", "he-DX", "fs-he", "start-DX", "pj-DX", "end-zg", "zg-sl", "zg-pj", "pj-he", "RW-he", "fs-DX", "pj-RW", "zg-RW", "start-pj", "he-WI", "zg-he", "pj-fs", "start-RW", }; // Act int actual = Day12.Navigate(nodes, smallCaveVisitLimit); // Assert actual.ShouldBe(expected); }
public void Day12Test() { var initialStateAndRules = new List <string>() { "initial state: #..#.#..##......###...###", "", "...## => #", "..#.. => #", ".#... => #", ".#.#. => #", ".#.## => #", ".##.. => #", ".#### => #", "#.#.# => #", "#.### => #", "##.#. => #", "##.## => #", "###.. => #", "###.# => #", "####. => #", }; var day = new Day12(initialStateAndRules); var sum = day.computePart1(20); Assert.AreEqual(325, sum); }
public void Solve2() { var input = File.ReadAllLines("C:\\Code\\aoc2018\\aoc2018\\Data\\input12.txt").ToList(); var result = Day12.Solve1(input, 50000000000); _output.WriteLine(result.ToString()); }
public void TestMovementsPart2() { var movements = new string[] { "F10", "N3", "F7", "R90", "F11", }.Select(Day12.Parse).ToArray(); var statusShip = new Status(0, 0, 0); var statusWayPoint = new Status(10, 1, 0); var status = Day12.Move2(statusWayPoint, statusShip, movements[0]); status.ship.Should().BeEquivalentTo(new Status(100, 10, 0)); status.waypoint.Should().BeEquivalentTo(new Status(10, 1, 0)); status = Day12.Move2(status.waypoint, status.ship, movements[1]); status.ship.Should().BeEquivalentTo(new Status(100, 10, 0)); status.waypoint.Should().BeEquivalentTo(new Status(10, 4, 0)); status = Day12.Move2(status.waypoint, status.ship, movements[2]); status.ship.Should().BeEquivalentTo(new Status(170, 38, 0)); status.waypoint.Should().BeEquivalentTo(new Status(10, 4, 0)); status = Day12.Move2(status.waypoint, status.ship, movements[3]); status.ship.Should().BeEquivalentTo(new Status(170, 38, 0)); status.waypoint.Should().BeEquivalentTo(new Status(4, -10, 0)); status = Day12.Move2(status.waypoint, status.ship, movements[4]); status.ship.Should().BeEquivalentTo(new Status(214, -72, 0)); status.waypoint.Should().BeEquivalentTo(new Status(4, -10, 0)); }
public void RuleParsing(string input, int key, bool outcome) { var rule = Day12.ParseRule(input); Assert.Equal(outcome, rule.Outcome); Assert.Equal(key, rule.Key); }
public void TestPart2() { string[] input = new string[] { "initial state: #..#.#..##......###...###", string.Empty, "...## => #", "..#.. => #", ".#... => #", ".#.#. => #", ".#.## => #", ".##.. => #", ".#### => #", "#.#.# => #", "#.### => #", "##.#. => #", "##.## => #", "###.. => #", "###.# => #", "####. => #" }; Day12 day12 = new Day12(); Assert.Equal(999999999374, day12.Part2(input)); }
public void Solve() { var input = InputDataHelper.Get(12).Trim(); var solver = new Day12(); var result = solver.Solve(input, 1000); _testOutputHelper.WriteLine(result.ToString()); }
public void GetNewVelocityTest() { var current = new Vector(0, 0, 0); var other = new Vector(3, 0, -2); Day12.GetForce(current, other).Should() .BeEquivalentTo(new Vector(1, 0, -1)); }
public void Part2() { var expected = 36; var day = new Day12(); var actual = day.Part2(_input); Assert.Equal(expected, actual); }
public void Test2() { var input = File.ReadAllLines("C:\\Code\\aoc2018\\aoc2018\\Data\\input12.txt").ToList(); var result = Day12.Solve1(input, 500); // var result = Day12.Solve1(input, 50000000000); Assert.Equal(21428, result); }
public void RotateWaypoint(int x, int y, Direction direction, int amount, int expectedX, int expectedY) { var position = new Position(x, y); var expected = new Position(expectedX, expectedY); var actualPosition = Day12.RotateWaypoint(position, direction, amount); Assert.Equal(expected, actualPosition); }