Ejemplo n.º 1
0
        public async void FileShouldBeMoved()
        {
            //Arrange
            var config = ReusableMocks.MockConfig();

            var file = TestUtilities.CreateFile(config.Src, "Example.doc", DateTime.Now);

            var pipe = new TransferPipe(
                config,
                ReusableMocks.MockResultFactory(),
                ReusableMocks.MockFileTransferPipe(new FileResult
            {
                SrcPath        = file,
                Size           = 0,
                TransferQueued = DateTime.Now,
                Extension      = ".doc"
            }));

            Assert.That(Directory.GetFiles(config.Src).Length == 1);

            //Act
            await pipe.Execute();

            //Assert
            Assert.That(Directory.GetFiles(config.Dest).Length == 1);
            Assert.That(Directory.GetFiles(config.Src).Length == 0);
        }
Ejemplo n.º 2
0
        private static async Task MainAsync()
        {
            var filePipe = new FilePipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                ExitToken.Token);

            var metadataPipe = new MetadataPipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                filePipe);

            var transferPipe = new TransferPipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                metadataPipe);

            var cancelSource = new CancellationTokenSource();

            var ui = Task.Run(() => ReportStatus(Container.Resolve <IResultFactory>(), filePipe, metadataPipe, transferPipe, cancelSource.Token));

            await Task.WhenAll(filePipe.Execute(),
                               metadataPipe.Execute(),
                               transferPipe.Execute());

            cancelSource.Cancel();
            await ui;

            var results = Container.Resolve <IResultFactory>();

            Console.WriteLine("Complete.  Writing index file.");
            results.WriteFile();
        }