static void Main(string[] args) { var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config")); _log = LogManager.GetLogger(typeof(ElevatorSystem)); _options = ParseArguments(args); _system = new ElevatorSystem(new IElevator[] { ElevatorFactory.Instance.Create(), ElevatorFactory.Instance.Create(), }); Building.Initialize(_system); _system.RunAll(); if (_options?.Inputs?.Any() == true) { HandleRequestInputs(_options.Inputs); } if (_options?.SimplePrompt == true) { DoSimpleUserPrompt(); } else { DoInteractiveUserPrompt(); } _system.StopAll(); }
public async void RequestShouldBeWrittenToQueue() { var queue = new ElevatorRequestQueueUsingChannel(); var actualRequests = new List <ElevatorRequest>(); var elevatorSystem = new ElevatorSystem( new ElevatorRequestHandlerFactory(null, null, queue), new WaiterService(), queue ); elevatorSystem.AddRequest(new ElevatorRequest()); await Task.WhenAny( elevatorSystem.StartAsync(), Task.Run(async() => { await Task.Delay(10); queue.Complete(); }) ); await foreach (var request in queue.ReadAllAsync()) { actualRequests.Add(request); } Assert.Single(actualRequests); }
public ArduinoReader(ElevatorSystem elSys) { _elSys = elSys; sPort = new SerialPort("COM7"); Task task = new Task(() => ReadCycle()); task.Start(); }
public void StatePatternTest() { ElevatorSystem system = new ElevatorSystem(); //Assert.That(engine.CageAtFloor.Value == 0); //engine.GoToFloor(2); //Assume.That(engine.CageAtFloor.Value == 2); }
public async void StartAsyncWithoutRequestsOrElevatorsShouldAbortIfCancelled() { var elevatorSystem = new ElevatorSystem( null, new WaiterService(), new ElevatorRequestQueueUsingChannel() ); var cancellationTokenSource = new CancellationTokenSource(); cancellationTokenSource.Cancel(); await Assert.ThrowsAsync <OperationCanceledException>( () => elevatorSystem.StartAsync(cancellationTokenSource.Token) ); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); FinalFrame FFrame = new FinalFrame(); MainFrame mFrame = new MainFrame(FFrame); RealTimeFrame RTFrame = new RealTimeFrame(); ElevatorSystem Lsys = new ElevatorSystem(); CreatePresenter sysLift = new CreatePresenter(mFrame, Lsys); InfoPressenter infLift = new InfoPressenter(RTFrame, Lsys); FinalInfoPresenter finalInf = new FinalInfoPresenter(FFrame, Lsys); RTFrame.Show(); Application.Run(mFrame); }