public async Task GetAvailableItem_ShouldReturnCorrectCount()
        {
            Assert.Equal((getTestProducts().Count(prod => prod.ProductType.Equals(ProductsTypes.Reeses))),
                         _machine.GetAvailableProducts().Count(prod => prod.ProductType.Equals(ProductsTypes.Reeses)));

            Assert.Equal((getTestProducts().Count(prod => prod.ProductType.Equals(ProductsTypes.Dorritos))),
                         _machine.GetAvailableProducts().Count(prod => prod.ProductType.Equals(ProductsTypes.Dorritos)));
        }
Ejemplo n.º 2
0
        public static ProductsTypes SelectProduct(IVendingMachine machine)
        {
            var products = machine.GetAvailableProducts();

            // enumeration over the existing/available products
            foreach (IProducts item in products)
            {
                Console.WriteLine($"For {(item.ProductType).AsString(EnumFormat.Description)} Please Press: ${item.Row} ${item.Column}");
            }
            int selecedProduct;

            if (int.TryParse(Console.ReadLine(), out selecedProduct))
            {
                return((ProductsTypes)selecedProduct);
            }
            else
            {
                throw new InvalidOperationException("please enter a valid number for product");
            }
        }