public void FindLongOperationTest() { // Arrange. var operationId = new Guid("{A9795BAF-22FD-42D6-9B31-7B5BF5AC3254}"); var vm = new MainViewModel(); // Act. var foundOperation = vm.FindLongOperation(operationId); // Assert. Assert.IsNull(foundOperation); // Add operation. var operation = vm.FindOrCreateLongOperation(operationId); // Act. foundOperation = vm.FindLongOperation(operationId); // Assert. Assert.AreSame(operation, foundOperation); }
public void MainViewModelDisplaysTheStatusOfTheOldestLongOperation() { // Arrange. var operationId1 = new Guid("{A9795BAF-22FD-42D6-9B31-7B5BF5AC3254}"); var operationId2 = new Guid("{3CF3E896-0C88-4A40-9739-5461EAE7C536}"); const string OperationName1 = "Operation 1"; const string OperationName2 = "Operation 2"; const double OperationProgress1 = 25; const double OperationProgress2 = 50; var vm = new MainViewModel(); // Create two operations. var operation1 = vm.FindOrCreateLongOperation(operationId1); var operation2 = vm.FindOrCreateLongOperation(operationId2); operation1.Name = OperationName1; operation1.Progress = OperationProgress1; operation2.Name = OperationName2; operation2.Progress = OperationProgress2; // Assert - MainViewModel should show the status of the first operation. Assert.IsTrue(vm.IsLongOperationInProgress); Assert.AreEqual(OperationName1, vm.LongOperationName); Assert.AreEqual(OperationProgress1, vm.LongOperationProgress); // Complete first operation. vm.CompleteLongOperation(operation1); // Assert - MainViewModel should show the status of the second operation. Assert.IsTrue(vm.IsLongOperationInProgress); Assert.AreEqual(OperationName2, vm.LongOperationName); Assert.AreEqual(OperationProgress2, vm.LongOperationProgress); // Complete second operation. vm.CompleteLongOperation(operation2); // Assert - no long operations. Assert.IsFalse(vm.IsLongOperationInProgress); }
public void NeedPageReloadNotifierHasPriorityOverProgressBar() { var operationGuid = new Guid("{696861FD-7FE5-4E41-8E78-5E55591CE1B3}"); var vm = new MainViewModel { NeedsPageReload = true }; var operation = vm.FindOrCreateLongOperation(operationGuid); Assert.IsFalse(vm.IsLongOperationInProgress); vm.NeedsPageReload = false; Assert.IsTrue(vm.IsLongOperationInProgress); vm.CompleteLongOperation(operation); Assert.IsFalse(vm.IsLongOperationInProgress); }