public IProduct OrderCreation(string product) { IProduct InitiateProduct = null; switch (product) { case "Book": InitiateProduct = new Book(); break; case "PhysicalProduct": InitiateProduct = new PhysicalProduct(); break; case "NewMembership": InitiateProduct = new NewMembership(); break; case "Upgrade": InitiateProduct = new UpgradeMembership(); break; case "Video": InitiateProduct = new Video(); break; } return(InitiateProduct); }
public void Test_UpgradeMembershipWithIEmailService() { IEmailService iEmailService = new UpgradeMembership(); bool res = iEmailService.SendMail(); Assert.AreEqual(res, true); }
public void Test_UpgradeToMembership() { IUpgrade iUpgrade = new UpgradeMembership(); bool res = iUpgrade.Upgrade(); Assert.AreEqual(res, true); }
public void RuleNotMatch() { var phyproduct = new UpgradeMembership(); var result = phyproduct.Handle("Failure"); // Assert Assert.AreNotEqual("Apply the upgrade\n", result); }
public void ValidateRules() { var upmembership = new UpgradeMembership(); var result = upmembership.Handle("upgrade"); // Assert Assert.AreEqual("Apply the upgrade\n", result); }
public void upgradeMembershipNoException() { //Arrange IOrder order = new UpgradeMembership(); int result; //Assert Assert.DoesNotThrow(() => order.ActionTaken(out result)); }
public void upgradeMembershipFailureTest() { // upgradeMembership IOrder order = new UpgradeMembership(); int result; //Act order.ActionTaken(out result); //Assert Assert.AreEqual(1, result); }
public void upgradeMembershipSuccessTest() { //Arrange IOrder order = new UpgradeMembership(); int result; //Act order.ActionTaken(out result); //Assert Assert.AreEqual(1, result); }
public void Setup() { _membershipUpgrade = new Product(new ProductConfig { Id = "Expected Membership Id" }); _mockOrder = new Mock <Order>(); _mockOrder.SetupGet(m => m.Product).Returns(_membershipUpgrade); _mockServiceBus = new Mock <IServiceBus>(); _upgradeMembership = new UpgradeMembership(_mockServiceBus.Object); }
public void TestForUpgradeMembership() { //arrange string expectedresult = "Upgrade Membership!"; IProduct product = new UpgradeMembership(); // act var rtntext = product.ProcessPayment(); // assert Assert.Equal(expectedresult, rtntext); }
/// <summary> /// Pass the request to handler according to Payment Type /// </summary> private static void RuleHandler() { AbstractHandler abstractHandler = null; var email = new SendEmail(); var compayment = new CommissionPayment(); var ctx = new Context() { PaymentType = ReadInputRequest() }; var handler = ctx.PaymentType; switch (handler) { case "PhysicalProduct": abstractHandler = new PhysicalProduct(); abstractHandler.SetNext(compayment); break; case "ProductBook": abstractHandler = new ProdcutBook(); abstractHandler.SetNext(compayment); break; case "Membership": abstractHandler = new Membership(); abstractHandler.SetNext(email); break; case "UpgradeMembership": abstractHandler = new UpgradeMembership(); abstractHandler.SetNext(email); break; case "Video": abstractHandler = new Video(); break; default: break; } RuleEngOrchestrator.ClientCode(abstractHandler); Console.WriteLine(); }
public Response RunBusinessRuleEngine(PaymentType type) { switch (type) { case PaymentType.PHYSICAL_PRODUCT: { var createCommissionPayment = new ProcessCommissionPayment(); var packingSlip = new PhysicalProductPackingSlip(createCommissionPayment); return(packingSlip.Process()); } case PaymentType.BOOK: { var createCommissionPayment = new ProcessCommissionPayment(); var GeneratePackingSlipForRoyaltyDepartment = new CreateDuplicateSlipForRoyaldepartment(createCommissionPayment); return(GeneratePackingSlipForRoyaltyDepartment.Process()); } case PaymentType.MEMBERSHIP_ACTIVATE: { var sendEmailNotifification = new NotifyEmail(); var activateMemberShip = new ActivateMemeberShip(sendEmailNotifification); return(activateMemberShip.Process()); } case PaymentType.MEMBERSHIP_UPGRADE: { var sendEmailNotifification = new NotifyEmail(); var applyUpgrade = new UpgradeMembership(sendEmailNotifification); return(applyUpgrade.Process()); } case PaymentType.VIDEO: { var addFirstAidVideo = new AddFirstAidVideo(); var packingSlip = new PhysicalProductPackingSlip(addFirstAidVideo); return(packingSlip.Process()); } default: return(new Response((int)Status.FAIL, "payment type is not found")); } }
public void Setup() { var membership = new Product(new ProductConfig { Type = "Membership", SubType = "Upgrade" }); _upgradeMembershipOrder = new Order(new OrderConfig { Id = "Test Upgrade Membership Order" }); _upgradeMembershipOrder.SetProduct(membership); _anyOtherOrder = new Order(new OrderConfig { Id = "Anything" }); _anyOtherOrder.SetProduct(new Product(new ProductConfig { Type = "Anything" })); _upgradeMembership = new UpgradeMembership(new Mock <IServiceBus>().Object); }