public Benchmarks() { Day14 = new Day14(); Day15 = new Day15(); Day16 = new Day16(); (console, _, _) = VirtualConsole.CreateBuffered(); }
public void Task2Test() { Assert.AreEqual(9, Day14.Task2("51589")); Assert.AreEqual(5, Day14.Task2("01245")); Assert.AreEqual(18, Day14.Task2("92510")); Assert.AreEqual(2018, Day14.Task2("59414")); }
public void Part1Test() { Day14 day14 = new Day14(); var result = day14.Part1(); Assert.Equal(1, result); }
public void GetDay14Part2AnserTest() { BigInteger expected = 1893569; BigInteger actual = Day14.GetDay14Part2Answer(); Assert.Equal(expected, actual); }
public void DistanceTravelledByFurthestReindeer(string reindeer, int time, int expectedDistance) { var day14 = new Day14(); var actualDistance = day14.DistanceTravelledByFurthestReindeer(reindeer, time); Assert.Equal(expectedDistance, actualDistance); }
public void Day14Part02() { var day = new Day14(); var grid = day.GenerateGrid("flqrgnkx"); day.Part02("flqrgnkx").Should().Be("1242"); }
public async Task Day14_Part2_Test() { //var result = await fixture.Client.GetAsync("/2019/day/14/input"); //result.EnsureSuccessStatusCode(); //var input = await result.Content.ReadAsStringAsync(); var input = Day14Input; var totalCollectedOre = 1000000000000; var fuelAmount = 0L; var fuelLeft = 0L; var fuelRight = 4300000L; var neededOre = 0L; // using binary search to find the fuel amount while (true) { if (fuelAmount == fuelLeft + (fuelRight - fuelLeft) / 2) { break; } fuelAmount = fuelLeft + (fuelRight - fuelLeft) / 2; neededOre = new Day14().CalculateNeededOre(input, neededOutput: (material: "FUEL", amount: fuelAmount)); if (totalCollectedOre - neededOre > 0) { fuelLeft = fuelAmount; } else { fuelRight = fuelAmount; } } Assert.Equal(4200533, fuelAmount); }
public void PartATests(int input, string expectedOutput) { var day = new Day14(); var result = day.SolveA(input); Assert.AreEqual(expectedOutput, result); }
public void PartBTests(string input, int expectedOutput) { var day = new Day14(); var result = day.SolveB(input); Assert.AreEqual(expectedOutput, result); }
public void CanSolvePart2(string[] data, int expected) { var day = new Day14(); var result = day.SolvePart2(data); Assert.Equal(expected, result); }
public void TestMask(string bits, int defaultValue, UInt64 expected) { var day = new Day14(); var result = day.Mask(bits, defaultValue); Assert.Equal(expected, result); }
public void Y2021_Day14_Expand_Returns_Correct_Value(int steps, long expected) { // Arrange string[] instructions = { "NNCB", string.Empty, "CH -> B", "HH -> N", "CB -> H", "NH -> C", "HB -> C", "HC -> B", "HN -> C", "NN -> C", "BH -> H", "NC -> B", "NB -> B", "BN -> B", "BB -> N", "BC -> B", "CC -> N", "CN -> C", }; // Act long actual = Day14.Expand(instructions, steps); // Assert actual.ShouldBe(expected); }
public void Day14() { var day = new Day14(); Assert.Equal(8304, day.FirstPart()); Assert.Equal(1018, day.SecondPart()); }
public static void Solve(string[] input) { var memory = new Dictionary <ulong, ulong>(); Mask Mask = default; foreach (string line in input) { if (line.StartsWith("mask")) { Mask = GetMaskFromString(line); } else { // Calculate all the addresses needed and write to all of them var wc = Day14.GetWriteCommandFromString(line); var addresses = CalculateAddresses((ulong)wc.Address, Mask); foreach (var address in addresses) { if (memory.ContainsKey(address)) { memory[address] = wc.Value; } else { memory.Add(address, wc.Value); } } } } var part2Answer = memory.Select(x => Convert.ToInt64(x.Value)).Sum(); Console.WriteLine($"Part 2: {part2Answer}"); }
public void Part2_Answer() { var day14 = new Day14(); var(_, actual) = day14.Count("jzgqcdpd"); Assert.Equal(1212, actual); }
public void Solve2() { var result = Day14.Solve2("165061"); File.WriteAllText("C:\\Code\\aoc2018\\output14.txt", result.Item1); _output.WriteLine(result.Item2.ToString()); }
public void Part1() { var day14 = new Day14(); var(actual, _) = day14.Count("flqrgnkx"); Assert.Equal(8108, actual); }
public void Puzzle1ExampleTest() { Assert.AreEqual("5158916779", Day14.Puzzle1(9)); Assert.AreEqual("0124515891", Day14.Puzzle1(5)); Assert.AreEqual("9251071085", Day14.Puzzle1(18)); Assert.AreEqual("5941429882", Day14.Puzzle1(2018)); }
public void Test5() { var reactions = new[] { "171 ORE => 8 CNZTR", "7 ZLQW, 3 BMBT, 9 XCVML, 26 XMNCP, 1 WPTQ, 2 MZWV, 1 RJRHP => 4 PLWSL", "114 ORE => 4 BHXH", "14 VRPVC => 6 BMBT", "6 BHXH, 18 KTJDG, 12 WPTQ, 7 PLWSL, 31 FHTLT, 37 ZDVW => 1 FUEL", "6 WPTQ, 2 BMBT, 8 ZLQW, 18 KTJDG, 1 XMNCP, 6 MZWV, 1 RJRHP => 6 FHTLT", "15 XDBXC, 2 LTCX, 1 VRPVC => 6 ZLQW", "13 WPTQ, 10 LTCX, 3 RJRHP, 14 XMNCP, 2 MZWV, 1 ZLQW => 1 ZDVW", "5 BMBT => 4 WPTQ", "189 ORE => 9 KTJDG", "1 MZWV, 17 XDBXC, 3 XCVML => 2 XMNCP", "12 VRPVC, 27 CNZTR => 2 XDBXC", "15 KTJDG, 12 BHXH => 5 XCVML", "3 BHXH, 2 VRPVC => 7 MZWV", "121 ORE => 7 VRPVC", "7 XCVML => 6 RJRHP", "5 BHXH, 4 VRPVC => 5 LTCX" }; var actual = Day14.Part1(reactions); Assert.AreEqual(2210736, actual); var actual2 = Day14.Part2(reactions); Assert.AreEqual(460664, actual2); }
public void Puzzle2ExampleTest() { Assert.AreEqual(9, Day14.Puzzle2("51589")); Assert.AreEqual(5, Day14.Puzzle2("01245")); Assert.AreEqual(18, Day14.Puzzle2("92510")); Assert.AreEqual(2018, Day14.Puzzle2("59414")); }
public void GetDay14Part1AnswerTest() { BigInteger expected = 873899; BigInteger actual = Day14.GetDay14Part1Answer(); Assert.Equal(expected, actual); }
public void GetDay14Part01AnswerTest() { long expected = 6513443633260; long actual = Day14.GetDay14Part01Answer(); Assert.Equal(expected, actual); }
public void Part2( ) { day14 = new Day14("day14test2"); var actual = day14.SolvePart2( ); Assert.AreEqual(208.ToString( ), actual); }
public void GetDay14Part02AnswerTest() { long expected = 3442819875191; long actual = Day14.GetDay14Part02Answer(); Assert.Equal(expected, actual); }
public void PointsOfWinningReindeer(string reindeer, int time, int expectedDistance) { var day14 = new Day14(); var actualDistance = day14.CalculateScoreForWinningReindeer(reindeer, time); Assert.Equal(expectedDistance, actualDistance); }
public void Part1_Answer() { var day14 = new Day14(); var(actual, _) = day14.Count("jzgqcdpd"); Assert.Equal(8074, actual); }
public void Task1Test() { Assert.AreEqual("5158916779", Day14.Task1(9)); Assert.AreEqual("0124515891", Day14.Task1(5)); Assert.AreEqual("9251071085", Day14.Task1(18)); Assert.AreEqual("5941429882", Day14.Task1(2018)); }
public void Part2() { var day14 = new Day14(); var(_, actual) = day14.Count("flqrgnkx"); Assert.Equal(1242, actual); }
public void Test5() { var input = @"171 ORE => 8 CNZTR 7 ZLQW, 3 BMBT, 9 XCVML, 26 XMNCP, 1 WPTQ, 2 MZWV, 1 RJRHP => 4 PLWSL 114 ORE => 4 BHXH 14 VRPVC => 6 BMBT 6 BHXH, 18 KTJDG, 12 WPTQ, 7 PLWSL, 31 FHTLT, 37 ZDVW => 1 FUEL 6 WPTQ, 2 BMBT, 8 ZLQW, 18 KTJDG, 1 XMNCP, 6 MZWV, 1 RJRHP => 6 FHTLT 15 XDBXC, 2 LTCX, 1 VRPVC => 6 ZLQW 13 WPTQ, 10 LTCX, 3 RJRHP, 14 XMNCP, 2 MZWV, 1 ZLQW => 1 ZDVW 5 BMBT => 4 WPTQ 189 ORE => 9 KTJDG 1 MZWV, 17 XDBXC, 3 XCVML => 2 XMNCP 12 VRPVC, 27 CNZTR => 2 XDBXC 15 KTJDG, 12 BHXH => 5 XCVML 3 BHXH, 2 VRPVC => 7 MZWV 121 ORE => 7 VRPVC 7 XCVML => 6 RJRHP 5 BHXH, 4 VRPVC => 5 LTCX"; var reactions = Day14.ReadInput(input); var calc = new OreCalculator(reactions); Assert.Equal(2210736, calc.GetOreFor1Fuel()); }
public void Part1_WithExampleInput_ReturnsExpectedAnswer() { var input = new[] { "NNCB", "CH -> B", "HH -> N", "CB -> H", "NH -> C", "HB -> C", "HC -> B", "HN -> C", "NN -> C", "BH -> H", "NC -> B", "NB -> B", "BN -> B", "BB -> N", "BC -> B", "CC -> N", "CN -> C", }; var result = Day14.SolvePart1(input); Assert.Equal(1588, result); }