Exemple #1
0
        public void BasicStateTest()
        {
            //Given
            var(workerMock, watcherMock, source, file, dest) = GetDefaultTestObjects();
            var sut = new FileCopy.FileCopy(workerMock.Object, watcherMock.Object, source, file, dest);

            //When
            sut.Start();

            //Then
            Assert.Equal(FileCopyStatus.Running, sut.Status);
        }
Exemple #2
0
        public void PathCombineTest()
        {
            //Given
            var(workerMock, watcherMock, source, file, dest) = GetDefaultTestObjects();

            //When
            var sut = new FileCopy.FileCopy(workerMock.Object, watcherMock.Object, source, file, dest);

            //Then
            Assert.Equal("c:/test.txt", sut.SourcePath);
            Assert.Equal("c:/tmp/test.txt", sut.TargetPath);
        }
Exemple #3
0
        public async void StartAndStopTest()
        {
            //Given
            var(workerMock, watcherMock, source, file, dest) = GetDefaultTestObjects();
            var sut      = new FileCopy.FileCopy(workerMock.Object, watcherMock.Object, source, file, dest);
            var observer = sut.ProgressUpdates;

            //When
            sut.Start();
            WatcherSubject[watcherMock].OnNext(WatcherChangeTypes.Changed);
            WorkerFileSizeManager[workerMock].Sources[0].SetResult((SourceSize: 10, TargetSize: 5));
            WorkerFileCopyManager[workerMock].Sources[0].SetResult(true); //Indicates that copy is finished


            //Then
            Assert.Equal(FileCopyStatus.Finished, sut.Status);
        }
Exemple #4
0
        public async void PercentCalculationTest()
        {
            //Given
            var(workerMock, watcherMock, source, file, dest) = GetDefaultTestObjects();
            workerMock.Setup(w => w.FileSize()).Returns(Task.FromResult((SourceSize: 10, TargetSize: 5)));
            var sut      = new FileCopy.FileCopy(workerMock.Object, watcherMock.Object, source, file, dest);
            var observer = sut.ProgressUpdates;

            //When
            sut.Start();
            WatcherSubject[watcherMock].OnNext(WatcherChangeTypes.Changed);

            //Then

            //Observable should put up a 50% value result
            var result = sut.ProgressUpdates.First();

            Assert.Equal(10, result.SourceSize);
            Assert.Equal(5, result.CurrentSize);
        }