public void it_should_return_correct_payment_strategy()
        {
            IPaymentStrategyFactory subscriptionPaymentStrategyFactory = new SubscriptionPaymentStrategyFactory();

            IPaymentStrategy paymentStrategy = subscriptionPaymentStrategyFactory.GetPaymentStratgey(_subscriptionLevel.ToString());

            Assert.IsInstanceOf(_paymentStrategyResult, paymentStrategy);
        }
Beispiel #2
0
        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);
        }