001: /******************************************************************
002: * File: TestTokenizer.java
003: * Created by: Dave Reynolds
004: * Created on: 24-Jun-2003
005: *
006: * (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
007: * [See end of file]
008: * $Id: TestTokenizer.java,v 1.7 2008/01/02 12:08:35 andy_seaborne Exp $
009: *****************************************************************/package com.hp.hpl.jena.util.test;
010:
011: import com.hp.hpl.jena.util.Tokenizer;
012:
013: import junit.framework.TestCase;
014: import junit.framework.TestSuite;
015:
016: /**
017: * Test for the trivial tokenizer utility.
018: *
019: * @author <a href="mailto:der@hplb.hpl.hp.com">Dave Reynolds</a>
020: * @version $Revision: 1.7 $ on $Date: 2008/01/02 12:08:35 $
021: */
022: public class TestTokenizer extends TestCase {
023:
024: /**
025: * Boilerplate for junit
026: */
027: public TestTokenizer(String name) {
028: super (name);
029: }
030:
031: /**
032: * Boilerplate for junit.
033: * This is its own test suite
034: */
035: public static TestSuite suite() {
036: return new TestSuite(TestTokenizer.class);
037: }
038:
039: /**
040: * Test tokenizer on a basic example or two.
041: */
042: public void testTokenizer() {
043: Tokenizer tokenizer = new Tokenizer(
044: "a(foo,bar) 'i am a literal' so there",
045: "()[], \t\n\r'", "'", true);
046: assertEquals(tokenizer.nextToken(), "a");
047: assertEquals(tokenizer.nextToken(), "(");
048: assertEquals(tokenizer.nextToken(), "foo");
049: assertEquals(tokenizer.nextToken(), ",");
050: assertEquals(tokenizer.nextToken(), "bar");
051: assertEquals(tokenizer.nextToken(), ")");
052: assertEquals(tokenizer.nextToken(), " ");
053: assertEquals(tokenizer.nextToken(), " ");
054: assertEquals(tokenizer.nextToken(), "'");
055: assertEquals(tokenizer.nextToken(), "i am a literal");
056: assertEquals(tokenizer.nextToken(), "'");
057: assertEquals(tokenizer.nextToken(), " ");
058: assertEquals(tokenizer.nextToken(), "so");
059: assertEquals(tokenizer.nextToken(), " ");
060: assertEquals(tokenizer.nextToken(), "there");
061: assertTrue(!tokenizer.hasMoreTokens());
062:
063: tokenizer = new Tokenizer(
064: "a(foo,bar) 'i am a literal' so there",
065: "()[], \t\n\r'", "'", false);
066: assertEquals(tokenizer.nextToken(), "a");
067: assertEquals(tokenizer.nextToken(), "foo");
068: assertEquals(tokenizer.nextToken(), "bar");
069: assertEquals(tokenizer.nextToken(), "i am a literal");
070: assertEquals(tokenizer.nextToken(), "so");
071: assertEquals(tokenizer.nextToken(), "there");
072: assertTrue(!tokenizer.hasMoreTokens());
073:
074: }
075:
076: }
077:
078: /*
079: (c) Copyright 2003, 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
080: All rights reserved.
081:
082: Redistribution and use in source and binary forms, with or without
083: modification, are permitted provided that the following conditions
084: are met:
085:
086: 1. Redistributions of source code must retain the above copyright
087: notice, this list of conditions and the following disclaimer.
088:
089: 2. Redistributions in binary form must reproduce the above copyright
090: notice, this list of conditions and the following disclaimer in the
091: documentation and/or other materials provided with the distribution.
092:
093: 3. The name of the author may not be used to endorse or promote products
094: derived from this software without specific prior written permission.
095:
096: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
097: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
098: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
099: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
100: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
101: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
102: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
103: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
104: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
105: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
106: */
|