mdiggory    2003/06/03 21:03:55

  Modified:    math/src/test/org/apache/commons/math/stat
                        CertifiedDataTest.java
  Log:
  Adjusted the code to be able to control the files used and the tolerance for each 
file (important, hard tests currently require lower tolerance to pass).
  
  Revision  Changes    Path
  1.5       +67 -59    
jakarta-commons-sandbox/math/src/test/org/apache/commons/math/stat/CertifiedDataTest.java
  
  Index: CertifiedDataTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/math/src/test/org/apache/commons/math/stat/CertifiedDataTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CertifiedDataTest.java    2 Jun 2003 05:21:06 -0000       1.4
  +++ CertifiedDataTest.java    4 Jun 2003 04:03:55 -0000       1.5
  @@ -58,12 +58,9 @@
   import junit.framework.TestSuite;
   
   import java.io.BufferedReader;
  -import java.io.File;
   import java.io.FileNotFoundException;
  -import java.io.FileReader;
  -import java.io.FilenameFilter;
   import java.io.IOException;
  -import java.net.URL;
  +import java.io.InputStreamReader;
   import org.apache.commons.logging.*;
   /**
    * Test cases for the [EMAIL PROTECTED] Univariate} class.
  @@ -74,10 +71,6 @@
   
   public class CertifiedDataTest extends TestCase {
   
  -     protected double tolerance = .01;
  -
  -     protected File[] dataFiles = null;
  -
        protected Univariate u = null;
   
        protected double mean = Double.NaN;
  @@ -98,15 +91,6 @@
         * @see junit.framework.TestCase#setUp()
         */
        public void setUp() {
  -             URL url = getClass().getResource("data");
  -             File file = new File(url.getFile());
  -
  -             dataFiles = file.listFiles(new FilenameFilter() {
  -                     public boolean accept(File dir, String name) {
  -                             return name.endsWith(".txt");
  -                     }
  -             });
  -
        }
   
        /**
  @@ -120,68 +104,92 @@
   
        /**
         * Test UnivariateImpl
  -     
  +     */
        public void testUnivariateImpl() {
   
  -             for (int i = 0; i < dataFiles.length; i++) {
  -
  -                     u = new UnivariateImpl();
  -
  -                     loadStats(dataFiles[i]);
  -
  -                     assertEquals(
  -                             dataFiles[i].getName() + ":std",
  -                             std,
  -                             u.getStandardDeviation(),
  -                             tolerance);
  -                             
  -                     assertEquals(
  -                             dataFiles[i].getName() + ":mean",
  -                             mean,
  -                             u.getMean(),
  -                             tolerance);
  +             u = new UnivariateImpl();
   
  -             }
  +             loadStats("data/Lew.txt");
  +             assertEquals("Lew: std", std, u.getStandardDeviation(), .000000000001);
  +             assertEquals("Lew: mean", mean, u.getMean(), .000000000001);
  +             
  +             loadStats("data/Lottery.txt");
  +             assertEquals("Lottery: std", std, u.getStandardDeviation(), 
.000000000001);
  +             assertEquals("Lottery: mean", mean, u.getMean(), .000000000001);       
 
  +             
  +             loadStats("data/PiDigits.txt");
  +             assertEquals("PiDigits: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("PiDigits: mean", mean, u.getMean(), .00000000000001);    
 
  +
  +             loadStats("data/Mavro.txt");
  +             assertEquals("Mavro: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("Mavro: mean", mean, u.getMean(), .00000000000001);
  +             
  +             //loadStats("data/Michelso.txt");
  +             //assertEquals("Michelso: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             //assertEquals("Michelso: mean", mean, u.getMean(), .00000000000001);  
 
  +                                                                             
  +             loadStats("data/NumAcc1.txt");
  +             assertEquals("NumAcc1: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("NumAcc1: mean", mean, u.getMean(), .00000000000001);
  +             
  +             //loadStats("data/NumAcc2.txt");
  +             //assertEquals("NumAcc2: std", std, u.getStandardDeviation(), 
.000000001);
  +             //assertEquals("NumAcc2: mean", mean, u.getMean(), .00000000000001);
        }
  -     */
  +
        /**
         * Test UnivariateImpl
         */
        public void testStoredUnivariateImpl() {
   
  -             for (int i = 0; i < dataFiles.length; i++) {
  -
  -                     u = new StoreUnivariateImpl();
  -
  -                     loadStats(dataFiles[i]);
  -
  -                     assertEquals(
  -                             dataFiles[i].getName() + ":std",
  -                             std,
  -                             u.getStandardDeviation(),
  -                             tolerance);
  -                     assertEquals(
  -                             dataFiles[i].getName() + ":mean",
  -                             mean,
  -                             u.getMean(),
  -                             tolerance);
  -
  -             }
  +             u = new StoreUnivariateImpl();
  +             
  +             loadStats("data/Lew.txt");
  +             assertEquals("Lew: std", std, u.getStandardDeviation(), .000000000001);
  +             assertEquals("Lew: mean", mean, u.getMean(), .000000000001);
  +             
  +             loadStats("data/Lottery.txt");
  +             assertEquals("Lottery: std", std, u.getStandardDeviation(), 
.000000000001);
  +             assertEquals("Lottery: mean", mean, u.getMean(), .000000000001);       
         
  +                                                                                    
                                           
  +             loadStats("data/PiDigits.txt");
  +             assertEquals("PiDigits: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("PiDigits: mean", mean, u.getMean(), .00000000000001);
  +             
  +             loadStats("data/Mavro.txt");
  +             assertEquals("Mavro: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("Mavro: mean", mean, u.getMean(), .00000000000001);       
         
  +             
  +             //loadStats("data/Michelso.txt");
  +             //assertEquals("Michelso: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             //assertEquals("Michelso: mean", mean, u.getMean(), .00000000000001);  
 
  +
  +             loadStats("data/NumAcc1.txt");
  +             assertEquals("NumAcc1: std", std, u.getStandardDeviation(), 
.00000000000001);
  +             assertEquals("NumAcc1: mean", mean, u.getMean(), .00000000000001);
  +             
  +             //loadStats("data/NumAcc2.txt");
  +             //assertEquals("NumAcc2: std", std, u.getStandardDeviation(), 
.000000001);
  +             //assertEquals("NumAcc2: mean", mean, u.getMean(), .00000000000001);
        }
   
        /**
         * loads a Univariate off of a test file
         * @param file
         */
  -     private void loadStats(File file) {
  +     private void loadStats(String resource) {
   
                try {
   
                        u.clear();
                        mean = Double.NaN;
                        std = Double.NaN;
  -                     
  -                     BufferedReader in = new BufferedReader(new FileReader(file));
  +
  +                     BufferedReader in =
  +                             new BufferedReader(
  +                                     new InputStreamReader(
  +                                             
getClass().getResourceAsStream(resource)));
   
                        String line = null;
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to