public void Should_EnterInstallFailedState_When_AbortInstall() { var session = new UpdateSessionFake(true); var update = new UpdateFake("update1", true); update.IsDownloaded = true; session.SearcherMock.FakeSearchResult = CommonMocks.GetSearchResult(ToUpdateCollection(update)); session.InstallerMock.FakeInstallTimeMs = 10000; using (WuApiController wu = new WuApiController(session, UpdateCollectionFactory, SystemInfo)) { wu.AutoAcceptEulas = true; wu.BeginSearchUpdates(); WaitForStateChange(wu, WuStateId.SearchCompleted); wu.BeginInstallUpdates(); Assert.AreEqual(WuStateId.InstallFailed, wu.AbortInstallUpdates()); Assert.AreEqual(WuStateId.InstallFailed, wu.GetWuStatus().StateId); } }