public void OnStarting_Always_ResetsSettings(string defualtBlockTag) { var uut = new ManagerSettingsProvider() { DefaultBlockTag = defualtBlockTag }; uut.OnStarting(); uut.Settings.BlockTag.ShouldBe(defualtBlockTag); uut.Settings.ManageOtherGrids.ShouldBe(false); uut.Settings.AutoManageThisGrid.ShouldBe(false); uut.Settings.AutoManageOtherGrids.ShouldBe(false); }
public void OnParsing_OptionIsUnknown_ReturnsIgnoredAndDoesNotChangeSettings(params string[] linePieces) { var configLine = new ConfigLine(linePieces); var uut = new ManagerSettingsProvider(); var settings = uut.Settings; var result = uut.OnParsing(configLine); result.IsIgnored.ShouldBeTrue(); uut.Settings.ShouldBe(settings); }
public void OnParsing_ParamsAreInvalid_ReturnsErrorAndDoesNotChangeSettings(params string[] linePieces) { var configLine = new ConfigLine(linePieces); var uut = new ManagerSettingsProvider(); var settings = uut.Settings; var result = uut.OnParsing(configLine); result.IsError.ShouldBeTrue(); result.Error.ShouldContain(linePieces[0]); uut.Settings.ShouldBe(settings); }
public void OnParsing_ParamsAreValidForBlockTag_ReturnsSuccessAndSetsBlockTag(params string[] linePieces) { var configLine = new ConfigLine(linePieces); var uut = new ManagerSettingsProvider(); var settings = uut.Settings; settings.BlockTag = linePieces[1]; var result = uut.OnParsing(configLine); result.IsSuccess.ShouldBeTrue(); uut.Settings.ShouldBe(settings); }
public void Settings_Always_SavesValue(string blockTag, bool manageOtherGrids, bool autoManageThisGrid, bool autoManageOtherGrids) { var uut = new ManagerSettingsProvider(); var settings = new ManagerSettings() { BlockTag = blockTag, ManageOtherGrids = manageOtherGrids, AutoManageThisGrid = autoManageThisGrid, AutoManageOtherGrids = autoManageOtherGrids }; uut.Settings = settings; uut.Settings.ShouldBe(settings); }
public void OnParsing_ParamsAreValidForAutoManageOtherGrids_ReturnsSuccessAndSetsAutoManageOtherGrids(params string[] linePieces) { var configLine = new ConfigLine(linePieces); var uut = new ManagerSettingsProvider(); var settings = uut.Settings; settings.AutoManageOtherGrids = true; var result = uut.OnParsing(configLine); result.IsSuccess.ShouldBeTrue(); uut.Settings.ShouldBe(settings); }
public void OnCompleted_Always_DoesNothing(string blockTag, bool manageOtherGrids, bool autoManageThisGrid, bool autoManageOtherGrids) { var uut = new ManagerSettingsProvider(); var settings = new ManagerSettings() { BlockTag = blockTag, ManageOtherGrids = manageOtherGrids, AutoManageThisGrid = autoManageThisGrid, AutoManageOtherGrids = autoManageOtherGrids }; uut.Settings = settings; uut.OnCompleted(); uut.Settings.ShouldBe(settings); }
public Program() { var dateTimeProvider = new DateTimeProvider(); var loggerSettingsProvider = new LoggerSettingsProvider(); var managedBlockSettingsProvider = new ManagedBlockSettingsProvider(); var logger = new Logger( dateTimeProvider, loggerSettingsProvider); var managedBlockConfigParseHandlers = new IManagedBlockConfigParseHandler[] { managedBlockSettingsProvider }; var managerSettingsProvider = new ManagerSettingsProvider() { DefaultBlockTag = "AutomatedDocking" }; var batteryBlockManager = new BatteryBlockManager(); var connectorManager = new ConnectorManager(); var functionalBlockManager = new FunctionalBlockManager(); var gasTankManager = new GasTankManager(); var landingGearManager = new LandingGearManager(); var managedBlockConfigManager = new ManagedBlockConfigManager( logger, managedBlockConfigParseHandlers, managerSettingsProvider); var dockingManagerSettingsProvider = new DockingManagerSettingsProvider(); var batteryBlockCollectionHandler = new BatteryBlockCollectionHandler( batteryBlockManager, logger, dockingManagerSettingsProvider); var connectorCollectionHandler = new ConnectorCollectionHandler( connectorManager, logger); var functionalBlockCollectionHandler = new FunctionalBlockCollectionHandler( functionalBlockManager, logger, dockingManagerSettingsProvider); var gasTankCollectionHandler = new GasTankCollectionHandler( gasTankManager, logger, dockingManagerSettingsProvider); var landingGearCollectionHandler = new LandingGearCollectionHandler( landingGearManager, logger, dockingManagerSettingsProvider); var managedBlockCollectionHandler = new ManagedBlockCollectionHandler( managedBlockConfigManager, managedBlockSettingsProvider, managerSettingsProvider, Me); var backgroundWorkerSettingsProvider = new BackgroundWorkerSettingsProvider(); var blockCollectionHandlers = new IBlockCollectionHandler[] { managedBlockCollectionHandler, batteryBlockCollectionHandler, connectorCollectionHandler, functionalBlockCollectionHandler, gasTankCollectionHandler, landingGearCollectionHandler }; var backgroundWorker = new BackgroundWorker( backgroundWorkerSettingsProvider, dateTimeProvider, Runtime); var blockCollectionManager = new BlockCollectionManager <IMyTerminalBlock>( blockCollectionHandlers, GridTerminalSystem); var programReloadHandler = new ProgramReloadHandler( backgroundWorker, blockCollectionManager); var configParseHandlers = new IConfigParseHandler[] { backgroundWorkerSettingsProvider, loggerSettingsProvider, managerSettingsProvider, dockingManagerSettingsProvider, programReloadHandler }; var configManager = new ConfigManager( configParseHandlers, logger, Me); var dockingManager = new DockingManager( logger, batteryBlockManager, connectorManager, functionalBlockManager, gasTankManager, landingGearManager); var echoProvider = new EchoProvider(Echo); _programManager = new ProgramManager( backgroundWorker, configManager, dockingManager, echoProvider, Runtime, logger); _programManager.Run("reload"); }
public Program() { var doorManagerSettingsProvider = new DoorManagerSettingsProvider(); var dateTimeProvider = new DateTimeProvider(); var loggerSettingsProvider = new LoggerSettingsProvider(); var managedBlockSettingsProvider = new ManagedBlockSettingsProvider(); var managedDoorSettingsProvider = new ManagedDoorSettingsProvider( doorManagerSettingsProvider); var logger = new Logger( dateTimeProvider, loggerSettingsProvider); var managedBlockConfigParseHandlers = new IManagedBlockConfigParseHandler[] { managedBlockSettingsProvider, managedDoorSettingsProvider }; var managerSettingsProvider = new ManagerSettingsProvider() { DefaultBlockTag = "DoorManager" }; var doorManager = new DoorManager( dateTimeProvider, doorManagerSettingsProvider, logger); var managedBlockConfigManager = new ManagedBlockConfigManager( logger, managedBlockConfigParseHandlers, managerSettingsProvider); var managedBlockCollectionHandler = new ManagedBlockCollectionHandler( managedBlockConfigManager, managedBlockSettingsProvider, managerSettingsProvider, Me); var managedDoorCollectionHandler = new ManagedDoorCollectionHandler( doorManager, logger, managedDoorSettingsProvider); var backgroundWorkerSettingsProvider = new BackgroundWorkerSettingsProvider(); var blockCollectionHandlers = new IBlockCollectionHandler[] { managedBlockCollectionHandler, managedDoorCollectionHandler }; var backgroundWorker = new BackgroundWorker( backgroundWorkerSettingsProvider, dateTimeProvider, Runtime); var blockCollectionManager = new BlockCollectionManager <IMyDoor>( blockCollectionHandlers, GridTerminalSystem); var programSettingsProvider = new ProgramSettingsProvider(); var programReloadHandler = new ProgramReloadHandler( backgroundWorker, blockCollectionManager, doorManager, programSettingsProvider); var configParseHandlers = new IConfigParseHandler[] { loggerSettingsProvider, backgroundWorkerSettingsProvider, managerSettingsProvider, doorManagerSettingsProvider, programSettingsProvider, programReloadHandler }; var configManager = new ConfigManager( configParseHandlers, logger, Me); var echoProvider = new EchoProvider( Echo); _programManager = new ProgramManager( backgroundWorker, configManager, doorManager, echoProvider, Runtime, logger); _programManager.Run("reload"); }