Ejemplo n.º 1
0
        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)}");
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }