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