boolivar/jdoc-test

View on GitHub
jdoc-spock-gradle-plugin/src/main/java/org/bool/jdoc/spock/gradle/SpecGenerator.java

Summary

Maintainability
A
0 mins
Test Coverage
package org.bool.jdoc.spock.gradle;

import org.bool.jdoc.core.JavaFileParser;
import org.bool.jdoc.core.SpecSource;
import org.bool.jdoc.spock.TestSpec;
import org.bool.jdoc.spock.TestSpecFactory;

import java.nio.file.Path;
import java.util.Optional;

public class SpecGenerator {

    private final JavaFileParser parser;

    private final TestSpecFactory specFactory;

    public SpecGenerator(String lang) {
        this(new JavaFileParser(lang), new TestSpecFactory());
    }

    public SpecGenerator(JavaFileParser parser, TestSpecFactory specFactory) {
        this.parser = parser;
        this.specFactory = specFactory;
    }

    public Optional<TestSpec> generateSpec(Path javaFile, ClassLoader classLoader) {
        SpecSource specSource = parser.parse(javaFile);
        return specFactory.createTestSpec(specSource, classLoader);
    }
}