public void TestParser(string input, Direction expectedDirection, int expectedNumber) { var instructions = InstructionParser.ParseInstructions(input); var(direction, number) = Assert.Single(instructions) !; Assert.Equal(expectedDirection, direction); Assert.Equal(expectedNumber, number); }
public void SolvePuzzle1() { var input = new FileReader() .GetResource("AdventOfCode2020.Tests.Day12.PuzzleInput.txt"); var instructions = InstructionParser.ParseInstructions(input); var ship = new Ship(FacingDirection.East, new Position()); ship = instructions.Aggregate(ship, (current, instruction) => current.PerformInstruction(instruction)); _testOutputHelper.WriteLine(ship.GetManhanttanDistance().ToString()); }
public void Example1(string input, int distance) { var instructions = InstructionParser.ParseInstructions(input.Replace("|", Environment.NewLine)); var ship = new Ship(FacingDirection.East, new Position()); foreach (var instruction in instructions) { ship = ship.PerformInstruction(instruction); } Assert.Equal(distance, ship.GetManhanttanDistance()); }
public void Example2(string input, int distance) { var instructions = InstructionParser.ParseInstructions(input.Replace("|", Environment.NewLine)); var waypoint = new Waypoint(FacingDirection.East, new Position { Horizontal = 10, Vertical = 1 }); var ship = new WaypointShip(FacingDirection.East, new Position(), waypoint); foreach (var instruction in instructions) { ship = ship.PerformInstruction(instruction); } Assert.Equal(distance, ship.GetManhanttanDistance()); }