private void AssertScenario(ScenarioBase scenario, ISimulationRunner <SimulationEnvironment> runner) { var expected = scenario.GetExpectedEvents().ToList(); var actual = new List <Event>(); runner.Events.Subscribe(actual.Add); var result = runner.Run(_maxDuration); Assert.SequenceEqual(expected, actual.ToList()); AssertEnvironmentState(result.Environment); }
public void should_calculate_the_value_properly() { var res = sut.RunConcurrently(); var asyncRes = res[0].Result; _containerTask.SetValueByPath(_simulation, "DERMAL_APPLICATION_AREA|skin_compartment|SC_skin_sublayer|SC_total_thickness", 0.0002, throwIfNotFound: true); _containerTask.SetValueByPath(_simulation, "DERMAL_APPLICATION_AREA|skin_compartment|Hydrated SC", 1, throwIfNotFound: true); var expectedResults = _simulationRunner.Run(new SimulationRunArgs { Simulation = _simulation }); res[0].Succeeded.ShouldBeTrue(); asyncRes.Count.ShouldBeEqualTo(1); asyncRes.AllValuesFor("DERMAL_APPLICATION_AREA|permeant|Vehicle_observer").Last().ShouldBeEqualTo( expectedResults.AllValuesFor("DERMAL_APPLICATION_AREA|permeant|Vehicle_observer").Last()); }