public async Task GenerateFiles_NoFiles() { using (var setup = new SetupTestFolder()) { await new Generator().GenerateFilesAsync(new List <FileGenerator>()); Directory.GetFiles(setup.TestFolder).Length.Should().Be(0); } }
public async Task GenerateToFile() { using (var setup = new SetupTestFolder()) { var model = new Example2 { Value = "value" }; await new Generator().GenerateFileAsync(model, "dir/test.txt"); File.ReadAllText("dir/test.txt").Should().Be("Value=value"); } }
public async Task GenerateFiles_StreamingFile() { using (var setup = new SetupTestFolder()) { await new Generator().GenerateFilesAsync(new List <FileGenerator> { FileGenerator.StreamingFile(new Example2 { Value = "123" }, "dir/test.txt"), }); File.ReadAllText("dir/test.txt").Should().Be("Value=123"); } }
public async Task GenerateFiles_StreamingFile_OverwritesExistingContent() { using (var setup = new SetupTestFolder()) { File.WriteAllText("test.txt", "previous content"); await new Generator().GenerateFilesAsync(new List <FileGenerator> { FileGenerator.StreamingFile(new Example2 { Value = "234" }, "test.txt"), }); File.ReadAllText("test.txt").Should().Be("Value=234"); } }
public async Task GenerateFiles_LazyFile_OverwritesIfContentIsDifferent() { using (var setup = new SetupTestFolder()) { Directory.CreateDirectory("dir"); File.WriteAllText("dir/test.txt", "previous content"); await new Generator().GenerateFilesAsync(new List <FileGenerator> { FileGenerator.LazyFile(new Example2 { Value = "345" }, "dir/test.txt"), }); File.ReadAllText("dir/test.txt").Should().Be("Value=345"); } }
public async Task GenerateFiles_LazyFile_LeavesFileUntouchedIfContentUnchaged() { using (var setup = new SetupTestFolder()) { File.WriteAllText("test.txt", "Value=456"); var previousTime = File.GetLastWriteTimeUtc("test.txt"); await new Generator().GenerateFilesAsync(new List <FileGenerator> { FileGenerator.LazyFile(new Example2 { Value = "456" }, "test.txt"), }); File.ReadAllText("test.txt").Should().Be("Value=456"); File.GetLastWriteTimeUtc("test.txt").Should().Be(previousTime); } }