<html xmlns:lxslt="http://xml.apache.org/xslt" xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Unit Test Results: PhoneBookExample-test</title>
<link rel="stylesheet" type="text/css" title="Style" href="stylesheet.css">
<script type="text/javascript" language="JavaScript">
        var TestCases = new Array();
        var cur;
        
    cur = TestCases['.PhoneBookExample-test'] = new Array();
    
        cur['awt.toolkit'] = 'sun.awt.windows.WToolkit';
    
        cur['file.encoding'] = 'Cp1252';
    
        cur['file.encoding.pkg'] = 'sun.io';
    
        cur['file.separator'] = '\\';
    
        cur['java.awt.graphicsenv'] = 'sun.awt.Win32GraphicsEnvironment';
    
        cur['java.awt.printerjob'] = 'sun.awt.windows.WPrinterJob';
    
        cur['java.class.path'] = 'C:\\projects\\3.3\\target\\plugins\\PhoneBookExample_1.0.0.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.core.runtime_3.3.100.v20070530.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.equinox.common_3.3.0.v20070426.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.jface_3.3.2.M20080207-0800.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.swt.win32.win32.x86_3.3.3.v3349.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.swt_3.3.2.v3349d.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.ui.workbench_3.3.2.M20080207-0800.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.junit_3.8.2.v200706111738\\junit.jar;C:\\projects\\3.3\\target\\plugins\\pde.test.utils_3.3.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.apache.ant_1.7.0.v200706080842\\lib\\ant-junit.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.apache.ant_1.7.0.v200706080842\\lib\\ant.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.core.resources_3.3.1.R33x_v20080205.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.debug.core_3.3.2.v20080117_r332.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.equinox.preferences_3.2.101.R33x_v20080117.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.jdt.junit_3.3.2.r332_20080109-0800.jar;C:\\projects\\eclipse-3.3.2\\eclipse\\plugins\\org.eclipse.osgi_3.3.2.R33x_v20080105.jar';
    
        cur['java.class.version'] = '49.0';
    
        cur['java.endorsed.dirs'] = 'C:\\jdk1.5.0_04\\jre\\lib\\endorsed';
    
        cur['java.ext.dirs'] = 'C:\\jdk1.5.0_04\\jre\\lib\\ext';
    
        cur['java.home'] = 'C:\\jdk1.5.0_04\\jre';
    
        cur['java.io.tmpdir'] = 'C:\\temp\\';
    
        cur['java.library.path'] = 'C:\\jdk1.5.0_04\\jre\\bin;.;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\tools\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\packages\\maven-2.0-alpha-3\\bin;C:\\Program Files\\Common Files\\Sonic Shared;C:\\Program Files\\QuickTime\\QTSystem\\';
    
        cur['java.runtime.name'] = 'Java(TM) 2 Runtime Environment, Standard Edition';
    
        cur['java.runtime.version'] = '1.5.0_04-b05';
    
        cur['java.specification.name'] = 'Java Platform API Specification';
    
        cur['java.specification.vendor'] = 'Sun Microsystems Inc.';
    
        cur['java.specification.version'] = '1.5';
    
        cur['java.vendor'] = 'Sun Microsystems Inc.';
    
        cur['java.vendor.url'] = 'http://java.sun.com/';
    
        cur['java.vendor.url.bug'] = 'http://java.sun.com/cgi-bin/bugreport.cgi';
    
        cur['java.version'] = '1.5.0_04';
    
        cur['java.vm.info'] = 'mixed mode, sharing';
    
        cur['java.vm.name'] = 'Java HotSpot(TM) Client VM';
    
        cur['java.vm.specification.name'] = 'Java Virtual Machine Specification';
    
        cur['java.vm.specification.vendor'] = 'Sun Microsystems Inc.';
    
        cur['java.vm.specification.version'] = '1.0';
    
        cur['java.vm.vendor'] = 'Sun Microsystems Inc.';
    
        cur['java.vm.version'] = '1.5.0_04-b05';
    
        cur['line.separator'] = ' ';
    
        cur['os.arch'] = 'x86';
    
        cur['os.name'] = 'Windows XP';
    
        cur['os.version'] = '5.1';
    
        cur['path.separator'] = ';';
    
        cur['sun.arch.data.model'] = '32';
    
        cur['sun.boot.class.path'] = 'C:\\jdk1.5.0_04\\jre\\lib\\rt.jar;C:\\jdk1.5.0_04\\jre\\lib\\i18n.jar;C:\\jdk1.5.0_04\\jre\\lib\\sunrsasign.jar;C:\\jdk1.5.0_04\\jre\\lib\\jsse.jar;C:\\jdk1.5.0_04\\jre\\lib\\jce.jar;C:\\jdk1.5.0_04\\jre\\lib\\charsets.jar;C:\\jdk1.5.0_04\\jre\\classes';
    
        cur['sun.boot.library.path'] = 'C:\\jdk1.5.0_04\\jre\\bin';
    
        cur['sun.cpu.endian'] = 'little';
    
        cur['sun.cpu.isalist'] = 'pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86';
    
        cur['sun.desktop'] = 'windows';
    
        cur['sun.io.unicode.encoding'] = 'UnicodeLittle';
    
        cur['sun.jnu.encoding'] = 'Cp1252';
    
        cur['sun.management.compiler'] = 'HotSpot Client Compiler';
    
        cur['sun.os.patch.level'] = 'Service Pack 2';
    
        cur['user.country'] = 'IE';
    
        cur['user.dir'] = 'C:\\projects\\3.3\\PhoneBookExample-test';
    
        cur['user.home'] = 'C:\\Documents and Settings\\brian';
    
        cur['user.language'] = 'en';
    
        cur['user.name'] = 'brian';
    
        cur['user.timezone'] = '';
    
        cur['user.variant'] = '';
    </script><script type="text/javascript" language="JavaScript">
        function displayProperties (name) {
          var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1');
          var doc = win.document;
          doc.open();
          doc.write("<html><head><title>Properties of " + name + "</title>");
          doc.write("<style type=\"text/css\">");
          doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }");
          doc.write("table tr td, table tr th { font-size: 68%; }");
          doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }");
          doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }");
          doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }");
          doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }");
          doc.write("</style>");
          doc.write("</head><body>");
          doc.write("<h3>Properties of " + name + "</h3>");
          doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>");
          doc.write("<table class='properties'>");
          doc.write("<tr><th>Name</th><th>Value</th></tr>");
          for (prop in TestCases[name]) {
            doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>");
          }
          doc.write("</table>");
          doc.write("</body></html>");
          doc.close();
          win.focus();
        }
      
      </script>
</head>
<body>
<h1>Unit Test Results</h1>
<table width="100%">
<tr>
<td align="left"></td><td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td>
</tr>
</table>
<hr size="1">
<h3>Class PhoneBookExample-test</h3>
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th width="80%">Name</th><th>Tests</th><th>Errors</th><th>Failures</th><th nowrap="nowrap">Time(s)</th><th nowrap="nowrap">Time Stamp</th><th>Host</th>
</tr>
<tr valign="top" class="Pass">
<td><a title="Display all tests" href="0_PhoneBookExample-test.html">PhoneBookExample-test</a></td><td><a title="Display all tests" href="0_PhoneBookExample-test.html">6</a></td><td>0</td><td>0</td><td>0.719</td><td>2008-04-04T12:23:13</td><td>DARKSTAR</td>
</tr>
</table>
<h2>Tests</h2>
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th>Name</th><th>Status</th><th width="80%">Type</th><th nowrap="nowrap">Time(s)</th>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testDialogTitle(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testDialogTitle(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.141</td>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testInitialDialog(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testInitialDialog(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.000</td>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testInvalidNumberDisablesOKButton(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testInvalidNumberDisablesOKButton(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.000</td>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testValidNumberEnablesOKButton(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testValidNumberEnablesOKButton(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.000</td>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testChangingNameUpdatesPhoneBookEntryData(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testChangingNameUpdatesPhoneBookEntryData(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.000</td>
</tr>
<tr valign="top" class="TableRowColor">
<td><a name="testChangingNumberUpdatesPhoneBookEntryData(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)"></a>testChangingNumberUpdatesPhoneBookEntryData(phonebookexample.dialogs.PhoneBookEntryEditorDialogTest)</td><td>Success</td><td></td><td>0.031</td>
</tr>
</table>
<div class="Properties">
<a href="javascript:displayProperties('.PhoneBookExample-test');">
                    Properties &raquo;
                </a>
</div>
</body>
</html>
