package de.plushnikov.intellij.plugin.action.intellij; import com.intellij.codeInsight.generation.ClassMember; import com.intellij.codeInsight.generation.GenerateConstructorHandler; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import de.plushnikov.intellij.plugin.AbstractLombokLightCodeInsightTestCase; import de.plushnikov.intellij.plugin.action.generate.LombokGenerateConstructorHandler; import java.util.List; public class GenerateConstructorHandlerTest extends AbstractLombokLightCodeInsightTestCase { @Override protected String getBasePath() { return super.getBasePath() + "/action/generateconstructor"; } protected void doTest(final boolean preSelect) throws Exception { myFixture.configureByFile(getBasePath() + "/before" + getTestName(false) + ".java"); new LombokGenerateConstructorHandler() { @Override protected ClassMember[] chooseMembers(ClassMember[] members, boolean allowEmpty, boolean copyJavadoc, Project project, Editor editor) { if (preSelect) { List<ClassMember> preselection = GenerateConstructorHandler.preselect(members); return preselection.toArray(new ClassMember[preselection.size()]); } else { return members; } } }.invoke(getProject(), getEditor(), getFile()); checkResultByFile(getBasePath() + "/after" + getTestName(false) + ".java"); } public void testGenerateConstructorEmpty() throws Exception { doTest(true); } public void testGenerateConstructorAll() throws Exception { doTest(false); } }