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); }
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(); }