예제 #1
0
        public void SetProgress_ThrowsIfOperationIsNotRunning(AsyncOperationStatus status)
        {
            // Arrange
            var op = new AsyncCompletionSource(status);

            // Act/Assert
            Assert.Throws <InvalidOperationException>(() => op.SetProgress(0.1f));
        }
예제 #2
0
        public void SetProgress_SetsCorrectValue()
        {
            // Arrange
            var progress = 0.7f;
            var op       = new AsyncCompletionSource(AsyncOperationStatus.Running);

            // Act
            op.SetProgress(progress);

            // Assert
            Assert.Equal(progress, op.Progress);
        }
예제 #3
0
        public void SetProgress_RaisesProgressChanged()
        {
            // Arrange
            var asyncCallbackCalled = false;
            var op = new AsyncCompletionSource(AsyncOperationStatus.Running);

            op.ProgressChanged += (sender, args) =>
            {
                asyncCallbackCalled = true;
            };

            // Act
            op.SetProgress(0.8f);

            // Assert
            Assert.True(asyncCallbackCalled);
        }