Stop using deprecated AbstractSingleProjectSearchTests.



Change-Id: I9a3ff33a3e2be9f563753beb9ad7ca226a2545ff
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
index 43df84b..fbac55c 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -13,11 +13,11 @@
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=false
 sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_functional_interfaces=true
 sp_cleanup.convert_to_enhanced_for_loop=false
 sp_cleanup.correct_indentation=false
 sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.format_source_code_changes_only=false
 sp_cleanup.insert_inferred_type_arguments=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=false
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java
index b6a3fbb..2809f21 100755
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,12 +8,24 @@
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.tests;
 
+import static org.junit.Assert.assertNotNull;
+
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Plugin;
+import org.eclipse.dltk.core.IDLTKLanguageToolkit;
+import org.eclipse.dltk.core.IScriptProject;
+import org.eclipse.dltk.core.search.IDLTKSearchScope;
+import org.eclipse.dltk.core.search.SearchEngine;
+import org.eclipse.dltk.core.search.SearchParticipant;
+import org.eclipse.dltk.core.search.SearchPattern;
+import org.eclipse.dltk.core.tests.IDLTKSearchConstantsForTests;
+import org.eclipse.dltk.core.tests.WorkspaceSetup;
+import org.eclipse.dltk.core.tests.model.TestSearchResults;
 import org.osgi.framework.BundleContext;
 
 /**
@@ -24,9 +36,11 @@
 	// The plug-in ID
 	public static final String PLUGIN_ID = "org.eclipse.dltk.ruby.core.tests";
 
+	public static final WorkspaceSetup WORKSPACE = new WorkspaceSetup(Activator.PLUGIN_ID);
+
 	// The shared instance
 	private static Activator plugin;
-	
+
 	/**
 	 * The constructor
 	 */
@@ -35,11 +49,6 @@
 	}
 
 	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		super.stop(context);
@@ -53,8 +62,26 @@
 	public static Activator getDefault() {
 		return plugin;
 	}
+
 	public static InputStream openResource(String path) throws IOException {
 		URL url = getDefault().getBundle().getEntry(path);
-		return new BufferedInputStream(url.openStream());		
+		return new BufferedInputStream(url.openStream());
+	}
+
+	public static TestSearchResults search(String patternString, int searchFor, int limitTo, IScriptProject project)
+			throws CoreException {
+		final IDLTKSearchScope scope = SearchEngine.createSearchScope(project.getScriptProject());
+		int matchRule = IDLTKSearchConstantsForTests.EXACT_RULE;
+		if (patternString.indexOf('*') != -1 || patternString.indexOf('?') != -1) {
+			matchRule |= SearchPattern.R_PATTERN_MATCH;
+		}
+		final IDLTKLanguageToolkit toolkit = scope.getLanguageToolkit();
+		final SearchPattern pattern = SearchPattern.createPattern(patternString, searchFor, limitTo, matchRule,
+				toolkit);
+		assertNotNull("Pattern should not be null", pattern);
+		final TestSearchResults results = new TestSearchResults();
+		final SearchParticipant[] participants = new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() };
+		new SearchEngine().search(pattern, participants, scope, results, null);
+		return results;
 	}
 }
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java
index 155348a..4d27001 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2017 xored software, Inc. and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -11,81 +11,85 @@
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.tests.search;
 
+import static org.eclipse.dltk.ruby.core.tests.Activator.search;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import org.eclipse.dltk.core.IMethod;
 import org.eclipse.dltk.core.ISourceModule;
 import org.eclipse.dltk.core.IType;
-import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests;
+import org.eclipse.dltk.core.search.IDLTKSearchConstants;
+import org.eclipse.dltk.core.tests.ProjectSetup;
 import org.eclipse.dltk.core.tests.model.TestSearchResults;
 import org.eclipse.dltk.ruby.core.tests.Activator;
+import org.junit.ClassRule;
+import org.junit.Test;
 
-public class RubyFullNameSearchTests extends AbstractSingleProjectSearchTests {
+public class RubyFullNameSearchTests implements IDLTKSearchConstants {
 
-	public RubyFullNameSearchTests(String name) {
-		super(Activator.PLUGIN_ID, name, "search");
-	}
-
-	public static Suite suite() {
-		return new Suite(RubyFullNameSearchTests.class);
-	}
+	@ClassRule
+	public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search");
 
 	private final String shortTypeName = "Search002";
 	private final String fullTypeName = "Module001::" + shortTypeName;
 	private final String methodName = "method003";
 
+	@Test
 	public void testFullTypeNameSearch() throws Exception {
-		final TestSearchResults results = search(fullTypeName, TYPE,
-				DECLARATIONS);
+		final TestSearchResults results = search(fullTypeName, TYPE, DECLARATIONS, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertType(fullTypeName);
 	}
 
+	@Test
 	public void testFullTypeReferenceSearch() throws Exception {
-		final TestSearchResults results = search(fullTypeName, TYPE, REFERENCES);
+		final TestSearchResults results = search(fullTypeName, TYPE, REFERENCES, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertExists(ISourceModule.class, "Search001.rb");
 	}
 
+	@Test
 	public void testSuperClassReferenceSearch1() throws Exception {
-		final TestSearchResults results = search("Parent001", TYPE, REFERENCES);
+		final TestSearchResults results = search("Parent001", TYPE, REFERENCES, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertExists(IType.class, "Child001");
 	}
 
+	@Test
 	public void testSuperClassReferenceSearch2() throws Exception {
-		final TestSearchResults results = search("Parent002", TYPE, REFERENCES);
+		final TestSearchResults results = search("Parent002", TYPE, REFERENCES, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertExists(IType.class, "Child002");
 	}
 
+	@Test
 	public void testShortTypeNameSearch() throws Exception {
-		final TestSearchResults results = search(shortTypeName, TYPE,
-				DECLARATIONS);
+		final TestSearchResults results = search(shortTypeName, TYPE, DECLARATIONS, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertType(fullTypeName);
 	}
 
+	@Test
 	public void testShortMethodNameSearch() throws Exception {
-		final TestSearchResults results = search(methodName, METHOD,
-				DECLARATIONS);
+		final TestSearchResults results = search(methodName, METHOD, DECLARATIONS, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertMethod(methodName);
 		IMethod method = (IMethod) results.locate(IMethod.class, methodName);
 		assertNotNull(method);
 		assertNotNull(method.getParent());
-		assertEquals(fullTypeName, ((IType) method.getParent())
-				.getTypeQualifiedName("::"));
+		assertEquals(fullTypeName, ((IType) method.getParent()).getTypeQualifiedName("::"));
 	}
 
+	@Test
 	public void testFullMethodNameSearch() throws Exception {
-		final TestSearchResults results = search(fullTypeName + "::"
-				+ methodName, METHOD, DECLARATIONS);
+		final TestSearchResults results = search(fullTypeName + "::" + methodName, METHOD, DECLARATIONS,
+				PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertMethod(methodName);
 		IMethod method = (IMethod) results.locate(IMethod.class, methodName);
 		assertNotNull(method);
 		assertNotNull(method.getParent());
-		assertEquals(fullTypeName, ((IType) method.getParent())
-				.getTypeQualifiedName("::"));
+		assertEquals(fullTypeName, ((IType) method.getParent()).getTypeQualifiedName("::"));
 	}
 
 }
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java
index 3476d13..1ab3c90 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java
@@ -1,48 +1,50 @@
 /*******************************************************************************
- * Copyright (c) 2009 xored software, Inc.  
+ * Copyright (c) 2009, 2017 xored software, Inc. and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html  
+ * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  *     xored software, Inc. - initial API and Implementation (Alex Panchenko)
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.tests.search;
 
-import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests;
+import static org.eclipse.dltk.ruby.core.tests.Activator.search;
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.dltk.core.search.IDLTKSearchConstants;
+import org.eclipse.dltk.core.tests.ProjectSetup;
 import org.eclipse.dltk.core.tests.model.TestSearchResults;
 import org.eclipse.dltk.ruby.core.tests.Activator;
+import org.junit.ClassRule;
+import org.junit.Test;
 
-public class RubyMethodSearchTests extends AbstractSingleProjectSearchTests {
+public class RubyMethodSearchTests implements IDLTKSearchConstants {
 
-	public RubyMethodSearchTests(String name) {
-		super(Activator.PLUGIN_ID, name, "search-methods");
-	}
-
-	public static Suite suite() {
-		return new Suite(RubyMethodSearchTests.class);
-	}
+	@ClassRule
+	public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search-methods");
 
 	private final String methodName = "method001";
 
+	@Test
 	public void testDeclarations() throws Exception {
-		final TestSearchResults results = search(methodName, METHOD,
-				DECLARATIONS);
+		final TestSearchResults results = search(methodName, METHOD, DECLARATIONS, PROJECT.getScriptProject());
 		assertEquals(2, results.size());
 		// results.assertType(className);
 	}
 
+	@Test
 	public void testReferences() throws Exception {
-		final TestSearchResults results = search(methodName, METHOD, REFERENCES);
+		final TestSearchResults results = search(methodName, METHOD, REFERENCES, PROJECT.getScriptProject());
 		assertEquals(2, results.size());
 		// results.assertSourceModule(fileName);
 	}
 
+	@Test
 	public void testAllOccurences() throws Exception {
-		final TestSearchResults results = search(methodName, METHOD,
-				ALL_OCCURRENCES);
+		final TestSearchResults results = search(methodName, METHOD, ALL_OCCURRENCES, PROJECT.getScriptProject());
 		assertEquals(4, results.size());
 		// results.assertSourceModule(fileName);
 		// results.assertType(className);
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java
index 80f0706..81e3979 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,44 +7,46 @@
  *
  * Contributors:
  *     xored software, Inc. - initial API and Implementation
- *     xored software, Inc. - Search All occurences bugfix, 
+ *     xored software, Inc. - Search All occurences bugfix,
  *     						  hilight only class name when class is in search results ( Alex Panchenko <alex@xored.com>)
  *******************************************************************************/
-
 package org.eclipse.dltk.ruby.core.tests.search;
 
-import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests;
+import static org.eclipse.dltk.ruby.core.tests.Activator.search;
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.dltk.core.search.IDLTKSearchConstants;
+import org.eclipse.dltk.core.tests.ProjectSetup;
 import org.eclipse.dltk.core.tests.model.TestSearchResults;
 import org.eclipse.dltk.ruby.core.tests.Activator;
+import org.junit.ClassRule;
+import org.junit.Test;
 
-public class RubySearchTests extends AbstractSingleProjectSearchTests {
+public class RubySearchTests implements IDLTKSearchConstants {
 
-	public RubySearchTests(String name) {
-		super(Activator.PLUGIN_ID, name, "search");
-	}
-
-	public static Suite suite() {
-		return new Suite(RubySearchTests.class);
-	}
+	@ClassRule
+	public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search");
 
 	private final String fileName = "Search001.rb";
 	private final String className = "Search001";
 
+	@Test
 	public void testDeclarations() throws Exception {
-		final TestSearchResults results = search(className, TYPE, DECLARATIONS);
+		final TestSearchResults results = search(className, TYPE, DECLARATIONS, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertType(className);
 	}
 
+	@Test
 	public void testReferences() throws Exception {
-		final TestSearchResults results = search(className, TYPE, REFERENCES);
+		final TestSearchResults results = search(className, TYPE, REFERENCES, PROJECT.getScriptProject());
 		assertEquals(1, results.size());
 		results.assertSourceModule(fileName);
 	}
 
+	@Test
 	public void testAllOccurences() throws Exception {
-		final TestSearchResults results = search(className, TYPE,
-				ALL_OCCURRENCES);
+		final TestSearchResults results = search(className, TYPE, ALL_OCCURRENCES, PROJECT.getScriptProject());
 		assertEquals(2, results.size());
 		results.assertSourceModule(fileName);
 		results.assertType(className);