public void Generate_GenerationSpecGiven_TypeScriptContentGenerated(string outputPath) { //arrange var generator = new Core.Generator(new GeneratorOptions { BaseOutputDirectory = outputPath, CreateIndexFile = true }, _fileSystem); var assemblyResolver = new AssemblyResolver(new FileSystem(), new ConsoleLogger(), ProjectPath); var generationSpec = new AcceptanceTestGenerationSpec(); //act assemblyResolver.Register(); generator.Generate(generationSpec); assemblyResolver.Unregister(); //assert _fileSystem.Received().SaveFile(outputPath + "custom-base-class.ts", Content["custom-base-class.ts"]); _fileSystem.Received().SaveFile(outputPath + "custom-base-custom-import.ts", Content["custom-base-custom-import.ts"]); _fileSystem.Received().SaveFile(outputPath + "custom-empty-base-class.ts", Content["custom-empty-base-class.ts"]); _fileSystem.Received().SaveFile(outputPath + "extended-primitives-class.ts", Content["extended-primitives-class.ts"]); _fileSystem.Received().SaveFile(outputPath + "external-deps-class.ts", Content["external-deps-class.ts"]); _fileSystem.Received().SaveFile(outputPath + "generic-base-class.ts", Content["generic-base-class.ts"]); }
public async Task TestGenerateSpec(Type type, string expectedLocation) { var readExpectedTask = EmbededResourceReader.GetEmbeddedResourceAsync(expectedLocation); var spec = new AcceptanceTestGenerationSpec(); var generator = new Gen.Generator(); var interceptor = GeneratorOutputInterceptor.CreateInterceptor(generator); await generator.GenerateAsync(new[] { spec }); var expected = (await readExpectedTask).Trim(); Assert.True(interceptor.GeneratedOutputs.ContainsKey(type)); Assert.Equal(expected, FromatOutput(interceptor.GeneratedOutputs[type].Content)); }