public TestContext() { MockDoorManager = new Mock <IDoorManager>(); MockDoorManager .Setup(x => x.DoorCount) .Returns(() => DoorCount); MockLogger = new Mock <ILogger>(); MockManagedDoorSettingsProvider = new Mock <IManagedDoorSettingsProvider>(); MockManagedDoorSettingsProvider .Setup(x => x.Settings) .Returns(() => new ManagedDoorSettings() { AutoCloseInterval = AutoCloseInterval }); Uut = new ManagedDoorCollectionHandler( MockDoorManager.Object, MockLogger.Object, MockManagedDoorSettingsProvider.Object); MockBackgroundWorker = new FakeBackgroundWorker(); }
public CollectDoorOperation(ManagedDoorCollectionHandler owner, Action onDisposed) { _owner = owner; _onDisposed = onDisposed; }
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"); }