public void it_should_return_correct_payment_strategy() { IPaymentStrategyFactory subscriptionPaymentStrategyFactory = new SubscriptionPaymentStrategyFactory(); IPaymentStrategy paymentStrategy = subscriptionPaymentStrategyFactory.GetPaymentStratgey(_subscriptionLevel.ToString()); Assert.IsInstanceOf(_paymentStrategyResult, paymentStrategy); }
public void it_should_return_unknown_payment_strategy() { IPaymentStrategyFactory subscriptionPaymentStrategyFactory = new SubscriptionPaymentStrategyFactory(); IPaymentStrategy paymentStrategy = subscriptionPaymentStrategyFactory.GetPaymentStratgey(_strategyName); Assert.IsInstanceOf(typeof(UnknownPaymentStrategy), paymentStrategy); }
public void it_should_return_correct_payment_on_subscription_level_and_term() { SubscriptionPlan subscriptionPlan = new SubscriptionPlan(); subscriptionPlan.Level = _subscriptionLevel; subscriptionPlan.Term = _subscriptionTerm; IPaymentStrategyFactory paymentStrategyFactory = new SubscriptionPaymentStrategyFactory(); SubscriptionService subscriptionService = new SubscriptionService(paymentStrategyFactory); var payment = subscriptionService.CalculatePayment(subscriptionPlan); Assert.AreEqual(_paymentResult, payment); }