public void Day05_PartOneTest() { Assert.AreEqual(357, BoardingPassScanner.CalculateSeatNumber("FBFBBFFRLR")); Assert.AreEqual(567, BoardingPassScanner.CalculateSeatNumber("BFFFBBFRRR")); Assert.AreEqual(119, BoardingPassScanner.CalculateSeatNumber("FFFBBBFRRR")); Assert.AreEqual(820, BoardingPassScanner.CalculateSeatNumber("BBFFBBFRLL")); }
public void Scan(string seat, int expected) { var sut = new BoardingPassScanner(); var actual = sut.Scan(seat); Assert.Equal(expected, actual.SeatId()); }
public static void Part2() { BoardingPassScanner scanner = new BoardingPassScanner(); scanner.ProcessBoardingPasses(); int uniqueMissingSeatId = scanner.GetUniqueMissingSeatId(); Console.WriteLine("MissingSeatId : " + uniqueMissingSeatId); }
public static void Part1() { BoardingPassScanner scanner = new BoardingPassScanner(); scanner.ProcessBoardingPasses(); int passId = scanner.GetLargestBoardingPassId(); Console.WriteLine("Largest Pass Id = " + passId.ToString()); }
public void Part1() { var parser = new Parser("Day05/Input.txt"); var lines = parser.Parse(new BoardingPassFactory()); var sut = new BoardingPassScanner(); var actual = lines.Aggregate(0, (acc, next) => { var seat = sut.Scan(next); return(Math.Max(acc, seat.SeatId())); }); Assert.Equal(880, actual); }
public void Part2() { var parser = new Parser("Day05/Input.txt"); var lines = parser.Parse(new BoardingPassFactory()); var sut = new BoardingPassScanner(); var seats = new HashSet <int>(); foreach (var line in lines) { seats.Add(sut.Scan(line).SeatId()); } var actual = Enumerable.Range(seats.Min(), seats.Max()) .SkipWhile(s => seats.Contains(s)) .First(); Assert.Equal(731, actual); }