public static void run_writes_the_expected_files_to_disk() { var mockFileSystem = GenerateMockFileSystem(); mockFileSystem.GetFileInfoMock = (path) => { var generalMock = new MockFileWrapper(path, Path.GetDirectoryName(path), new DateTime(1, 1, 1)); generalMock.ExistsMock = () => { return(true); }; return(generalMock); }; var codegenJob = new StubCodegenJob(OutputDirectory, mockFileSystem, new List <string>() { "TestSchema.schema" }, new List <string>() { "TestOutput.h", "TestOutput.cpp" }); codegenJob.Run(); Assert.That(mockFileSystem.WriteToFileCallCount == 2); Assert.That(mockFileSystem.WrittenFiles.Contains(Path.Combine(OutputDirectory, "TestOutput.h"))); Assert.That(mockFileSystem.WrittenFiles.Contains(Path.Combine(OutputDirectory, "TestOutput.cpp"))); }
public static void run_creates_the_output_directory_if_it_does_not_exist() { var mockFileSystem = GenerateMockFileSystem(); mockFileSystem.GetFileInfoMock = (path) => { var generalMock = new MockFileWrapper(path, Path.GetDirectoryName(path), new DateTime(1, 1, 1)); generalMock.ExistsMock = () => { return(true); }; return(generalMock); }; var directoryCreated = false; var createdDirectory = string.Empty; mockFileSystem.CreateDirectoryMock = (path) => { directoryCreated = true; createdDirectory = path; }; mockFileSystem.DirectoryExistsMock = (path) => { if (directoryCreated) { return(true); } return(false); }; var codegenJob = new StubCodegenJob(OutputDirectory, mockFileSystem, new List <string>() { "TestSchema.schema" }, new List <string>() { Path.Combine("CreatedDir", "TestOutput.h"), Path.Combine("CreatedDir", "TestOutput.cpp") }); codegenJob.Run(); Assert.That(mockFileSystem.DirectoryExistsCallCount == 2); Assert.That(mockFileSystem.CreateDirectoryCallCount == 1); Assert.That(createdDirectory == Path.Combine(OutputDirectory, "CreatedDir")); }