public void should_be_able_to_read_all_files_and_run_the_most() { var directories = new DirectoryInfo(_directory).EnumerateDirectories(); var messages = new List <string>(); foreach (var directory in directories) { _sbmlTask = IoC.Resolve <ISbmlTask>().DowncastTo <SbmlTask>(); var caseName = directory.Name; Debug.Print(caseName); var fileName = Path.Combine(directory.FullName, $"{caseName}-sbml-l3v1.xml"); var context = IoC.Resolve <IMoBiContext>(); context.NewProject(); var project = context.CurrentProject; IMoBiCommand command; try { command = _sbmlTask.ImportModelFromSbml(fileName, project); } catch (Exception e) { messages.Add($"Import: {caseName} {e.Message}:"); continue; } if (command.IsEmpty()) { messages.Add($"Import: {caseName}"); continue; } addjEmptyBBIfneeded(project); addSettings(project, Path.Combine(directory.FullName, $"{caseName}-settings.txt")); var buildConfigurtion = genreateBuildConfiguration(project); var result = _modelConstructor.CreateModelFrom(buildConfigurtion, caseName); if (result.IsInvalid) { messages.Add(caseName); continue; } var simulation = new MoBiSimulation { BuildConfiguration = buildConfigurtion, Model = result.Model }; var simModelManager = new SimModelManager(_simModelExporter, new SimModelSimulationFactory(), new DataFactory(IoC.Resolve <IMoBiDimensionFactory>(), new SBMLTestDataNamingService(), IoC.Resolve <IObjectPathFactory>(), IoC.Resolve <IDisplayUnitRetriever>(), IoC.Resolve <IDataRepositoryTask>())); var runResults = simModelManager.RunSimulation(simulation); if (!runResults.Success) { messages.Add(caseName); continue; } var dt = _dateRepositoryTask.ToDataTable(runResults.Results); dt.First().ExportToCSV(Path.Combine(directory.FullName, $"{caseName}-result_mobi.csv")); _sbmlTask = null; } messages.Count.ShouldBeEqualTo(0, messages.ToString("\n")); }
public override void GlobalContext() { base.GlobalContext(); _simModelExporter = IoC.Resolve <ISimModelExporter>(); _withIdRepository = IoC.Resolve <IWithIdRepository>(); _namingFactory = A.Fake <IDataNamingService>(); _dimensionFactory = IoC.Resolve <IDimensionFactory>(); _objectPathFactory = IoC.Resolve <IObjectPathFactory>(); _displayUnitRetriever = IoC.Resolve <IDisplayUnitRetriever>(); _simulation = IoC.Resolve <SimulationHelperForSpecs>().CreateSimulation(); new RegisterTaskForSpecs(_withIdRepository).RegisterAllIn(_simulation.Model.Root); var schemaPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "OSPSuite.SimModel.xsd"); XMLSchemaCache.InitializeFromFile(schemaPath); sut = new SimModelManager(_simModelExporter, new SimModelSimulationFactory(), new DataFactory(_dimensionFactory, _namingFactory, _objectPathFactory, _displayUnitRetriever)); }