Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }