private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) { if (_controller == null) { _controller = new ReplEngineController(StartUpScript, WorkingDirectory); } ReplEngine.DataContext = _controller.ViewModel; }
public void repl_engine_is_started_when_view_model_is_accessed() { // ARRANGE var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler); // ACT var viewModel = controller.ViewModel; // ASSERT Assert.That(viewModel, Is.Not.Null); _replEngine.Verify(x => x.Start(It.IsAny <string>()), Times.Once()); }
public void repl_engine_is_started_when_view_model_is_accessed() { // ARRANGE var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler); // ACT var viewModel = controller.ViewModel; // ASSERT Assert.That(viewModel, Is.Not.Null); _replEngine.Verify(x => x.Start(It.IsAny<string>()), Times.Once()); }
public void repl_engine_generates_error_output_then_view_model_is_updated() { // ARRANGE var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler); var viewModel = (ReplEngineViewModel)controller.ViewModel; // ACT _errorSubject.OnNext("error 1"); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(1)); // ASSERT Assert.That(viewModel.Output.Count(), Is.EqualTo(1)); Assert.That(viewModel.Output.First().Value, Is.EqualTo("error 1")); Assert.That(viewModel.Output.First().IsError, Is.True); }
public void repl_engine_generates_output_then_view_model_is_updated() { // ARRANGE var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler); var viewModel = (ReplEngineViewModel)controller.ViewModel; // ACT _outputSubject.OnNext("line 1"); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(1)); // ASSERT Assert.That(viewModel.Output.Count(), Is.EqualTo(1)); Assert.That(viewModel.Output.First().Value, Is.EqualTo("line 1")); Assert.That(viewModel.Output.First().IsError, Is.False); }
public void repl_engine_executes_script_when_controller_execute_is_called() { // ARRANGE var script = "let x = 345;;"; _replEngine.Setup(x => x.Execute(script)).Returns(_replEngine.Object).Verifiable(); var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler); var viewModel = (ReplEngineViewModel)controller.ViewModel; // ACT controller.Execute(script); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(1)); // ASSERT _replEngine.Verify(x => x.Execute(script), Times.Once); }
public void repl_engine_resets_when_view_model_reset_is_called() { // ARRANGE _replEngine.Setup(x => x.Reset()).Returns(_replEngine.Object).Verifiable(); var controller = new ReplEngineController(null, null, _replEngine.Object, _processService.Object, _testScheduler, _testScheduler); var viewModel = (ReplEngineViewModel)controller.ViewModel; _stateSubject.OnNext(State.Running); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(1)); // ACT viewModel.ResetCommand.Execute(null); _testScheduler.AdvanceBy(TimeSpan.FromSeconds(1)); // ASSERT _replEngine.Verify(x => x.Reset(), Times.Once); }