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); }
public void AddStrategyShouldReturnTrueWhenNewAttributeIsPassed() { var type = typeof(FakeAttribute); var strategy = new FakeStrategy(); Assert.IsTrue(this.sh.AddStrategy(type, strategy)); }
public void TestInit() { this.gp = new GarbageProcessor(); var type = typeof(FakeAttribute); var strategy = new FakeStrategy(); this.gp.StrategyHolder.AddStrategy(type, strategy); }
public void RemoveStrategyShouldReturnTrueWhenExistingAttributeIsPassed() { var type = typeof(FakeAttribute); var strategy = new FakeStrategy(); this.sh.AddStrategy(type, strategy); Assert.IsTrue(this.sh.RemoveStrategy(type)); }
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); }
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)); }
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); }