protected static VerifySettings CreateVerifySettings(
        GeneratorTestInput yamlFile,
        ApiProjectOptions apiOptions)
    {
        ArgumentNullException.ThrowIfNull(yamlFile);

        var settings = new VerifySettings();

        settings.UseDirectory(yamlFile.TestDirectory);
        settings.UseFileName(yamlFile.TestName);
        settings.UseExtension("cs");
        settings.AddScrubber(input => input.Replace(apiOptions.ToolVersion.ToString(), "x.x.x.x"));
        return(settings);
    }
    protected async Task VerifyGeneratedOutput(
        GeneratorTestInput input)
    {
        // Arrange
        var apiProject = await CreateApiProjectAsync(input);

        var verifySettings = CreateVerifySettings(input, apiProject);

        var sut = CreateGenerator(apiProject);

        // Act
        var generatedCode = GetGeneratedCode(sut);

        // Assert
        await VerifyGeneratedCode(generatedCode, verifySettings);
    }
    protected static async Task <ApiProjectOptions> CreateApiProjectAsync(
        GeneratorTestInput testInput)
    {
        ArgumentNullException.ThrowIfNull(testInput);

        var spec = await testInput.LoadYamlSpecContentAsync();

        var options  = testInput.GeneratorOptions.Value;
        var document = GenerateApiDocument(spec);

        return(new ApiProjectOptions(
                   new DirectoryInfo("resources"),
                   projectTestGeneratePath: null,
                   document,
                   new FileInfo("resources/dummySpec.yaml"),
                   ProjectPrefix,
                   ProjectSuffix,
                   options,
                   usingCodingRules: false));
    }
Ejemplo n.º 4
0
 public Task ExecuteGeneratorTest(
     GeneratorTestInput input)
 => VerifyGeneratedOutput(input);