[jbosstools-commits] JBoss Tools SVN: r39686 - trunk/cdi/tests/org.jboss.tools.cdi.seam3.bot.test/src/org/jboss/tools/cdi/seam3/bot/test/tests.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Mar 21 05:51:46 EDT 2012
Author: jjankovi
Date: 2012-03-21 05:51:45 -0400 (Wed, 21 Mar 2012)
New Revision: 39686
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam3.bot.test/src/org/jboss/tools/cdi/seam3/bot/test/tests/ExactAnnotationTest.java
Log:
ExactAnnotationTest implementation finished
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam3.bot.test/src/org/jboss/tools/cdi/seam3/bot/test/tests/ExactAnnotationTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam3.bot.test/src/org/jboss/tools/cdi/seam3/bot/test/tests/ExactAnnotationTest.java 2012-03-21 09:50:34 UTC (rev 39685)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam3.bot.test/src/org/jboss/tools/cdi/seam3/bot/test/tests/ExactAnnotationTest.java 2012-03-21 09:51:45 UTC (rev 39686)
@@ -11,29 +11,96 @@
package org.jboss.tools.cdi.seam3.bot.test.tests;
-import org.jboss.tools.cdi.seam3.bot.test.Seam3TestBase;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.cdi.bot.test.CDIConstants;
+import org.jboss.tools.cdi.bot.test.annotations.ProblemsType;
+import org.jboss.tools.cdi.seam3.bot.test.base.SolderTestBase;
+import org.jboss.tools.cdi.seam3.bot.test.util.SeamLibraries;
+import org.jboss.tools.ui.bot.ext.SWTEclipseExt;
+import org.jboss.tools.ui.bot.ext.types.ViewType;
import org.junit.Test;
-public class ExactAnnotationTest extends Seam3TestBase {
+public class ExactAnnotationTest extends SolderTestBase {
+ private String className = "Application.java";
+
+ private final String EXACT_INTERFACE = "exact-interface";
+ private final String EXACT_BEANS = "exact-beans";
+ private final String MULTIPLE_BEANS = "Multiple beans are eligible for injection";
+
@Override
public String getProjectName() {
- return "requires";
+ return "exact-interface";
}
@Override
+ public void prepareWorkspace() {
+
+ }
+
+ @Override
public void waitForJobs() {
-
+ projectExplorer.deleteAllProjects();
}
@Test
- public void testInterfaceImplementations() {
+ public void testExactAnnotationForInterface() {
+ testExactAnnotationsForProject(EXACT_INTERFACE);
+
}
@Test
- public void testBeanHierarchy() {
+ public void testExactAnnotationForBeans() {
+ testExactAnnotationsForProject(EXACT_BEANS);
+
}
+ private void testExactAnnotationsForProject(String projectName) {
+
+ String managerClass = "Manager.class";
+ String peopleManager = "PeopleManager";
+ String otherManager = "OtherManager";
+
+ projectImportHelper.importTestProject("/resources/projects/" + projectName,
+ projectName);
+ addAndCheckLibraryInProject(projectName, SeamLibraries.SOLDER);
+
+ setEd(packageExplorer.openFile(projectName, CDIConstants.SRC,
+ "cdi.seam", className).toTextEditor());
+
+ testExactImproperValue(projectName);
+
+ editResourceUtil.replaceInEditor(managerClass, peopleManager + ".class");
+ testExactProperValue(projectName, peopleManager);
+
+
+ bot.editorByTitle(className).show();
+
+ editResourceUtil.replaceInEditor(peopleManager + ".class", otherManager + ".class");
+ testExactProperValue(projectName, otherManager);
+
+ }
+
+ private void testExactImproperValue(String projectName) {
+
+ SWTEclipseExt.showView(bot,ViewType.PROBLEMS);
+ SWTBotTreeItem[] validationProblems = quickFixHelper.getProblems(ProblemsType.WARNINGS, projectName);
+ assertTrue(validationProblems.length > 0);
+ assertTrue(validationProblems.length == 1);
+ assertContains(MULTIPLE_BEANS, validationProblems[0].getText());
+
+ }
+
+ private void testExactProperValue(String projectName, String value) {
+
+ SWTEclipseExt.showView(bot,ViewType.PROBLEMS);
+ SWTBotTreeItem[] validationProblems = quickFixHelper.getProblems(ProblemsType.WARNINGS, projectName);
+ assertTrue(validationProblems.length == 0);
+ assertTrue(openOnUtil.openOnByOption(value + ".class", className, "Open @Inject Bean"));
+ assertTrue(getEd().getTitle().equals(value + ".java"));
+
+ }
+
}
\ No newline at end of file
More information about the jbosstools-commits
mailing list