protected virtual void LoadServiceAndServiceAgents() { // add here necessary stuff to the container var unityContainer = Container.Resolve <IUnityContainer>(); var canalDirectServiceAgent = new CanalDirectServiceAgent(); var configurationDirectServiceAgent = new ConfigurationDirectServiceAgent(); var canalFlowService = new CanalFlowService(); var configurationService = new ConfigurationService(); var canalManager = new CanalManager(); var configurationLoader = new CanalConfigurationLoader(); var sequenceTaskScheduler = new SequenceTaskScheduler(); unityContainer.RegisterInstance <ICanalServiceAgent>(canalDirectServiceAgent); unityContainer.RegisterInstance <IConfigurationServiceAgent>(configurationDirectServiceAgent); unityContainer.RegisterInstance <ICanalFlowService>(canalFlowService); unityContainer.RegisterInstance <IConfigurationService>(configurationService); unityContainer.RegisterInstance <ICanalManager>(canalManager); unityContainer.RegisterInstance <ICanalConfigurationLoader>(configurationLoader); unityContainer.RegisterInstance(sequenceTaskScheduler); // build up everything unityContainer.BuildUp(canalDirectServiceAgent); unityContainer.BuildUp(configurationDirectServiceAgent); unityContainer.BuildUp(canalFlowService); unityContainer.BuildUp(configurationService); unityContainer.BuildUp(configurationLoader); // register for start/connect/etc }
public void SaveAndLoadConfiguration() { // Arrange CanalManager canalManager = new CanalManager(); ConfigurationManager.AppSettings[ServerConfigConsts.RelativeModelsLocation] = "ScienceAndMaths"; CanalConfigurationLoader loader = new CanalConfigurationLoader(); loader.CanalManager = canalManager; Canal canal = new Canal { Id = "TestConfig" }; canal.CanelEdges.Add(new CanalEdge() { Id = "SourceCanal", WaterLevel = 2.9 }); canal.CanelEdges.Add(new CanalEdge() { Id = "EndCanal" }); CanalStretch canalStretch = new CanalStretch("stretch1", 602, 20.32, new RectangularSection(5, 0.028, 0)); canalStretch.FromNode = canal.CanelEdges.First(); canalStretch.ToNode = canal.CanelEdges.Last(); canal.CanalStretches.Add(canalStretch); CanalConfiguration canalConfiguration = new CanalConfiguration(); canalConfiguration.ConfigId = "TestConfig"; loader.SaveCanalConfiguration(canal); loader.LoadCanalConfiguration(); Assert.IsNotNull(canalManager.Canal); Assert.AreEqual(2, canalManager.Canal.CanelEdges.Count); Assert.AreEqual(1, canalManager.Canal.CanalStretches.Count); }