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