[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