public void ZeroTest() { var testTripCards = new TripCard[0]; var orderedTripCards = _tripCardService.OrderTripCards(testTripCards); Assert.NotEqual(null, orderedTripCards); Assert.Empty(orderedTripCards); }
public void Run() { // Увы, если бы было больше времени - описал был ввод "по фэн-шую", через сервисы Console.WriteLine( "Введите карточки городов - по одной в строке. " + "Разделитель городов в карточке - точка с запятой."); Console.WriteLine("Признак окончания ввода - пустая строка"); string line; var endInput = false; var tripCards = new List <TripCard>(); do { Console.Write("> "); line = Console.ReadLine() ?? ""; endInput = string.IsNullOrWhiteSpace(line); if (!endInput) { var data = line.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (data.Length == 2) { // Явно используем интернирование строк чтобы стараться не тратить лишнюю память var source = string.Intern(data[0].Trim()); var dest = string.Intern(data[1].Trim()); tripCards.Add(new TripCard(source, dest)); } else { Console.WriteLine("Ошибка входных данных. Повторите ввод"); } } }while (!endInput); Console.WriteLine(); Console.WriteLine($"Введено {tripCards.Count} строк."); var orderedTripCards = _tripCardService.OrderTripCards(tripCards); Console.WriteLine("Карточки в требуемом порядке: "); foreach (var tripCard in orderedTripCards) { Console.WriteLine($"\t{tripCard.Source} - {tripCard.Destination}"); } Console.WriteLine("Спасибо за внимание!"); }