public void Should_find_correct_column() { var input = "RLR"; var binaryBoarding = new BinaryBoarding(); var column = binaryBoarding.getNumber(input); Assert.Equal(5, column); }
public void Should_find_correct_row() { var input = "FBFBBFF"; var binaryBoarding = new BinaryBoarding(); var row = binaryBoarding.getNumber(input); Assert.Equal(44, row); }
public void Should_be_same_number_of_tickets_and_seats() { var inputReaders = new InputReaders(); var binaryBoarding = new BinaryBoarding(); var path = @"C:\Users\emollett\Documents\sites\AdventOfCode2020\AdventOfCode2020\Inputs\05_BinaryBoarding.txt"; var tickets = inputReaders.readLines(path); var seats = binaryBoarding.getMultipleSeatInfo(tickets); Assert.Equal(tickets.Length, seats.Count); }
public void ExamplePartOne(string input, int expected) { // Arrange var scanner = new BinaryBoarding(new[] { input }); // Act var max = scanner.SearchMax(); // Assert Assert.AreEqual(expected, max); }
public void Should_find_correct_seat_info() { var input = "FBFBBFFRLR"; var binaryBoarding = new BinaryBoarding(); var seatInfo = binaryBoarding.getSeatInfo(input); Assert.Equal(44, seatInfo.Row); Assert.Equal(5, seatInfo.Column); Assert.Equal(357, seatInfo.Seat); }
public void ShouldFindEmptySeat(int emptySeatId, params int[] filledSeats) { BinaryBoarding.FindEmptySeat(filledSeats) .Should().Be(emptySeatId); }
public void ShouldReturnSeatId(string seat, int seatId) { BinaryBoarding.GetSeatId(seat) .Should().Be(seatId); }
public void Setup() => _scanner = new BinaryBoarding(File.ReadLines(Path.Combine(AppContext.BaseDirectory, $"App_Data/{5.ToString("D2")}.txt")));
static void Main(string[] args) { // Day 1 var sum = 2020; string day1FilePath = @"C:\Users\musomanu\source\advent-of-code-2020\2020-Day-1\ReportRepairInput.txt"; ReportRepair reportRepair = new ReportRepair(day1FilePath); var twoEntriesProduct = reportRepair.Find2EntriesProduct(sum); var threeEntriesProduct = reportRepair.Find3EntriesProduct(sum); Console.WriteLine($"Day 1: Product of 2 entries that add upto {sum}: {twoEntriesProduct}"); Console.WriteLine($"Day 1: Product of 3 entries that add upto {sum}: {threeEntriesProduct}"); Console.WriteLine(); // Day 2 string day2FilePath = @"C:\Users\musomanu\source\advent-of-code-2020\2020-Day-2\PasswordPhilosophyInput.txt"; PasswordPhilosophy passwordPhilosophy = new PasswordPhilosophy(day2FilePath); var numberOfValidPasswords = passwordPhilosophy.GetValidPasswordsCount(); var numberOfValidPasswordsRevised = passwordPhilosophy.GetValidPasswordsCountRevised(); Console.WriteLine($"Day 2: Number of valid passwords: {numberOfValidPasswords}"); Console.WriteLine($"Day 2: Number of valid passwords (revised policy): {numberOfValidPasswordsRevised}"); Console.WriteLine(); // Day 3 string day3FilePath = @"C:\Users\musomanu\source\advent-of-code-2020\2020-Day-3\TobogganTrajectoryInput.txt"; TobogganTrajectory tobogganTrajectory = new TobogganTrajectory(day3FilePath); var numberOfTreesEncountered = tobogganTrajectory.TreesEncountered(0, 0, 3, 1); var numberofTreesEncountered_1 = tobogganTrajectory.TreesEncountered(0, 0, 1, 1); var numberofTreesEncountered_2 = tobogganTrajectory.TreesEncountered(0, 0, 3, 1); var numberofTreesEncountered_3 = tobogganTrajectory.TreesEncountered(0, 0, 5, 1); var numberofTreesEncountered_4 = tobogganTrajectory.TreesEncountered(0, 0, 7, 1); var numberofTreesEncountered_5 = tobogganTrajectory.TreesEncountered(0, 0, 1, 2); var numberofTreesEncounteredProduct = numberofTreesEncountered_1 * numberofTreesEncountered_2 * numberofTreesEncountered_3 * numberofTreesEncountered_4 * numberofTreesEncountered_5; Console.WriteLine($"Day 3: Number of trees encountered: {numberOfTreesEncountered}"); Console.WriteLine($"Day 3: Number of trees encountered (all slopes product): {numberofTreesEncounteredProduct}"); Console.WriteLine(); // Day 4 string day4FilePath = @"C:\Users\musomanu\source\advent-of-code-2020\2020-Day-4\PassportProcessingInput.txt"; PassportProcessing passportProcessing = new PassportProcessing(day4FilePath); var numberOfValidPassports = passportProcessing.GetValidPassportsCount(); var numberOfValidPassportsRevised = passportProcessing.GetValidPassportsCountRevised(); Console.WriteLine($"Day 4: Number of valid passports: {numberOfValidPassports}"); Console.WriteLine($"Day 4: Number of valid passports (revised validation): {numberOfValidPassportsRevised}"); Console.WriteLine(); // Day 5 string day5FilePath = @"C:\Users\musomanu\source\advent-of-code-2020\2020-Day-5\BinaryBoardingInput.txt"; BinaryBoarding binaryBoarding = new BinaryBoarding(day5FilePath); var highestSeatId = binaryBoarding.GetHighestSeatId(); var mySeatId = binaryBoarding.GetMySeatId(); Console.WriteLine($"Day 5: Highest seat id: {highestSeatId}"); Console.WriteLine($"Day 5: My seat id: {mySeatId}"); Console.WriteLine(); }