/// <summary> /// Initializes a new instance of the <see cref="T:CSF.Screenplay.ScreenplayScenario"/> class. /// </summary> /// <param name="featureId">Feature identifier.</param> /// <param name="scenarioId">Scenario identifier.</param> /// <param name="container">A MicroDi container instance.</param> public Scenario(IdAndName featureId, IdAndName scenarioId, FlexDi.IContainer container) { if (container == null) { throw new ArgumentNullException(nameof(container)); } if (featureId == null) { throw new ArgumentNullException(nameof(featureId)); } if (scenarioId == null) { throw new ArgumentNullException(nameof(scenarioId)); } identity = Guid.NewGuid(); FeatureId = featureId; ScenarioId = scenarioId; this.container = container; this.container.AddRegistrations(h => { h.RegisterInstance(this).As <IScenarioName>(); }); }
/// <summary> /// Gets the scenario. /// </summary> /// <returns>The scenario.</returns> /// <param name="featureId">Feature identifier.</param> /// <param name="scenarioId">Scenario identifier.</param> public IScenario GetScenario(IdAndName featureId, IdAndName scenarioId) { var scenarioContainer = CreateScenarioContainer(); return(new Scenario(featureId, scenarioId, scenarioContainer)); }