コード例 #1
0
        public void Test_OrderManager_WithoutDI_OutOfStock_ErrorMessage()
        {
            var orderManager = new OrderManager_WithoutDI();

            orderManager.Submit(ProductEnum.KeyBoard, "1234567891234567", "1021");

            Assert.ThrowsAny <Exception>(() => orderManager.Submit(ProductEnum.KeyBoard, "1234567891234567", "1021"));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: aignepal16/CSharpDemos
        private static void OrderWithout_DependencyInjection()
        {
            var cmd      = string.Empty;
            var orderMgr = new OrderManager_WithoutDI();


            while (cmd != "exit")
            {
                Console.WriteLine(@"Enter a Product: 
Keyboard = 0, 
Mouse=1, 
Mic=2, 
Speaker=3");
                cmd = Console.ReadLine();

                try
                {
                    if (Enum.TryParse(cmd, out ProductEnum productEnum))
                    {
                        Console.WriteLine("Please enter valid craeditcard number: xxxxxxxxxxxxxxxx;MMYY");
                        var paymentNumber = Console.ReadLine();
                        if (string.IsNullOrEmpty(paymentNumber) || !(paymentNumber.Split(";").Length == 2))
                        {
                            throw new Exception("Invalid payment method");
                        }

                        orderMgr.Submit(productEnum, paymentNumber.Split(";")[0], paymentNumber.Split(";")[1]);
                        Console.WriteLine($"{productEnum.ToString()} order has been completed..");
                    }
                    else
                    {
                        Console.WriteLine("invalid cmd");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                Console.WriteLine(Environment.NewLine);
            }
        }