All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.Ostermiller.util.TokenizerTests Maven / Gradle / Ivy

Go to download

Open source (GPL) Java utilities maintained by Stephen Ostermiller with help from many contributors.

The newest version!
/*
 * Copyright (C) 2001-2007 Stephen Ostermiller
 * http://ostermiller.org/contact.pl?regarding=Java+Utilities
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * See COPYING.TXT for details.
 */

 package com.Ostermiller.util;

/**
 * A regression test for com.Ostermiller.util.StringTokenizer.
 * More information about this class is available from ostermiller.org.
 *
 * @author Stephen Ostermiller http://ostermiller.org/contact.pl?regarding=Java+Utilities
 * @since ostermillerutils 1.00.00
 */
class TokenizerTests {

	/**
	 * Main method for test
	 * @param args command line arguments (ignored)
	 */
	public static void main(String args[]){
		try {
			java.util.StringTokenizer oldTok;
			com.Ostermiller.util.StringTokenizer newTok;
			String token;

			token = "this is a test";
			oldTok = new java.util.StringTokenizer(token);
			newTok = new com.Ostermiller.util.StringTokenizer(token);
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
			compareState("Test 1", oldTok, newTok);
			while (oldTok.hasMoreTokens()){
				assertEqual(oldTok.nextToken(), newTok.nextToken());
				compareState("Test 1", oldTok, newTok);
			}

			token = "";
			oldTok = new java.util.StringTokenizer(token);
			newTok = new com.Ostermiller.util.StringTokenizer(token);
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());

			token = "no delimiters";
			oldTok = new java.util.StringTokenizer(token, "");
			newTok = new com.Ostermiller.util.StringTokenizer(token, "");
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
			while (oldTok.hasMoreTokens()){
				assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
				assertEqual(oldTok.nextToken(), newTok.nextToken());
			}

			token = "AstringB";
			oldTok = new java.util.StringTokenizer(token, "AB");
			newTok = new com.Ostermiller.util.StringTokenizer(token, "AB");
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
			while (oldTok.hasMoreTokens()){
				assertEqual(oldTok.nextToken(), newTok.nextToken());
			}

			token = "AstringB";
			oldTok = new java.util.StringTokenizer(token, "AB", true);
			newTok = new com.Ostermiller.util.StringTokenizer(token, "AB", true);
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
			while (oldTok.hasMoreTokens()){
				assertEqual(oldTok.nextToken(), newTok.nextToken());
			}

			token = "someURL?name=value&name=value";
			oldTok = new java.util.StringTokenizer(token);
			newTok = new com.Ostermiller.util.StringTokenizer(token);
			assertEqual(oldTok.nextToken("?"), newTok.nextToken("?"));
			assertEqual(oldTok.nextToken("=&"), newTok.nextToken("=&"));
			assertEqual(oldTok.nextToken("=&"), newTok.nextToken("=&"));
			assertEqual(oldTok.nextToken(), newTok.nextToken());
			assertEqual(oldTok.nextToken(), newTok.nextToken());

			newTok = new com.Ostermiller.util.StringTokenizer(token);
			assertEqual("someURL", newTok.nextToken("?"));
			newTok.skipDelimiters();
			assertEqual("name", newTok.nextToken("=&"));
			assertEqual("value", newTok.nextToken("=&"));
			assertEqual("name", newTok.nextToken());
			assertEqual("value", newTok.nextToken());

			token = "  (   aaa	\t	* (b+c1 ))";
			newTok = new com.Ostermiller.util.StringTokenizer(token, " \t\n\r\f", "()+*");
			assertEqual("9", "" + newTok.countTokens());
			assertEqual("(", newTok.nextToken());
			assertEqual("aaa", newTok.nextToken());
			assertEqual("*", newTok.nextToken());
			assertEqual("(", newTok.nextToken());
			assertEqual("b", newTok.nextToken());
			assertEqual("+", newTok.nextToken());
			assertEqual("c1", newTok.nextToken());
			assertEqual(")", newTok.nextToken());
			assertEqual(")", newTok.nextToken());

			token = "one,two,,four,five,,,eight,";
			oldTok = new java.util.StringTokenizer(token, ",");
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",");
			assertEqual("" + oldTok.countTokens(), "" + newTok.countTokens());
			while (oldTok.hasMoreTokens()){
				assertEqual(oldTok.nextToken(), newTok.nextToken());
			}

			token = "one,two,,four,five,,,eight";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",");
			newTok.setReturnEmptyTokens(true);
			assertEqual("8", "" + newTok.countTokens());

			token = ",two,,four,five,,,eight,";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",");
			newTok.setReturnEmptyTokens(true);
			assertEqual("9", "" + newTok.countTokens());

			token = ",";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",");
			newTok.setReturnEmptyTokens(true);
			assertEqual("2", "" + newTok.countTokens());

			token = "";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",");
			newTok.setReturnEmptyTokens(true);
			assertEqual("1", "" + newTok.countTokens());

			token = ",two,,four,five,,,eight,";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",", true);
			newTok.setReturnEmptyTokens(true);
			assertEqual("17", "" + newTok.countTokens());

			token = ",one,,,four,";
			newTok = new com.Ostermiller.util.StringTokenizer(token, ",", null, false);
			assertEqual("one", newTok.nextToken());
			newTok.setReturnEmptyTokens(true);
			assertEqual("4", "" + newTok.countTokens());

			token = "list=";
			newTok = new com.Ostermiller.util.StringTokenizer(token, "=");
			newTok.setReturnEmptyTokens(true);
			assertEqual("list", newTok.nextToken());
			newTok.skipDelimiters();
			assertEqual("", newTok.nextToken(","));
			assertEqual("0", "" + newTok.countTokens());

			token = "list=,";
			newTok = new com.Ostermiller.util.StringTokenizer(token, "=");
			newTok.setReturnEmptyTokens(true);
			assertEqual("list", newTok.nextToken());
			newTok.skipDelimiters();
			assertEqual("", newTok.nextToken(","));
			assertEqual("1", "" + newTok.countTokens());

			token = "list=,two,";
			newTok = new com.Ostermiller.util.StringTokenizer(token, "=");
			newTok.setReturnEmptyTokens(true);
			assertEqual("list", newTok.nextToken());
			newTok.skipDelimiters();
			assertEqual("", newTok.nextToken(","));
			assertEqual("2", "" + newTok.countTokens());

			token = "this is a test";
			newTok = new com.Ostermiller.util.StringTokenizer(token);
			String[] tokens = newTok.toArray();
			newTok.setText(token);
			for (int i=0; i 0);
		boolean newTokHasMoreTokens = newTok.hasMoreTokens();
		if (hasMoreTokens != newTokHasMoreTokens){
			throw new Exception(testName + ": hasMoreTokens does not match. " + hasMoreTokens + " versus " + newTokHasMoreTokens);
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy