public void RemoveCompositeDiscount_composedOfComposites_Success() { LoginSessionSuccess(REGISTERED_SESSION_ID, FIRST_OPENER_USERNAME, PASSWORD); ItemMinMaxPurchasePolicy policy1 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, FIRST_ITEM_FIRST_STORE_ID, 5, 10); ItemMinMaxPurchasePolicy policy2 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, SECOND_ITEM_FIRST_STORE_ID, 5, 10); CompositePurchasePolicy composite1 = DeserializeCompositePurchasePolicySucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, policy1.policyID, policy2.policyID, "&"); StoreMinMaxPurchasePolicy policy3 = DeserialzeStoreMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, 5, 10); DaysNotAllowedPurchasePolicy policy4 = DeserialzeDaysNotAllowedSucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, new int[] { 1, 5, 7 }); CompositePurchasePolicy composite2 = DeserializeCompositePurchasePolicySucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, policy3.policyID, policy4.policyID, "|"); CompositePurchasePolicy composite3 = DeserializeCompositePurchasePolicySucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, composite1.policyID, composite2.policyID, "xor"); Assert.True(DeserializeRemovePurchasePolicySuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, composite3.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy1.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy2.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy3.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy4.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, composite1.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, composite2.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, composite3.policyID)); }
public void CompositePolicy_both_false_not_valid(Operator @operator) { ItemMinMaxPurchasePolicy policy1 = new ItemMinMaxPurchasePolicy(Item1, 6, null, MOCK_NAME_FOR_DESCRIPTION); StoreMinMaxPurchasePolicy policy2 = new StoreMinMaxPurchasePolicy(11, 12, MOCK_NAME_FOR_DESCRIPTION); CompositePurchasePolicy compositePurchase = new CompositePurchasePolicy(policy1, policy2, @operator); Assert.False(compositePurchase.IsValidPurchase(multyItemsAmount10)); }
public void RemoveBasicPolicy_thatIsPartOfComposite_Failure() { LoginSessionSuccess(REGISTERED_SESSION_ID, FIRST_OPENER_USERNAME, PASSWORD); ItemMinMaxPurchasePolicy policy1 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, FIRST_ITEM_FIRST_STORE_ID, 5, 10); ItemMinMaxPurchasePolicy policy2 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, SECOND_ITEM_FIRST_STORE_ID, 5, 10); CompositePurchasePolicy composite1 = DeserializeCompositePurchasePolicySucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, policy1.policyID, policy2.policyID, "&"); Assert.False(DeserializeRemovePurchasePolicy(REGISTERED_SESSION_ID, FIRST_STORE_ID, policy1.policyID).Success); Assert.True(marketFacade.PurchasePolicyExistsInStore(FIRST_STORE_ID, policy1.policyID)); Assert.True(marketFacade.PurchasePolicyExistsInStore(FIRST_STORE_ID, policy2.policyID)); Assert.True(marketFacade.PurchasePolicyExistsInStore(FIRST_STORE_ID, composite1.policyID)); }
public void RemoveCompositeDiscount_Success() { LoginSessionSuccess(REGISTERED_SESSION_ID, FIRST_OPENER_USERNAME, PASSWORD); ItemMinMaxPurchasePolicy policy1 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, FIRST_ITEM_FIRST_STORE_ID, 5, 10); ItemMinMaxPurchasePolicy policy2 = DeserialzeItemMinMaxSuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, SECOND_ITEM_FIRST_STORE_ID, 5, 10); CompositePurchasePolicy composite = DeserializeCompositePurchasePolicySucces(REGISTERED_SESSION_ID, FIRST_STORE_ID, policy1.policyID, policy2.policyID, "&"); Assert.True(DeserializeRemovePurchasePolicySuccess(REGISTERED_SESSION_ID, FIRST_STORE_ID, composite.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy1.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, policy2.policyID)); Assert.False(marketFacade.DiscountExistsInStore(FIRST_STORE_ID, composite.policyID)); }
public static Shop SaveShopCompositePurchasePolicy() { var shop = SaveShopWithName(); var policy = new CompositePurchasePolicy ( new CartPurchasePolicy(5, new SmallerThan(), "desc"), new Or(), new UserPurchasePolicy("field", 1, "desc"), "desc" ); shop.PurchasePolicies.Add(policy); return(shop); }