public static void GetHighestSeatId() { var puzzleInput = new PuzzleInputReader("BoardingPasses").PuzzleInputAsEnumerable; var seatIds = puzzleInput.Select(GetSeatId).ToList(); Console.WriteLine($"the largest seat Id is {seatIds.Max()}"); Console.WriteLine($"My seat number is {GetMySeatNumber(seatIds)}"); }
public void TestFileNotFound() { string fp = Path.Combine(TestContext.CurrentContext.TestDirectory, "artifacts", "Reader", "Inexistant.txt"); PuzzleInputReader reader = new PuzzleInputReader(); string[] lines; Assert.That(reader.Read(fp, out lines), Is.EqualTo(false)); Assert.That(lines, Is.EqualTo(null)); }
public void TestMultiLine() { string fp = Path.Combine(TestContext.CurrentContext.TestDirectory, "artifacts", "Reader", "MultiLine.txt"); PuzzleInputReader reader = new PuzzleInputReader(); string[] lines; Assert.That(reader.Read(fp, out lines), Is.EqualTo(true)); Assert.That(lines.Length, Is.EqualTo(2)); }
static public int Main(string[] args) { if (1 != args.Length) { Console.WriteLine("Arguments (1): puzzleDay"); return(-1); } int day; if (false == Int32.TryParse(args[0], out day)) { Console.WriteLine("Could not parse puzzle day."); return(-1); } if (day > MAX_DAY || day < 0) { Console.WriteLine("Please select a day between 0 and {0}.", MAX_DAY); return(-1); } string fileName = string.Format("Day{0:D2}.txt", day); string filePath = Path.Combine("AdventOfCode", "Puzzles", fileName); PuzzleInputReader reader = new PuzzleInputReader(); string[] input; if (false == reader.Read(filePath, out input)) { Console.WriteLine("Could not read file {0}.", filePath); return(-1); } Solver s; if (false == CreateSolver(day, out s)) { Console.WriteLine("Could not instantiate a solver."); return(-1); } Stopwatch stopwatch = new Stopwatch(); TimeSpan ts; String answer; stopwatch.Start(); answer = s.SolvePartOne(input); stopwatch.Stop(); ts = stopwatch.Elapsed; Console.WriteLine("Part 1: {0}", answer); Console.WriteLine("Time 1: {0:00}.{1:D3} seconds.", ts.Seconds, ts.Milliseconds); stopwatch.Restart(); answer = s.SolvePartTwo(input); stopwatch.Stop(); ts = stopwatch.Elapsed; Console.WriteLine("Part 2: {0}", answer); Console.WriteLine("Time 2: {0:00}.{1:D3} seconds.", ts.Seconds, ts.Milliseconds); return(0); }