package net.karneim.pojobuilder.analysis.with.generationgap;
import net.karneim.pojobuilder.analysis.Input;
import net.karneim.pojobuilder.analysis.Output;
import net.karneim.pojobuilder.analysis.with.AnalysisTestSupport;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class JavaModelAnalyzer_GenerationGap_Test extends AnalysisTestSupport {
@Test
public void testAnalyze() {
// Given:
Input input = inputFor(Pojo.class);
// When:
Output output = underTest.analyze(input);
// Then:
assertThat(output).isNotNull();
assertThat(output.getBuilderModel().getPojoType().getName()).isEqualTo(Pojo.class.getName());
assertThat(output.getBuilderModel().getType().getName()).isEqualTo(
"net.karneim.pojobuilder.analysis.with.generationgap.AbstractPojoBuilder");
assertThat(output.getBuilderModel().isAbstract()).isTrue();
assertThat(output.getBuilderModel().getSelfType().getName()).isEqualTo(
"net.karneim.pojobuilder.analysis.with.generationgap.PojoBuilder");
assertThat(output.getManualBuilderModel().getType().getName()).isEqualTo(
"net.karneim.pojobuilder.analysis.with.generationgap.PojoBuilder");
assertThat(output.getManualBuilderModel().getBaseType().getName()).isEqualTo(
"net.karneim.pojobuilder.analysis.with.generationgap.AbstractPojoBuilder");
}
}