using System.Linq; using Autofac; using Nitride.IO.Contents; using Nitride.IO.Paths; using Xunit; using Xunit.Abstractions; using Zio; using Zio.FileSystems; namespace Nitride.IO.Tests { public class AddPathPrefixTests : NitrideIOTestsBase { private readonly MemoryFileSystem fileSystem; public AddPathPrefixTests(ITestOutputHelper output) : base(output) { this.fileSystem = new MemoryFileSystem(); this.fileSystem.CreateFile("/b1.txt"); this.fileSystem.CreateFile("/c1.md"); } [Fact] public void PrefixAllFiles() { // Set up the operation. var readFiles = this.Container.Resolve(); var op = new AddPathPrefix("/prefix"); // Read and replace the paths. IOrderedEnumerable output = readFiles(this.fileSystem) .Read() .Run(op) .Select(x => x.Get().ToString()) .OrderBy(x => x); // Verify the results. Assert.Equal( new[] { "/prefix/b1.txt", "/prefix/c1.md", }, output); } } }