You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by md...@apache.org on 2003/11/19 14:26:42 UTC
cvs commit: jakarta-commons/math/src/test/org/apache/commons/math/stat DescriptiveStatisticsTest.java
mdiggory 2003/11/19 05:26:42
Modified: math/src/test/org/apache/commons/math TestUtils.java
math/src/test/org/apache/commons/math/stat
DescriptiveStatisticsTest.java
Log:
Additional tooling for simple JUnit testing of serialization.
Revision Changes Path
1.8 +37 -1 jakarta-commons/math/src/test/org/apache/commons/math/TestUtils.java
Index: TestUtils.java
===================================================================
RCS file: /home/cvs/jakarta-commons/math/src/test/org/apache/commons/math/TestUtils.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- TestUtils.java 15 Nov 2003 18:52:31 -0000 1.7
+++ TestUtils.java 19 Nov 2003 13:26:42 -0000 1.8
@@ -54,6 +54,13 @@
package org.apache.commons.math;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
import org.apache.commons.math.complex.Complex;
import junit.framework.Assert;
@@ -84,5 +91,34 @@
public static void assertEquals(Complex expected, Complex actual, double delta) {
assertEquals(expected.getReal(), actual.getReal(), delta);
assertEquals(expected.getImaginary(), actual.getImaginary(), delta);
+ }
+
+ public static Object serializeAndRecover(Object o){
+
+ Object result = null;
+
+ File tmp = null;
+
+ try {
+
+ // serialize the Object
+ tmp = File.createTempFile("test",".ser");
+ FileOutputStream fo = new FileOutputStream(tmp);
+ ObjectOutputStream so = new ObjectOutputStream(fo);
+ so.writeObject(o);
+ so.flush();
+
+ // deserialize the Book
+ FileInputStream fi = new FileInputStream(tmp);
+ ObjectInputStream si = new ObjectInputStream(fi);
+ result = si.readObject();
+
+ }catch (Exception e) {
+ e.printStackTrace();
+ }finally{
+ if(tmp != null) tmp.delete();
+ }
+
+ return result;
}
}
1.2 +28 -2 jakarta-commons/math/src/test/org/apache/commons/math/stat/DescriptiveStatisticsTest.java
Index: DescriptiveStatisticsTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/math/src/test/org/apache/commons/math/stat/DescriptiveStatisticsTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DescriptiveStatisticsTest.java 15 Nov 2003 16:01:41 -0000 1.1
+++ DescriptiveStatisticsTest.java 19 Nov 2003 13:26:42 -0000 1.2
@@ -57,6 +57,7 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.apache.commons.math.TestUtils;
import org.apache.commons.math.random.RandomData;
import org.apache.commons.math.random.RandomDataImpl;
@@ -340,6 +341,31 @@
assertTrue("empty value set should return NaN",
Double.isNaN(u.getPercentile(50)));
}
-
+
+ /** test stats */
+ public void testSerialization() {
+ DescriptiveStatistics u = DescriptiveStatistics.newInstance();
+ assertEquals("total count",0,u.getN(),tolerance);
+ u.addValue(one);
+ u.addValue(two);
+
+ DescriptiveStatistics u2 = (DescriptiveStatistics)TestUtils.serializeAndRecover(u);
+
+ u2.addValue(two);
+ u2.addValue(three);
+
+ assertEquals("N",n,u2.getN(),tolerance);
+ assertEquals("sum",sum,u2.getSum(),tolerance);
+ assertEquals("sumsq",sumSq,u2.getSumsq(),tolerance);
+ assertEquals("var",var,u2.getVariance(),tolerance);
+ assertEquals("std",std,u2.getStandardDeviation(),tolerance);
+ assertEquals("mean",mean,u2.getMean(),tolerance);
+ assertEquals("min",min,u2.getMin(),tolerance);
+ assertEquals("max",max,u2.getMax(),tolerance);
+
+ u2.clear();
+ assertEquals("total count",0,u2.getN(),tolerance);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org