Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/eireneh/util/ZTestUtil.java


1   
2   package com.eireneh.util;
3   
4   import java.io.*;
5   import java.util.*;
6   
7   import com.eireneh.util.event.*;
8   import com.eireneh.swing.*;
9   import com.eireneh.mail.*;
10  
11  /**
12  * Attepmted 100% code coverage testing.
13  *
14  * <table border='1' cellPadding='3' cellSpacing='0' width="100%">
15  * <tr><td bgColor='white'class='TableRowColor'><font size='-7'>
16  * Distribution Licence:<br />
17  * Project B is free software; you can redistribute it
18  * and/or modify it under the terms of the GNU General Public License,
19  * version 2 as published by the Free Software Foundation.<br />
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  * General Public License for more details.<br />
24  * The License is available on the internet
25  * <a href='http://www.gnu.org/copyleft/gpl.html'>here</a>, by writing to
26  * <i>Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
27  * MA 02111-1307, USA</i>, Or locally at the Licence link below.<br />
28  * The copyright to this program is held by it's authors.
29  * </font></td></tr></table>
30  * @see <a href='http://www.eireneh.com/servlets/Web'>Project B Home</a>
31  * @see docs.Licence
32  * @author Joe Walker
33  */
34  public class ZTestUtil extends TestBase
35  {
36      /**
37      * A basic are we OK type test, for the Passage package.
38      */
39      public void test(PrintWriter out, boolean fatal)
40      {
41          logPackageStart(out, fatal, ZTestUtil.class);
42  
43          testThreadUtil();
44          testStringUtil();
45          testHelpDesk();
46  
47          logPackageStop();
48      }
49  
50      /**
51      * Test the Strongs class.
52      */
53      public static void testOptions()
54      {
55          try
56          {
57              log("Options.nothing()");
58              test(true);
59          }
60          catch (Exception ex)
61          {
62              fail(ex);
63          }
64      }
65  
66      /**
67      * Test the ThreadUtil class.
68      */
69      public static void testThreadUtil()
70      {
71          try
72          {
73              log("ThreadUtil.nothing()");
74  
75              String NEWLINE = System.getProperty("line.separator", "\r\n");
76  
77              ThreadGroup root = ThreadUtil.findRoot();
78              if (root.getParent() != null)
79                  throw new Exception("ThreadGroup findRoot() gave non-root return");
80  
81              String[] result = ThreadUtil.getListing();
82              String result2 = StringUtil.cat(result, NEWLINE);
83          }
84          catch (Exception ex)
85          {
86              fail(ex);
87          }
88      }
89  
90      /**
91      * Test the StringUtil class.
92      */
93      public static void testHelpDesk()
94      {
95          try
96          {
97              /*
98              boolean file = FileCaptureListener.getHelpDeskListener();
99              boolean log = LogCaptureListener.getHelpDeskListener();
100             boolean soi = StdOutCaptureListener.getHelpDeskInformListener();
101             boolean sol = StdOutCaptureListener.getHelpDeskLogListener();
102             boolean shelf = ExceptionShelf.getHelpDeskListener();
103             boolean mail = MailCaptureListener.getHelpDeskListener();
104             String fdest = FileCaptureListener.getDefaultOutputFilename();
105             String from = MailCaptureListener.getMailFromAddr();
106             String server = MailCaptureListener.getMailServer();
107             String to = MailCaptureListener.getMailToAddr();
108 
109             FileCaptureListener.setHelpDeskListener(true);
110             LogCaptureListener.setHelpDeskListener(true);
111             StdOutCaptureListener.setHelpDeskInformListener(true);
112             StdOutCaptureListener.setHelpDeskLogListener(true);
113             MailCaptureListener.setHelpDeskListener(true);
114             FileCaptureListener.setDefaultOutputFilename("test.log");
115             from = MailCaptureListener.getMailFromAddr("joe@eireneh.com");
116             server = MailCaptureListener.getMailServer("mail");
117             to = MailCaptureListener.getMailToAddr("joe@eireneh.com");
118 
119             String source = "source";
120             Class stat = ZTestUtil.class;
121 
122             log("HelpDesk.log*()");
123             log.fine("Debug Message");
124             log.info("Info Message");
125             log.warning("Warn Message");
126             log.warning("Error Message");
127             log.severe("Emerg Message");
128             log.logException(new Exception("Exception Message"));
129             log.fine("Debug Message");
130             log.info("Info Message");
131             log.warning("Warn Message");
132             log.warning("Error Message");
133             log.severe("Emerg Message");
134             log.logException(new Exception("Exception Message"));
135 
136             FileCaptureListener.setHelpDeskListener(file);
137             LogCaptureListener.setHelpDeskListener(log);
138             StdOutCaptureListener.setHelpDeskInformListener(soi);
139             StdOutCaptureListener.setHelpDeskLogListener(sol);
140             MailCaptureListener.setHelpDeskListener(true);
141             FileCaptureListener.setDefaultOutputFilename("test.log");
142             from = MailCaptureListener.getMailFromAddr("joe@eireneh.com");
143             server = MailCaptureListener.getMailServer("mail");
144             to = MailCaptureListener.getMailToAddr("joe@eireneh.com");
145 
146             FileCaptureListener.setDefaultOutputFilename(fdest);
147             */
148         }
149         catch (Exception ex)
150         {
151             fail(ex);
152         }
153     }
154 
155     /**
156     * Test the StringUtil class.
157     */
158     public static void testStringUtil()
159     {
160         try
161         {
162             String answer = "";
163 
164             log("StringUtil.nullIfBlank()");
165             test(null, StringUtil.nullIfBlank(""));
166             test(null, StringUtil.nullIfBlank(null));
167             test("fred", StringUtil.nullIfBlank("fred"));
168             test(" ", StringUtil.nullIfBlank(" "));
169             test("0", StringUtil.nullIfBlank("0"));
170             test("\u0000", StringUtil.nullIfBlank("\u0000"));
171             test("\u00000", StringUtil.nullIfBlank("\u00000"));
172 
173             log("StringUtil.blankIfNull()");
174             test("", StringUtil.blankIfNull(""));
175             test("", StringUtil.blankIfNull(null));
176             test("fred", StringUtil.blankIfNull("fred"));
177             test(" ", StringUtil.blankIfNull(" "));
178             test("0", StringUtil.blankIfNull("0"));
179             test("\u0000", StringUtil.blankIfNull("\u0000"));
180             test("\u00000", StringUtil.blankIfNull("\u00000"));
181 
182             log("StringUtil.tokenize()");
183             test(StringUtil.cat(StringUtil.tokenize("a b c d e f"), "-"), "a-b-c-d-e-f");
184             test(StringUtil.cat(StringUtil.tokenize("a-b-c-d-e-f", "-"), "="), "a=b=c=d=e=f");
185             test(StringUtil.cat(StringUtil.tokenize("a-b-c-'d-e-'-f", "-", "\"'"), "=") ,"a=b=c=d-e-=f");
186 
187             log("StringUtil.removeChar()");
188             test(StringUtil.removeChar("a=b=c=d=e=f", '='), "abcdef");
189             test(StringUtil.removeChars("a=b=c-d-e-f", "=-"), "abcdef");
190 
191             log("StringUtil.cat()");
192             test(StringUtil.cat(StringUtil.tokenize("a b c d e"), "-"), "a-b-c-d-e");
193             test(StringUtil.cat(StringUtil.tokenize("a b c d e"), 2, "-"), "c-d-e");
194             test(StringUtil.cat(StringUtil.tokenize("a b c d e"), 2, 3, "-"), "c-d");
195 
196             log("StringUtil.chop()");
197             test(StringUtil.chop("123(456)789", "(", ")"), "123789");
198             test(StringUtil.chop("(123456)789", "(", ")"), "789");
199             test(StringUtil.chop("123(456789)", "(", ")"), "123");
200             test(StringUtil.chop("(123456789)", "(", ")"), "");
201             test(StringUtil.chop("123()456789", "(", ")"), "123456789");
202             test(StringUtil.chop("()123456789()", "(", ")"), "123456789");
203             test(StringUtil.chop("()123456789()", "(", ")"), "123456789");
204             test(StringUtil.chop("()()123456789()()", "(", ")"), "123456789");
205             test(StringUtil.chop("()()1234()56789()()", "(", ")"), "123456789");
206             test(StringUtil.chop("(123)(123)1234(123)(123)56789(123)(123)", "(", ")"), "123456789");
207             try{ StringUtil.chop("12(34(56)78)9", "(", ")"); fail(); }
208             catch (IllegalArgumentException ex) { }
209             try{ StringUtil.chop("12(3456789", "(", ")"); fail(); }
210             catch (IllegalArgumentException ex) { }
211             try{ StringUtil.chop("12)3456789", "(", ")"); fail(); }
212             catch (IllegalArgumentException ex) { }
213             try{ StringUtil.chop("12(3)4(56789", "(", ")"); fail(); }
214             catch (IllegalArgumentException ex) { }
215             try{ StringUtil.chop("12(3)4)56789", "(", ")"); fail(); }
216             catch (IllegalArgumentException ex) { }
217 
218             log("StringUtil.read()");
219             PipedReader in = new PipedReader();
220             PipedWriter pout = new PipedWriter(in);
221             PrintWriter out = new PrintWriter(pout, true);
222             out.println("a b c d e");
223             out.println("f g h i j");
224             out.close();
225             pout.close();
226             test(StringUtil.read(in), "a b c d e"+StringUtil.getNewline()+"f g h i j"+StringUtil.getNewline());
227 
228             log("StringUtil.getStringArray(Vector)");
229             Vector vec = new Vector();
230             vec.addElement("a b c d e");
231             vec.addElement("f g h i j");
232             test(StringUtil.cat(StringUtil.getStringArray(vec), "*"), "a b c d e*f g h i j");
233 
234             log("StringUtil.getStringArray(Object[])");
235             Object[] objs = new Object[] { "a b c d e", "f g h i j"};
236             test(StringUtil.cat(StringUtil.getStringArray(objs), "*"), "a b c d e*f g h i j");
237 
238             log("StringUtil.chain()");
239             test(StringUtil.chain(3, "-"), "---");
240             test(StringUtil.chain(15, "-oO0Oo-"), "-oO0Oo--oO0Oo--");
241 
242             log("StringUtil.chain()");
243             test(StringUtil.countInstancesOf("-oO0Oo-", 'o'), 2);
244 
245             log("StringUtil.parseInt()");
246             test(StringUtil.parseInt("0", -1), 0);
247             test(StringUtil.parseInt("Hello", -1), -1);
248             test(StringUtil.parseInt("-1", 0), -1);
249 
250             log("StringUtil.setLength()");
251             test(StringUtil.setLength("12345", 5), "12345");
252 
253             log("StringUtil.swap()");
254             test(StringUtil.swap("a12645", "6", "3"), "a12345");
255             test(StringUtil.swap("b12665", "66", "34"), "b12345");
256             test(StringUtil.swap("c1265", "6", "34"), "c12345");
257             test(StringUtil.swap("d126645", "66", "3"), "d12345");
258             test(StringUtil.swap("e1264512645", "6", "3"), "e1234512345");
259             test(StringUtil.swap("f1266512665", "66", "34"), "f1234512345");
260             test(StringUtil.swap("g12651265", "6", "34"), "g1234512345");
261             test(StringUtil.swap("h126645126645", "66", "3"), "h1234512345");
262 
263             log("StringUtil.getInitials(String)");
264             test(StringUtil.getInitials("Church of England"), "CoE");
265             test(StringUtil.getInitials("Java DataBase Connectivity"), "JDC");
266             test(StringUtil.getInitials(""), "");
267 
268             log("StringUtil.getCapitals(String)");
269             test(StringUtil.getCapitals("Church of England"), "CE");
270             test(StringUtil.getCapitals("Java DataBase Connectivity"), "JDBC");
271             test(StringUtil.getCapitals(""), "");
272 
273             log("StringUtil.createTitle()");
274             test(StringUtil.createTitle("OneTwo"), "One Two");
275             test(StringUtil.createTitle("one_two"), "One Two");
276             test(StringUtil.createTitle("ONeTWo"), "ONe TWo");
277             test(StringUtil.createTitle("One_Two"), "One Two");
278             test(StringUtil.createTitle("One _Two"), "One Two");
279             test(StringUtil.createTitle("one  _Two"), "One Two");
280 
281             log("StringUtil.createJavaName()");
282             test(StringUtil.createJavaName("one  _Two"), "OneTwo");
283             test(StringUtil.createJavaName("one_two"), "OneTwo");
284             test(StringUtil.createJavaName("onetwo"), "Onetwo");
285             test(StringUtil.createJavaName("ONetwo"), "ONetwo");
286 
287             log("StringUtil.fileNameToJavaPackage()");
288             test(StringUtil.fileNameToJavaPackage("C:\\src\\java\\lang\\Object.class", "C:\\src"), "java.lang.Object");
289             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.class", "C:\\src"), "fred.Bing");
290             test(StringUtil.fileNameToJavaPackage("C:\\fred\\Bing.class", "nonesense"), "fred.Bing");
291             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", "C:\\src"), "fred.Bing");
292 
293             log("StringUtil.fileNameToJavaPackage()");
294             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", "C:\\src\\"), "fred.Bing");
295             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", "c:\\src\\"), "fred.Bing");
296             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", "C:\\src\\;.;d:\\fred"), "fred.Bing");
297             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", ".;C:\\src\\;.;d:\\fred"), "fred.Bing");
298             test(StringUtil.fileNameToJavaPackage("C:\\src\\fred\\Bing.java", ".;c:\\jdk\\lib\\classes.zip;C:\\src\\;.;d:\\fred"), "fred.Bing");
299 
300             log("StringUtil.toHex(byte)");
301             test(StringUtil.toHexChar((byte) 0), '0');
302             test(StringUtil.toHexChar((byte) 4), '4');
303             test(StringUtil.toHexChar((byte) 9), '9');
304             test(StringUtil.toHexChar((byte) 10), 'a');
305             test(StringUtil.toHexChar((byte) 15), 'f');
306             test(StringUtil.toHexChar((byte) 16), '0');
307             test(StringUtil.toHexChar((byte) 31), 'f');
308             test(StringUtil.toHexChar((byte) 32), '0');
309 
310             log("StringUtil.toHex(int)");
311             test(StringUtil.toHexString(0), "0000");
312             test(StringUtil.toHexString(4), "0004");
313             test(StringUtil.toHexString(9), "0009");
314             test(StringUtil.toHexString(10), "000a");
315             test(StringUtil.toHexString(15), "000f");
316             test(StringUtil.toHexString(16), "0010");
317             test(StringUtil.toHexString(31), "001f");
318             test(StringUtil.toHexString(32), "0020");
319         }
320         catch (Exception ex)
321         {
322             fail(ex);
323         }
324     }
325 }