/* ******************************************************************* * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC). * All rights reserved. * This program and the accompanying materials are made available * under the terms of the Eclipse Public License v 2.0 * which accompanies this distribution and is available at * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt * * Contributors: * PARC initial implementation * ******************************************************************/ package org.aspectj.weaver.patterns; import junit.framework.TestCase; /** * @author hugunin * * To change this generated comment edit the template variable * "typecomment": Window>Preferences>Java>Templates. To enable and * disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class NamePatternParserTestCase extends TestCase { /** * Constructor for PatternTestCase. * * @param name */ public NamePatternParserTestCase(String name) { super(name); } public void testMatch() { checkMatch(NamePatternTestCase.matchAll); checkMatch(NamePatternTestCase.match1); checkMatch(NamePatternTestCase.match2); NamePattern p = new PatternParser("abc *").parseNamePattern(); assertEquals(new NamePattern("abc"), p); } public void testTypePattern() { TypePattern tp = null; tp = new PatternParser(" @Ann * ").parseTypePattern(); assertEquals(1, tp.start); assertEquals(6, tp.end); tp = new PatternParser(" (@Ann *) ").parseTypePattern(); assertEquals(2, tp.start); assertEquals(9, tp.end); } /** * Method checkMatch. * * @param string * @param matchAll * @param b */ private void checkMatch(String[] patterns) { for (String pattern : patterns) { ITokenSource tokenSource = BasicTokenSource.makeTokenSource( pattern, null); NamePattern p1 = new PatternParser(tokenSource).parseNamePattern(); NamePattern p2 = new NamePattern(pattern); assertEquals("pattern: " + pattern, p2, p1); assertEquals("eof", IToken.EOF, tokenSource.next()); } } }