public void ResolveEntriesShouldReturnMealTypesForValidValues() { var orderEntryResolver = new OrderEntryResolver("4, 3, 2"); var resultItems = orderEntryResolver.ResolveEntries(); Assert.AreEqual(3, resultItems.Count); Assert.IsTrue(resultItems.Contains(MealType.Dessert)); Assert.IsTrue(resultItems.Contains(MealType.Drink)); Assert.IsTrue(resultItems.Contains(MealType.Side)); }
public void ResolveEntriesShouldReturnUndefinedMealTypesForInvalidValues() { var orderEntryResolver = new OrderEntryResolver("-1,-2,-3,-4"); var resultItems = orderEntryResolver.ResolveEntries(); Assert.AreEqual(4, resultItems.Count); foreach (var item in resultItems) { Assert.IsTrue(!Enum.IsDefined(typeof(MealType), item)); } }
private static void Main(string[] args) { bool keepGoing; do { try { IMealOrder mealOrder; // Reading the time of day to factor the correct meal order / meal order menu try { Console.Write("Enter time of day (morning or night): "); mealOrder = MealOrderResolver.GetOrderForTimeOfDay(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Invalid value for time of day."); continue; } // Reading the actual order Console.Write("Enter your order (delimited by a comma): "); var entryResolver = new OrderEntryResolver(Console.ReadLine()); mealOrder.Order(entryResolver.ResolveEntries().ToArray()); // Writing summary Console.WriteLine(mealOrder.GetOrderSummary()); } finally { Console.WriteLine("=== Press X to exit or anything else to continue ==="); var exitKey = Console.ReadLine(); keepGoing = exitKey == null || exitKey.ToUpper() != "X"; } } while (keepGoing); }
public void AreEntriesValidShouldReturnTrueIfAnyInputOTherThanEmpty() { var orderEntryResolver = new OrderEntryResolver("1"); Assert.IsTrue(orderEntryResolver.AreEntriesValid()); }
public void AreEntriesValidShouldReturnFalseIfEmptyOrWhiteSpace() { var orderEntryResolver = new OrderEntryResolver(" "); Assert.IsFalse(orderEntryResolver.AreEntriesValid()); }