public ArticleCheck() { _dbConnectionString = Dbms.getDbContextString().Replace("UnitTestDB", "TruckTest"); _masterDBContext = new ProductionDomainContext(options: new DbContextOptionsBuilder <MasterDBContext>() .UseSqlServer(connectionString: _dbConnectionString) .Options); _masterDBContext.Database.EnsureCreated(); MasterDBInitializerTruck.DbInitialize(context: _masterDBContext); }
public SimulationSystem() { _masterDBContext.Database.EnsureDeleted(); _masterDBContext.Database.EnsureCreated(); //MasterDbInitializerTable.DbInitialize(_masterDBContext); MasterDBInitializerTruck.DbInitialize(context: _masterDBContext); _ctxResult.Database.EnsureCreated(); ResultDBInitializerBasic.DbInitialize(context: _ctxResult); }
public void ResetResultsDB(string connectionString, string resultConnectionString) { MasterDBContext masterCtx = MasterDBContext.GetContext(connectionString); masterCtx.Database.EnsureDeleted(); masterCtx.Database.EnsureCreated(); MasterDBInitializerTruck.DbInitialize(masterCtx, ModelSize.Medium, ModelSize.Small, ModelSize.Small, 3, true); ResultContext results = ResultContext.GetContext(resultCon: resultConnectionString); results.Database.EnsureDeleted(); results.Database.EnsureCreated(); ResultDBInitializerBasic.DbInitialize(results); }
public void InitializeRemote() { ResultContext results = ResultContext.GetContext(resultCon: remoteResultCtxString); results.Database.EnsureDeleted(); results.Database.EnsureCreated(); ResultDBInitializerBasic.DbInitialize(results); MasterDBContext masterCtx = MasterDBContext.GetContext(remoteMasterCtxString); masterCtx.Database.EnsureDeleted(); masterCtx.Database.EnsureCreated(); MasterDBInitializerTruck.DbInitialize(masterCtx, resourceModelSize: ModelSize.Small, setupModelSize: ModelSize.Small, ModelSize.Small, 3, false); HangfireDBContext dbContext = new HangfireDBContext(options: new DbContextOptionsBuilder <HangfireDBContext>() .UseSqlServer(connectionString: hangfireCtxString) .Options); dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); HangfireDBInitializer.DbInitialize(context: dbContext); }
public async Task <IActionResult> ReloadDb(string products) { await Task.Run(action : () => { switch (products) { case "Tables": _context.Database.EnsureDeleted(); MasterDbInitializerTable.DbInitialize(context: _context); break; case "Trucks": _context.Database.EnsureDeleted(); MasterDBInitializerTruck.DbInitialize(context: _context, resourceModelSize: ModelSize.Medium, setupModelSize: ModelSize.Medium, ModelSize.Small, 3, false); break; default: break; } } ); return(View(viewName: "Index")); }
public ArticleCheck() { DataBase = Dbms.GetNewMasterDataBase(); MasterDBInitializerTruck.DbInitialize(context: DataBase.DbContext, resourceModelSize: ModelSize.Medium, setupModelSize: ModelSize.Medium, ModelSize.Small, 3, false); }
public void RunProduction(int uniqueSimNum, int orderQuantity, ModelSize resourceModelSize, ModelSize setupModelSize, ModelSize operatorModelSize, int numberOfWorkers, bool secondResource) { LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Info, LogLevel.Info); LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Debug, LogLevel.Debug); _testOutputHelper.WriteLine("DatabaseString: " + _contextDataBase.ConnectionString.Value); _testOutputHelper.WriteLine("ResultDatabaseString: " + _resultContextDataBase.ConnectionString.Value); //Handle this one in our Resource Model? MasterDBInitializerTruck.DbInitialize(_contextDataBase.DbContext, resourceModelSize, setupModelSize, operatorModelSize, numberOfWorkers, secondResource); _testOutputHelper.WriteLine("MasterDBInitialized finished"); ResultDBInitializerBasic.DbInitialize(_resultContextDataBase.DbContext); _testOutputHelper.WriteLine("ResultDBInitializerBasic finished"); var messageHub = new ConsoleHub(); var simContext = new AgentSimulation(DBContext: _contextDataBase.DbContext, messageHub: messageHub); var simConfig = ArgumentConverter.ConfigurationConverter(_resultContextDataBase.DbContext, 1); _testOutputHelper.WriteLine("ArgumentConverter finished"); simConfig.ReplaceOption(new DBConnectionString(_resultContextDataBase.ConnectionString.Value)); simConfig.ReplaceOption(new TimeToAdvance(new TimeSpan(0L))); simConfig.ReplaceOption(new KpiTimeSpan(240)); simConfig.ReplaceOption(new DebugAgents(true)); simConfig.ReplaceOption(new MinDeliveryTime(1440)); simConfig.ReplaceOption(new MaxDeliveryTime(2880)); simConfig.ReplaceOption(new TransitionFactor(3)); simConfig.ReplaceOption(new SimulationKind(value: SimulationType.Default)); simConfig.ReplaceOption(new OrderArrivalRate(value: 0.15)); simConfig.ReplaceOption(new OrderQuantity(value: orderQuantity)); simConfig.ReplaceOption(new EstimatedThroughPut(value: 1920)); simConfig.ReplaceOption(new TimePeriodForThroughputCalculation(value: 2880)); simConfig.ReplaceOption(new Seed(value: 1337)); simConfig.ReplaceOption(new SettlingStart(value: 0)); simConfig.ReplaceOption(new SimulationEnd(value: 4380)); simConfig.ReplaceOption(new SaveToDB(value: true)); simConfig.ReplaceOption(new MaxBucketSize(value: 480)); simConfig.ReplaceOption(new SimulationNumber(value: uniqueSimNum)); simConfig.ReplaceOption(new DebugSystem(value: true)); simConfig.ReplaceOption(new WorkTimeDeviation(0.0)); simConfig.ReplaceOption(new TimeConstraintQueueLength(480)); var simulation = simContext.InitializeSimulation(configuration: simConfig).Result; _testOutputHelper.WriteLine("simContext.InitializeSimulation finished"); var sim = simulation.RunAsync(); _testOutputHelper.WriteLine("simulation.RunAsync() finished"); Within(TimeSpan.FromSeconds(120), async() => { simContext.StateManager.ContinueExecution(simulation); await sim; }).Wait(); var processedOrders = _resultContextDataBase.DbContext.Kpis .Single(x => x.IsFinal.Equals(true) && x.Name.Equals("OrderProcessed")).Value; Assert.Equal(orderQuantity, processedOrders); Assert.False(AnyOverlappingTaskItemsExistsOnOneMachine()); foreach (var obj in messageHub.Logs) { dynamic guardChildCounter = JsonConvert.DeserializeObject(obj); Assert.Equal(0, int.Parse(guardChildCounter[1].Value)); } _contextDataBase.DbContext.Dispose(); _resultContextDataBase.DbContext.Dispose(); }
//[InlineData(SimulationType.DefaultSetup, 1, Int32.MaxValue, 1920, 169, ModelSize.Small, ModelSize.Small)] public async Task CentralSystemTest() { //LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Trace, LogLevel.Trace); LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Info, LogLevel.Info); //LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Debug, LogLevel.Debug); LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Warn, LogLevel.Warn); var simtulationType = SimulationType.Central; var seed = 169; var throughput = 1920; var arrivalRate = 0.015; //Create Master40Data var masterPlanContext = ProductionDomainContext.GetContext(masterCtxString); masterPlanContext.Database.EnsureDeleted(); masterPlanContext.Database.EnsureCreated(); MasterDBInitializerTruck.DbInitialize(masterPlanContext, ModelSize.Medium, ModelSize.Medium, ModelSize.Small, 3, false); //CreateMaster40Result var masterPlanResultContext = ResultContext.GetContext(masterResultCtxString); masterPlanResultContext.Database.EnsureDeleted(); masterPlanResultContext.Database.EnsureCreated(); ResultDBInitializerBasic.DbInitialize(masterPlanResultContext); //Reset GanttPLan DB? var ganttPlanContext = GanttPlanDBContext.GetContext(GanttPlanCtxString); ganttPlanContext.Database.ExecuteSqlRaw("EXEC sp_MSforeachtable 'DELETE FROM ? '"); //Synchronisation GanttPlan GanttPlanOptRunner.RunOptAndExport("Init"); var simContext = new GanttSimulation(GanttPlanCtxString, masterCtxString, messageHub: new ConsoleHub()); var simConfig = ArgumentConverter.ConfigurationConverter(masterPlanResultContext, 1); // update customized Items simConfig.AddOption(new DBConnectionString(masterResultCtxString)); simConfig.ReplaceOption(new KpiTimeSpan(240)); simConfig.ReplaceOption(new TimeConstraintQueueLength(480)); simConfig.ReplaceOption(new SimulationKind(value: simtulationType)); simConfig.ReplaceOption(new OrderArrivalRate(value: arrivalRate)); simConfig.ReplaceOption(new OrderQuantity(value: 141)); simConfig.ReplaceOption(new EstimatedThroughPut(value: throughput)); simConfig.ReplaceOption(new TimePeriodForThroughputCalculation(value: 4000)); simConfig.ReplaceOption(new Seed(value: seed)); simConfig.ReplaceOption(new SettlingStart(value: 2880)); simConfig.ReplaceOption(new SimulationEnd(value: 10080)); simConfig.ReplaceOption(new SaveToDB(value: true)); simConfig.ReplaceOption(new DebugSystem(value: false)); simConfig.ReplaceOption(new WorkTimeDeviation(0.2)); var simulation = await simContext.InitializeSimulation(configuration : simConfig); //emtpyResultDBbySimulationNumber(simNr: simConfig.GetOption<SimulationNumber>()); var simWasReady = false; if (simulation.IsReady()) { // set for Assert simWasReady = true; // Start simulation var sim = simulation.RunAsync(); simContext.StateManager.ContinueExecution(simulation); await sim; } Assert.True(condition: simWasReady); }
public async Task SystemTestAsync(SimulationType simulationType, int simNr, int maxBucketSize, long throughput, int seed , ModelSize resourceModelSize, ModelSize setupModelSize , double arrivalRate, bool distributeSetupsExponentially) { LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Trace, LogLevel.Trace); LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Info, LogLevel.Info); LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AGENTS, LogLevel.Debug, LogLevel.Debug); //LogConfiguration.LogTo(TargetTypes.Debugger, CustomLogger.PRIORITY, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.File, CustomLogger.SCHEDULING, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.File, CustomLogger.DISPOPRODRELATION, LogLevel.Debug, LogLevel.Debug); //LogConfiguration.LogTo(TargetTypes.Debugger, CustomLogger.PROPOSAL, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.Debugger, CustomLogger.INITIALIZE, LogLevel.Warn, LogLevel.Warn); LogConfiguration.LogTo(TargetTypes.Debugger, CustomLogger.JOB, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.File, CustomLogger.ENQUEUE, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.Debugger, CustomLogger.JOBSTATE, LogLevel.Warn, LogLevel.Warn); //LogConfiguration.LogTo(TargetTypes.File, TargetNames.LOG_AKKA, LogLevel.Trace, LogLevel.Trace); //LogConfiguration.LogTo(TargetTypes.Debugger, TargetNames.LOG_AKKA, LogLevel.Warn); var masterCtx = ProductionDomainContext.GetContext(testCtxString); masterCtx.Database.EnsureDeleted(); masterCtx.Database.EnsureCreated(); MasterDBInitializerTruck.DbInitialize(masterCtx, resourceModelSize, setupModelSize, ModelSize.Small, 3, distributeSetupsExponentially); //InMemoryContext.LoadData(source: _masterDBContext, target: _ctx); var simContext = new AgentSimulation(DBContext: masterCtx, messageHub: new ConsoleHub()); var simConfig = Simulation.CLI.ArgumentConverter.ConfigurationConverter(_ctxResult, 1); // update customized Items simConfig.AddOption(new DBConnectionString(testResultCtxString)); simConfig.ReplaceOption(new TimeConstraintQueueLength(480)); simConfig.ReplaceOption(new SimulationKind(value: simulationType)); simConfig.ReplaceOption(new OrderArrivalRate(value: arrivalRate)); simConfig.ReplaceOption(new OrderQuantity(value: 5)); simConfig.ReplaceOption(new EstimatedThroughPut(value: throughput)); simConfig.ReplaceOption(new TimePeriodForThroughputCalculation(value: 2880)); simConfig.ReplaceOption(new Seed(value: seed)); simConfig.ReplaceOption(new SettlingStart(value: 0)); simConfig.ReplaceOption(new SimulationEnd(value: 2880)); simConfig.ReplaceOption(new SaveToDB(value: true)); simConfig.ReplaceOption(new MaxBucketSize(value: maxBucketSize)); simConfig.ReplaceOption(new SimulationNumber(value: simNr)); simConfig.ReplaceOption(new DebugSystem(value: true)); simConfig.ReplaceOption(new WorkTimeDeviation(0.0)); var simulation = await simContext.InitializeSimulation(configuration : simConfig); emtpyResultDBbySimulationNumber(simNr: simConfig.GetOption <SimulationNumber>()); var simWasReady = false; if (simulation.IsReady()) { // set for Assert simWasReady = true; // Start simulation var sim = simulation.RunAsync(); simContext.StateManager.ContinueExecution(simulation); await sim; } Assert.True(condition: simWasReady); }
private void InitializeTestModel() { MasterDBInitializerTruck.DbInitialize(_contextDataBase.DbContext, ModelSize.TestModel, ModelSize.Small, ModelSize.Small, 0, false); }