Beispiel #1
0
        public void OrderingAcrossStagesForStrategyChain()
        {
            StagedStrategyChain <BuilderStrategy, FakeStage> innerChain = new StagedStrategyChain <BuilderStrategy, FakeStage>();
            StagedStrategyChain <BuilderStrategy, FakeStage> outerChain = new StagedStrategyChain <BuilderStrategy, FakeStage>(innerChain);
            FakeStrategy innerStage1 = new FakeStrategy {
                Name = "innerStage1"
            };
            FakeStrategy innerStage2 = new FakeStrategy {
                Name = "innerStage2"
            };
            FakeStrategy outerStage1 = new FakeStrategy {
                Name = "outerStage1"
            };
            FakeStrategy outerStage2 = new FakeStrategy {
                Name = "outerStage2"
            };

            innerChain.Add(innerStage1, FakeStage.Stage1);
            innerChain.Add(innerStage2, FakeStage.Stage2);
            outerChain.Add(outerStage1, FakeStage.Stage1);
            outerChain.Add(outerStage2, FakeStage.Stage2);

            var chain = outerChain.ToArray();

            AssertOrder(chain, innerStage1, outerStage1, innerStage2, outerStage2);
        }
Beispiel #2
0
        public void AddStrategyShouldReturnTrueWhenNewAttributeIsPassed()
        {
            var type     = typeof(FakeAttribute);
            var strategy = new FakeStrategy();

            Assert.IsTrue(this.sh.AddStrategy(type, strategy));
        }
Beispiel #3
0
        public void TestInit()
        {
            this.gp = new GarbageProcessor();
            var type     = typeof(FakeAttribute);
            var strategy = new FakeStrategy();

            this.gp.StrategyHolder.AddStrategy(type, strategy);
        }
Beispiel #4
0
        public void RemoveStrategyShouldReturnTrueWhenExistingAttributeIsPassed()
        {
            var type     = typeof(FakeAttribute);
            var strategy = new FakeStrategy();

            this.sh.AddStrategy(type, strategy);

            Assert.IsTrue(this.sh.RemoveStrategy(type));
        }
Beispiel #5
0
        public void AddStrategyShouldWorkCorrectly()
        {
            var type     = typeof(FakeAttribute);
            var strategy = new FakeStrategy();

            this.sh.AddStrategy(type, strategy);

            Assert.IsTrue(this.sh.GetDisposalStrategies.ContainsKey(type));
        }
        public void InnerStrategiesComeBeforeOuterStrategiesInStrategyChain()
        {
            StagedStrategyChain<FakeStage> innerChain = new StagedStrategyChain<FakeStage>();
            StagedStrategyChain<FakeStage> outerChain = new StagedStrategyChain<FakeStage>(innerChain);
            FakeStrategy innerStrategy = new FakeStrategy();
            FakeStrategy outerStrategy = new FakeStrategy();
            innerChain.Add(innerStrategy, FakeStage.Stage1);
            outerChain.Add(outerStrategy, FakeStage.Stage1);

            IStrategyChain chain = outerChain.MakeStrategyChain();

            AssertOrder(chain, innerStrategy, outerStrategy);
        }
        public void InnerStrategiesComeBeforeOuterStrategiesInStrategyChain()
        {
            StagedStrategyChain <FakeStage> innerChain = new StagedStrategyChain <FakeStage>();
            StagedStrategyChain <FakeStage> outerChain = new StagedStrategyChain <FakeStage>(innerChain);
            FakeStrategy innerStrategy = new FakeStrategy();
            FakeStrategy outerStrategy = new FakeStrategy();

            innerChain.Add(innerStrategy, FakeStage.Stage1);
            outerChain.Add(outerStrategy, FakeStage.Stage1);

            IStrategyChain chain = outerChain.MakeStrategyChain();

            AssertOrder(chain, innerStrategy, outerStrategy);
        }
        public void OrderingAcrossStagesForStrategyChain()
        {
            StagedStrategyChain<FakeStage> innerChain = new StagedStrategyChain<FakeStage>();
            StagedStrategyChain<FakeStage> outerChain = new StagedStrategyChain<FakeStage>(innerChain);
            FakeStrategy innerStage1 = new FakeStrategy();
            FakeStrategy innerStage2 = new FakeStrategy();
            FakeStrategy outerStage1 = new FakeStrategy();
            FakeStrategy outerStage2 = new FakeStrategy();
            innerChain.Add(innerStage1, FakeStage.Stage1);
            innerChain.Add(innerStage2, FakeStage.Stage2);
            outerChain.Add(outerStage1, FakeStage.Stage1);
            outerChain.Add(outerStage2, FakeStage.Stage2);

            IStrategyChain chain = outerChain.MakeStrategyChain();

            AssertOrder(chain, innerStage1, outerStage1, innerStage2, outerStage2);
        }
        public void MultipleChildContainers()
        {
            StagedStrategyChain<FakeStage> innerChain = new StagedStrategyChain<FakeStage>();
            StagedStrategyChain<FakeStage> outerChain = new StagedStrategyChain<FakeStage>(innerChain);
            StagedStrategyChain<FakeStage> superChain = new StagedStrategyChain<FakeStage>(outerChain);

            FakeStrategy innerStrategy = new FakeStrategy();
            FakeStrategy outerStrategy = new FakeStrategy();
            FakeStrategy superStrategy = new FakeStrategy();
            innerChain.Add(innerStrategy, FakeStage.Stage1);
            outerChain.Add(outerStrategy, FakeStage.Stage1);
            superChain.Add(superStrategy, FakeStage.Stage1);

            IStrategyChain chain = superChain.MakeStrategyChain();

            AssertOrder(chain, innerStrategy, outerStrategy, superStrategy);
        }
        public void MultipleChildContainers()
        {
            StagedStrategyChain <FakeStage> innerChain = new StagedStrategyChain <FakeStage>();
            StagedStrategyChain <FakeStage> outerChain = new StagedStrategyChain <FakeStage>(innerChain);
            StagedStrategyChain <FakeStage> superChain = new StagedStrategyChain <FakeStage>(outerChain);

            FakeStrategy innerStrategy = new FakeStrategy();
            FakeStrategy outerStrategy = new FakeStrategy();
            FakeStrategy superStrategy = new FakeStrategy();

            innerChain.Add(innerStrategy, FakeStage.Stage1);
            outerChain.Add(outerStrategy, FakeStage.Stage1);
            superChain.Add(superStrategy, FakeStage.Stage1);

            IStrategyChain chain = superChain.MakeStrategyChain();

            AssertOrder(chain, innerStrategy, outerStrategy, superStrategy);
        }
        public void OrderingAcrossStagesForStrategyChain()
        {
            StagedStrategyChain <FakeStage> innerChain = new StagedStrategyChain <FakeStage>();
            StagedStrategyChain <FakeStage> outerChain = new StagedStrategyChain <FakeStage>(innerChain);
            FakeStrategy innerStage1 = new FakeStrategy();
            FakeStrategy innerStage2 = new FakeStrategy();
            FakeStrategy outerStage1 = new FakeStrategy();
            FakeStrategy outerStage2 = new FakeStrategy();

            innerChain.Add(innerStage1, FakeStage.Stage1);
            innerChain.Add(innerStage2, FakeStage.Stage2);
            outerChain.Add(outerStage1, FakeStage.Stage1);
            outerChain.Add(outerStage2, FakeStage.Stage2);

            IStrategyChain chain = outerChain.MakeStrategyChain();

            AssertOrder(chain, innerStage1, outerStage1, innerStage2, outerStage2);
        }
Beispiel #12
0
        public virtual ViewResult FakeVerify(string IN)
        {
            ViewBag.PaymentGateway = BankNames.Pasargad;
            var transaction = _transactionBusiness.Find(int.Parse(IN));

            if (transaction.IsNull())
            {
                ViewBag.ErrorMessage = LocalMessage.PaymentException;
                return(View(viewName: MVC.Transaction.Views.Failed, model: transaction));
            }
            var gateWay = _paymentGatewayBusiness.Find(transaction.PaymentGatewayId);

            if (gateWay.IsNull())
            {
                ViewBag.ErrorMessage = LocalMessage.OperationFailed;
                return(View(viewName: MVC.Transaction.Views.Failed, transaction));
            }
            var verify = new FakeStrategy().Verify(gateWay, transaction);

            return(View(viewName: MVC.Transaction.Views.Success, model: transaction));
        }
Beispiel #13
0
        public void MultipleChildContainers()
        {
            StagedStrategyChain <BuilderStrategy, FakeStage> innerChain = new StagedStrategyChain <BuilderStrategy, FakeStage>();
            StagedStrategyChain <BuilderStrategy, FakeStage> outerChain = new StagedStrategyChain <BuilderStrategy, FakeStage>(innerChain);
            StagedStrategyChain <BuilderStrategy, FakeStage> superChain = new StagedStrategyChain <BuilderStrategy, FakeStage>(outerChain);

            FakeStrategy innerStrategy = new FakeStrategy {
                Name = "innerStrategy"
            };
            FakeStrategy outerStrategy = new FakeStrategy {
                Name = "outerStrategy"
            };
            FakeStrategy superStrategy = new FakeStrategy {
                Name = "superStrategy"
            };

            innerChain.Add(innerStrategy, FakeStage.Stage1);
            outerChain.Add(outerStrategy, FakeStage.Stage1);
            superChain.Add(superStrategy, FakeStage.Stage1);

            var chain = superChain.ToArray();

            AssertOrder(chain, innerStrategy, outerStrategy, superStrategy);
        }