public GameplayApi(IScenarioExecutor scenarioExecutor, IScenarioFactory scenarioFactory, ILogger <GameplayApi> logger) { this._scenarioExecutor = scenarioExecutor; this._scenarioFactory = scenarioFactory; this._logger = logger; this._scenarioBuilder = new ScenarioDecoratorBuilder(this._scenarioFactory); }
public void Test_PrepareToAttack_Scenarios_Creation() { var actions = new List <GameAction> { new SendResourcesAction(), new TrainArmyAction(), new SendArmyAction() }; var provider = new Mock <IWebDriverProvider>(); var factory = new ScenarioFactory(provider.Object); var scenarioBuilder = new ScenarioDecoratorBuilder(factory); foreach (var action in actions) { scenarioBuilder = scenarioBuilder.WithScenario(action); } var scenario = scenarioBuilder.Build(); Assert.IsNotNull(scenario); Assert.AreEqual(typeof(SendResourcesScenario), scenario.GetType()); }