private Guid DoTestBeginInitialise() { using (Fake.CreateScope()) { // PREPARE: // Indicate that the settings are valid A.CallTo(() => m_SettingsManager.ValidateCurrentSettings()).Returns(true); A.CallTo(() => m_SettingsManager.GetCurrentSetting(Setting.ApiKey)).Returns(""); A.CallTo(() => m_SettingsManager.GetCurrentSetting(Setting.RootUrl)).Returns(""); // Return a valid identifier for asynchronous connection operation Guid identifier = Guid.NewGuid(); A.CallTo(() => m_DataController.BeginInitialise(A <DataControllerConfig> ._)).Returns(identifier); // EXECUTE: // First start the initialisation ((IMainWindowViewModel)m_ViewModel).BeginInitialise(); // ASSERT: // Assert public state of ViewModel Assert.AreEqual(Activity.Transitioning, m_ViewModel.CurrentActivity); Assert.IsFalse(m_ViewModel.IsTemplating); Assert.IsNull(m_ViewModel.Exception); Assert.AreEqual(INITIALISING_PROMPT_TEXT, m_ViewModel.PromptText); // Assert IDataController interaction // TODO: Check DataControllerConfig value A.CallTo(() => m_DataController.BeginInitialise(A <DataControllerConfig> ._)) .MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => m_DataController.BeginGetCapture(A <ScannerType> ._)) .MustNotHaveHappened(); A.CallTo(() => m_DataController.AbortRequest(A <Guid> ._)) .MustNotHaveHappened(); A.CallTo(() => m_DataController.BeginSaveTemplate(A <long> ._, A <byte[]> ._)) .MustNotHaveHappened(); // Assert ITemplatingViewModel interaction A.CallTo(() => m_TemplatingViewModel.BeginInitialise()).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => m_TemplatingViewModel.BeginTemplating(A <CaptureInfo> ._)).MustNotHaveHappened(); A.CallTo(() => m_TemplatingViewModel.EscapeAction()).MustNotHaveHappened(); A.CallTo(() => m_TemplatingViewModel.FinaliseTemplate()).MustNotHaveHappened(); A.CallTo(() => m_TemplatingViewModel.QuitTemplating()).MustNotHaveHappened(); A.CallTo(m_TemplatingViewModel) .Where(x => x.Method.Name.Equals("set_InputMinutiaType")) .WhenArgumentsMatch(x => x.Get <MinutiaType>(0).Equals(DEFAULT_MINUTIA_TYPE)) .MustNotHaveHappened(); // Assert ISettingsValidator interaction AssertSettingsChecked(); // Assert that view model made no calls to other fake objects AssertNoCallsToSettingsViewModel(); AssertNoCallsToWindowService(); AssertNoCallsToDispatcherHelper(); // Return the identifier so that the operation can be completed later return(identifier); } }
private void DoTestInitialise() { using (Fake.CreateScope()) { // EXECUTE m_IViewModel.BeginInitialise(); // ASSERT Assert.IsNull(m_ViewModel.Capture); Assert.AreEqual(DEFAULT_MINUTIA_TYPE, m_ViewModel.InputMinutiaType); Assert.AreEqual(0, m_ViewModel.Minutae.Count); Assert.IsFalse(m_IViewModel.IsSaveTemplatePermitted); Assert.AreEqual(0, m_Monitor.GetEventResponses <UserActionRequiredEventArgs>("UserActionRequired").Count()); Assert.AreEqual(0, m_Monitor.GetEventResponses <PropertyChangedEventArgs>("PropertyChanged").Count()); // Assert IDispatcherHelper interaction AssertNoCallsToDispatcherHelper(); } }