public static void Run() { var input = File.ReadAllLines("day5_input.txt"); var max = 0; var seats = new List <(int, int, int)>(); foreach (var line in input) { var seat = FindRow(line, 0, 0, 127, (0, 0)); var seatId = seat.Item1 * 8 + seat.Item2; if (seatId > max) { max = seatId; } seats.Add((seat.Item1, seat.Item2, seatId)); } seats = seats.OrderBy(s => s.Item1).ThenBy(s => s.Item2).ToList(); var minSeatId = seats.Min(s => s.Item3); var maxSeatId = seats.Max(s => s.Item3); var mySeat = -1; for (var i = minSeatId; i < maxSeatId; i++) { if (seats.All(s => s.Item3 != i)) { mySeat = i; } } }
public T GetTableElement <T>(FindRow findRow, int targetCell) where T : ElementSe { TableRowSe row = FindRow(findRow); string tag = new ElementSe(row).ConvertTo <T>().ElementTag; ElementSe element = new ElementSe(row.Cells[targetCell], By.TagName(tag)); return(element.ConvertTo <T>()); }
public T GetTableElement <T>(FindRow findRow, string targetCellText) where T : ElementSe { TableRowSe row = FindRow(findRow); TableCellSe cell = row.Cells.Find(i => i.Text.Contains(targetCellText)); string tag = new ElementSe(cell).ConvertTo <T>().ElementTag; ElementSe element = new ElementSe(cell, By.TagName(tag)); return(element.ConvertTo <T>()); }
public TableRowSe FindRow(FindRow findRow) { return(Rows.Find(i => i.Cells[findRow.KeyColumn].Text.RemoveLineBreaks().Contains(findRow.Key))); }