コード例 #1
0
        public void AprroveOrder_With_Design()
        {
            //Create the chain links
            Approver jennifer = new HeadChef();
            Approver mitchell = new PurchasingManager();
            Approver olivia   = new GeneralManager();

            //Create the chain can be change at runtime
            jennifer.SetSupervisor(mitchell);
            mitchell.SetSupervisor(olivia);

            // Generate and process purchase requests
            var p = new PurchaseOrder(2, 300, 1389, "Fresh Veggies");

            //Act
            jennifer.ValidatePurchaseOrder(p);

            //Assert
            Assert.True(p.HasbeenValidated);
        }