blob: 910361b581d6666e89bc21d5f37ee4c15e762d23 [file] [log] [blame]
///*******************************************************************************
// * Copyright (c) 2006, 2007 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
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * IBM Corporation - initial API and implementation
// *******************************************************************************/
//
//package org.eclipse.ui.tests.dialogs;
//
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.regex.Pattern;
//
//import junit.framework.TestCase;
//
//import org.eclipse.ui.dialogs.SearchPattern;
//
///**
// * Test case for tests SearchPattern match functionality
// *
// * @since 3.3
// *
// */
//public class SearchPatternAuto extends TestCase {
//
// private static ArrayList resources = new ArrayList();
//
//
// static {
//
// generateRescourcesTestCases('A', 'C', 8, "");
//
// generateRescourcesTestCases('A', 'C', 4, "");
//
// }
// /**
// * @param name
// */
// public SearchPatternAuto(String name) {
// super(name);
// }
//
// /* (non-Javadoc)
// * @see junit.framework.TestCase#setUp()
// */
// protected void setUp() throws Exception {
// super.setUp();
// }
//
// /**
// * Generates strings data for match test cases.
// *
// * @param startChar
// * @param endChar
// * @param lenght
// * @param resource
// */
// private static void generateRescourcesTestCases(char startChar, char endChar, int lenght, String resource){
// for (char ch = startChar; ch <= endChar; ch++) {
// String res = resource + String.valueOf(ch);
// if (lenght == res.length())
// resources.add(res);
// else if ((res.trim().length() % 2) == 0)
// generateRescourcesTestCases(Character.toUpperCase((char)(startChar + 1)), Character.toUpperCase((char)(endChar + 1)), lenght, res);
// else
// generateRescourcesTestCases(Character.toLowerCase((char)(startChar + 1)), Character.toLowerCase((char)(endChar + 1)), lenght, res);
// }
// }
//
// /* (non-Javadoc)
// * @see junit.framework.TestCase#tearDown()
// */
// protected void tearDown() throws Exception {
// super.tearDown();
// }
//
// /**
// * Tests exact match functionality. If we camelCase rule is enable, Pattern should starts with lowerCase character.
// * Result for "abcd " pattern should be similar to regexp pattern "abcd" with case insensitive.
// */
// public void testExactMatch1() {
// String patternText = "abcd ";
// Pattern pattern = Pattern.compile("abcd", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_EXACT_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests exact match functionality. If we camelCase rule is enable, Pattern should starts with lowerCase character.
// * Result for "abcdefgh " pattern should be similar to regexp pattern "abcdefgh" with case insensitive.
// */
// public void testExactMatch2() {
// String patternText = "abcdefgh<";
// Pattern pattern = Pattern.compile("abcdefgh", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_EXACT_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests prefix match functionality. If we camelCase rule is enable, Pattern should starts with lowerCase character.
// * Result for "ab" pattern should be similar to regexp pattern "ab.*" with case insensitive.
// */
// public void testPrefixMatch() {
// String patternText = "ab";
// Pattern pattern = Pattern.compile("ab.*", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_PREFIX_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests pattern match functionality. It's similar to regexp patterns.
// * Result for "**cDe" pattern should be similar to regexp pattern ".*cde.*" with case insensitive.
// */
// public void testPatternMatch1() {
// String patternText = "**cDe";
// Pattern pattern = Pattern.compile(".*cde.*", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_PATTERN_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests pattern match functionality. It's similar to regexp patterns.
// * Result for "**c*e*i" pattern should be similar to regexp pattern ".*c.*e.*i.*" with case insensitive.
// */
// public void testPatternMatch2() {
// String patternText = "**c*e*i";
// Pattern pattern = Pattern.compile(".*c.*e.*i.*", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_PATTERN_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests camelCase match functionality.
// * Every string starts with upperCase characters should be recognize as camelCase pattern match rule.
// * Result for "CD" SearchPattern should be similar to regexp pattern "C[^A-Z]*D.*" or "CD.*"
// * If pattern contains only upperCase characters result contains all prefix match elements.
// */
// public void testCamelCaseMatch1() {
// String patternText = "CD";
// Pattern pattern = Pattern.compile("C[^A-Z]*D.*");
// Pattern pattern2 = Pattern.compile("CD.*", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_CAMELCASE_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// if (patternMatcher.matches(res) != pattern.matcher(res).matches()) {
// assertEquals(patternMatcher.matches(res), pattern2.matcher(res).matches());
// }
// }
// }
//
// /**
// * Tests camelCase match functionality.
// * Every string starts with upperCase characters should be recognize as camelCase pattern match rule.
// * Result for "AbCd " SearchPattern should be similar to regexp pattern "C[^A-Z]*D.*" or "CD.*"
// */
// public void testCamelCaseMatch2() {
// String patternText = "AbCd ";
// Pattern pattern = Pattern.compile("Ab[^A-Z]*Cd[^A-Z]*");
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_CAMELCASE_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests camelCase match functionality.
// * Every string starts with upperCase characters should be recognize as camelCase pattern match rule.
// * Result for "AbCdE<" SearchPattern should be similar to regexp pattern "Ab[^A-Z]*Cd[^A-Z]*E[^A-Z]*"
// */
// public void testCamelCaseMatch3() {
// String patternText = "AbCdE<";
// Pattern pattern = Pattern.compile("Ab[^A-Z]*Cd[^A-Z]*E[^A-Z]*");
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_CAMELCASE_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
// /**
// * Tests blank match functionality.
// * Blank string should be recognize as blank pattern match rule.
// * It should match with all resources.
// * Result for SearchPattern should be similar to regexp pattern ".*"
// */
// public void testBlankMatch() {
// String patternText = "";
// Pattern pattern = Pattern.compile(".*", Pattern.CASE_INSENSITIVE);
// SearchPattern patternMatcher = new SearchPattern();
// patternMatcher.setPattern(patternText);
// assertEquals(patternMatcher.getMatchRule(), SearchPattern.RULE_BLANK_MATCH);
// for (Iterator iter = resources.iterator(); iter.hasNext();) {
// String res = (String) iter.next();
// assertEquals(patternMatcher.matches(res), pattern.matcher(res).matches());
// }
// }
//
//}