You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/09/03 14:28:41 UTC
svn commit: r992277 [6/9] - in /mahout/trunk:
core/src/main/java/org/apache/mahout/ep/
core/src/main/java/org/apache/mahout/fpm/pfpgrowth/
core/src/test/java/org/apache/mahout/cf/taste/common/
core/src/test/java/org/apache/mahout/cf/taste/hadoop/ core/...
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/TestRowSimilarityJob.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/TestRowSimilarityJob.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/TestRowSimilarityJob.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/TestRowSimilarityJob.java Fri Sep 3 12:28:34 2010
@@ -42,15 +42,17 @@ import org.apache.mahout.math.hadoop.sim
import org.apache.mahout.math.hadoop.similarity.vector.DistributedVectorSimilarity;
import org.easymock.IArgumentMatcher;
import org.easymock.classextension.EasyMock;
+import org.junit.Test;
/**
* tests {@link RowSimilarityJob}
*/
-public class TestRowSimilarityJob extends MahoutTestCase {
+public final class TestRowSimilarityJob extends MahoutTestCase {
/**
* Tests {@link RowSimilarityJob.RowWeightMapper}
*/
+ @Test
public void testRowWeightMapper() throws Exception {
Mapper<IntWritable,VectorWritable,VarIntWritable,WeightedOccurrence>.Context context =
EasyMock.createMock(Mapper.Context.class);
@@ -75,6 +77,7 @@ public class TestRowSimilarityJob extend
/**
* Tests {@link RowSimilarityJob.WeightedOccurrencesPerColumnReducer}
*/
+ @Test
public void testWeightedOccurrencesPerColumnReducer() throws Exception {
List<WeightedOccurrence> weightedOccurrences = Arrays.asList(new WeightedOccurrence(45, 0.5, 1.0),
@@ -126,6 +129,7 @@ public class TestRowSimilarityJob extend
/**
* Tests {@link RowSimilarityJob.CooccurrencesMapper}
*/
+ @Test
public void testCooccurrencesMapper() throws Exception {
Mapper<VarIntWritable,WeightedOccurrenceArray,WeightedRowPair,Cooccurrence>.Context context =
EasyMock.createMock(Mapper.Context.class);
@@ -147,6 +151,7 @@ public class TestRowSimilarityJob extend
/**
* Tests {@link SimilarityReducer}
*/
+ @Test
public void testSimilarityReducer() throws Exception {
Reducer<WeightedRowPair,Cooccurrence,SimilarityMatrixEntryKey,MatrixEntryWritable>.Context context =
@@ -172,6 +177,7 @@ public class TestRowSimilarityJob extend
* Tests {@link SimilarityReducer} in the special case of computing the similarity of a row to
* itself
*/
+ @Test
public void testSimilarityReducerSelfSimilarity() throws Exception {
Reducer<WeightedRowPair,Cooccurrence,SimilarityMatrixEntryKey,MatrixEntryWritable>.Context context =
@@ -193,6 +199,7 @@ public class TestRowSimilarityJob extend
/**
* Tests {@link EntriesToVectorsReducer}
*/
+ @Test
public void testEntriesToVectorsReducer() throws Exception {
Reducer<SimilarityMatrixEntryKey,MatrixEntryWritable,IntWritable,VectorWritable>.Context context =
EasyMock.createMock(Reducer.Context.class);
@@ -230,6 +237,7 @@ public class TestRowSimilarityJob extend
* 0, 0, 1
* </pre>
*/
+ @Test
public void testSmallSampleMatrix() throws Exception {
File inputFile = getTestTempFile("rows");
@@ -264,14 +272,14 @@ public class TestRowSimilarityJob extend
assertEquals(3, similarityMatrix.numCols());
assertEquals(3, similarityMatrix.numRows());
- assertEquals(1.0, similarityMatrix.get(0, 0));
- assertEquals(1.0, similarityMatrix.get(1, 1));
- assertEquals(1.0, similarityMatrix.get(2, 2));
-
- assertEquals(0.0, similarityMatrix.get(2, 0));
- assertEquals(0.0, similarityMatrix.get(2, 1));
- assertEquals(0.0, similarityMatrix.get(0, 2));
- assertEquals(0.0, similarityMatrix.get(1, 2));
+ assertEquals(1.0, similarityMatrix.get(0, 0), EPSILON);
+ assertEquals(1.0, similarityMatrix.get(1, 1), EPSILON);
+ assertEquals(1.0, similarityMatrix.get(2, 2), EPSILON);
+
+ assertEquals(0.0, similarityMatrix.get(2, 0), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(2, 1), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(0, 2), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(1, 2), EPSILON);
assertEquals(0.6666, similarityMatrix.get(0, 1), 0.0001);
assertEquals(0.6666, similarityMatrix.get(1, 0), 0.0001);
@@ -319,6 +327,7 @@ public class TestRowSimilarityJob extend
* r3 --> r1
* </pre>
*/
+ @Test
public void testLimitEntriesInSimilarityMatrix() throws Exception {
File inputFile = getTestTempFile("rows");
@@ -354,17 +363,17 @@ public class TestRowSimilarityJob extend
assertEquals(3, similarityMatrix.numCols());
assertEquals(3, similarityMatrix.numRows());
- assertEquals(0.0, similarityMatrix.get(0, 0));
- assertEquals(0.5, similarityMatrix.get(0, 1));
- assertEquals(0.0, similarityMatrix.get(0, 2));
-
- assertEquals(0.5, similarityMatrix.get(1, 0));
- assertEquals(0.0, similarityMatrix.get(1, 1));
- assertEquals(0.0, similarityMatrix.get(1, 2));
-
- assertEquals(0.4, similarityMatrix.get(2, 0));
- assertEquals(0.0, similarityMatrix.get(2, 1));
- assertEquals(0.0, similarityMatrix.get(2, 2));
+ assertEquals(0.0, similarityMatrix.get(0, 0), EPSILON);
+ assertEquals(0.5, similarityMatrix.get(0, 1), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(0, 2), EPSILON);
+
+ assertEquals(0.5, similarityMatrix.get(1, 0), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(1, 1), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(1, 2), EPSILON);
+
+ assertEquals(0.4, similarityMatrix.get(2, 0), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(2, 1), EPSILON);
+ assertEquals(0.0, similarityMatrix.get(2, 2), EPSILON);
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedEuclideanDistanceVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedEuclideanDistanceVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedEuclideanDistanceVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedEuclideanDistanceVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedEuclideanDistanceVectorSimilarity}
*/
-public class DistributedEuclideanDistanceVectorSimilarityTest extends
+public final class DistributedEuclideanDistanceVectorSimilarityTest extends
DistributedVectorSimilarityTestCase {
+ @Test
public void testEuclideanDistance() throws Exception {
assertSimilar(new DistributedEuclideanDistanceVectorSimilarity(),
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedLoglikelihoodVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedLoglikelihoodVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedLoglikelihoodVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedLoglikelihoodVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedLoglikelihoodVectorSimilarity}
*/
-public class DistributedLoglikelihoodVectorSimilarityTest
+public final class DistributedLoglikelihoodVectorSimilarityTest
extends DistributedVectorSimilarityTestCase {
+ @Test
public void testLoglikelihood() throws Exception {
assertSimilar(new DistributedLoglikelihoodVectorSimilarity(),
asVector(1, 1, 0, 1, 0),
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedPearsonCorrelationVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedPearsonCorrelationVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedPearsonCorrelationVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedPearsonCorrelationVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedPearsonCorrelationVectorSimilarity}
*/
-public class DistributedPearsonCorrelationVectorSimilarityTest
+public final class DistributedPearsonCorrelationVectorSimilarityTest
extends DistributedVectorSimilarityTestCase {
+ @Test
public void testPearsonCorrelation() throws Exception {
assertSimilar(new DistributedPearsonCorrelationVectorSimilarity(),
asVector(3, -2),
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedTanimotoCoefficientVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedTanimotoCoefficientVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedTanimotoCoefficientVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedTanimotoCoefficientVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedTanimotoCoefficientVectorSimilarity}
*/
-public class DistributedTanimotoCoefficientVectorSimilarityTest extends
+public final class DistributedTanimotoCoefficientVectorSimilarityTest extends
DistributedVectorSimilarityTestCase {
+ @Test
public void testTanimoto() throws Exception {
assertSimilar(new DistributedTanimotoCoefficientVectorSimilarity(),
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredCosineVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredCosineVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredCosineVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredCosineVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedUncenteredCosineVectorSimilarity}
*/
-public class DistributedUncenteredCosineVectorSimilarityTest
+public final class DistributedUncenteredCosineVectorSimilarityTest
extends DistributedVectorSimilarityTestCase {
+ @Test
public void testUncenteredCosineSimilarity() throws Exception {
assertSimilar(new DistributedUncenteredCosineVectorSimilarity(),
@@ -39,7 +42,7 @@ public class DistributedUncenteredCosine
assertSimilar(new DistributedUncenteredCosineVectorSimilarity(),
asVector(1, 1, 2),
- asVector(3, 5, 0), 3, 0.970142);
+ asVector(3, 5, 0), 3, 0.9701425);
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredZeroAssumingCosineVectorSimilarityTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredZeroAssumingCosineVectorSimilarityTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredZeroAssumingCosineVectorSimilarityTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedUncenteredZeroAssumingCosineVectorSimilarityTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,15 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import org.junit.Test;
+
/**
* tests {@link DistributedUncenteredZeroAssumingCosineVectorSimilarity}
*/
-public class DistributedUncenteredZeroAssumingCosineVectorSimilarityTest
+public final class DistributedUncenteredZeroAssumingCosineVectorSimilarityTest
extends DistributedVectorSimilarityTestCase {
+ @Test
public void testUncenteredZeroAssumingCosine() throws Exception {
assertSimilar(new DistributedUncenteredZeroAssumingCosineVectorSimilarity(),
asVector(0, 0, 0, 0, 1),
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedVectorSimilarityTestCase.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedVectorSimilarityTestCase.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedVectorSimilarityTestCase.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/similarity/vector/DistributedVectorSimilarityTestCase.java Fri Sep 3 12:28:34 2010
@@ -17,13 +17,12 @@
package org.apache.mahout.math.hadoop.similarity.vector;
+import java.util.Collection;
import java.util.LinkedList;
-import java.util.List;
+import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.math.DenseVector;
-import org.apache.mahout.math.MahoutTestCase;
import org.apache.mahout.math.Vector;
-import org.apache.mahout.math.hadoop.MathHelper;
import org.apache.mahout.math.hadoop.similarity.Cooccurrence;
import org.apache.mahout.math.hadoop.similarity.RowSimilarityJob;
@@ -42,12 +41,6 @@ public abstract class DistributedVectorS
/**
* @see DistributedVectorSimilarityTestCase#assertSimilar(DistributedVectorSimilarity, int, int, Vector, Vector,
* int, double)
- *
- * @param similarity
- * @param v1
- * @param v2
- * @param numberOfColumns
- * @param expectedSimilarity
*/
static void assertSimilar(DistributedVectorSimilarity similarity, Vector v1, Vector v2, int numberOfColumns,
double expectedSimilarity) {
@@ -56,14 +49,6 @@ public abstract class DistributedVectorS
/**
* emulates the way similarities are computed by {@link RowSimilarityJob}
- *
- * @param similarity
- * @param rowA
- * @param rowB
- * @param v1
- * @param v2
- * @param numberOfColumns
- * @param expectedSimilarity
*/
static void assertSimilar(DistributedVectorSimilarity similarity, int rowA, int rowB, Vector v1, Vector v2,
int numberOfColumns, double expectedSimilarity) {
@@ -71,7 +56,7 @@ public abstract class DistributedVectorS
double weightA = similarity.weight(v1);
double weightB = similarity.weight(v2);
- List<Cooccurrence> cooccurrences = new LinkedList<Cooccurrence>();
+ Collection<Cooccurrence> cooccurrences = new LinkedList<Cooccurrence>();
for (int n = 0; n < numberOfColumns; n++) {
double valueA = v1.get(n);
double valueB = v2.get(n);
@@ -81,6 +66,6 @@ public abstract class DistributedVectorS
}
double result = similarity.similarity(rowA, rowB, cooccurrences, weightA, weightB, numberOfColumns);
- assertEquals(expectedSimilarity, result, MathHelper.EPSILON);
+ assertEquals(expectedSimilarity, result, EPSILON);
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/math/stats/OnlineAucTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/math/stats/OnlineAucTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/math/stats/OnlineAucTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/math/stats/OnlineAucTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,13 @@
package org.apache.mahout.math.stats;
-import org.junit.Assert;
+import org.apache.mahout.common.MahoutTestCase;
import org.junit.Test;
import java.util.Random;
-public class OnlineAucTest {
+public final class OnlineAucTest extends MahoutTestCase {
+
@Test
public void testBinaryCase() {
OnlineAuc a1 = new OnlineAuc();
@@ -53,8 +54,8 @@ public class OnlineAucTest {
}
// reference value computed using R: mean(rnorm(1000000) < rnorm(1000000,1))
- Assert.assertEquals(1 - 0.76, a1.auc(), 0.05);
- Assert.assertEquals(1 - 0.76, a2.auc(), 0.05);
- Assert.assertEquals(1 - 0.76, a3.auc(), 0.05);
+ assertEquals(1 - 0.76, a1.auc(), 0.05);
+ assertEquals(1 - 0.76, a2.auc(), 0.05);
+ assertEquals(1 - 0.76, a3.auc(), 0.05);
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java Fri Sep 3 12:28:34 2010
@@ -17,62 +17,63 @@
package org.apache.mahout.vectors;
+import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.math.DenseVector;
import org.apache.mahout.math.Vector;
-import org.junit.Assert;
import org.junit.Test;
-public class ContinuousValueEncoderTest {
+public final class ContinuousValueEncoderTest extends MahoutTestCase {
+
@Test
public void testAddToVector() {
FeatureVectorEncoder enc = new ContinuousValueEncoder("foo");
Vector v1 = new DenseVector(20);
enc.addToVector("-123", v1);
- Assert.assertEquals(-123, v1.minValue(), 0);
- Assert.assertEquals(0, v1.maxValue(), 0);
- Assert.assertEquals(123, v1.norm(1), 0);
+ assertEquals(-123, v1.minValue(), 0);
+ assertEquals(0, v1.maxValue(), 0);
+ assertEquals(123, v1.norm(1), 0);
v1 = new DenseVector(20);
enc.addToVector("123", v1);
- Assert.assertEquals(123, v1.maxValue(), 0);
- Assert.assertEquals(0, v1.minValue(), 0);
- Assert.assertEquals(123, v1.norm(1), 0);
+ assertEquals(123, v1.maxValue(), 0);
+ assertEquals(0, v1.minValue(), 0);
+ assertEquals(123, v1.norm(1), 0);
Vector v2 = new DenseVector(20);
enc.setProbes(2);
enc.addToVector("123", v2);
- Assert.assertEquals(123, v2.maxValue(), 0);
- Assert.assertEquals(2 * 123, v2.norm(1), 0);
+ assertEquals(123, v2.maxValue(), 0);
+ assertEquals(2 * 123, v2.norm(1), 0);
v1 = v2.minus(v1);
- Assert.assertEquals(123, v1.maxValue(), 0);
- Assert.assertEquals(123, v1.norm(1), 0);
+ assertEquals(123, v1.maxValue(), 0);
+ assertEquals(123, v1.norm(1), 0);
Vector v3 = new DenseVector(20);
enc.setProbes(2);
enc.addToVector("100", v3);
v1 = v2.minus(v3);
- Assert.assertEquals(23, v1.maxValue(), 0);
- Assert.assertEquals(2 * 23, v1.norm(1), 0);
+ assertEquals(23, v1.maxValue(), 0);
+ assertEquals(2 * 23, v1.norm(1), 0);
enc.addToVector("7", v1);
- Assert.assertEquals(30, v1.maxValue(), 0);
- Assert.assertEquals(2 * 30, v1.norm(1), 0);
- Assert.assertEquals(30, v1.get(10), 0);
- Assert.assertEquals(30, v1.get(18), 0);
+ assertEquals(30, v1.maxValue(), 0);
+ assertEquals(2 * 30, v1.norm(1), 0);
+ assertEquals(30, v1.get(10), 0);
+ assertEquals(30, v1.get(18), 0);
try {
enc.addToVector("foobar", v1);
- Assert.fail("Should have noticed bad numeric format");
+ fail("Should have noticed bad numeric format");
} catch (NumberFormatException e) {
- Assert.assertEquals("For input string: \"foobar\"", e.getMessage());
+ assertEquals("For input string: \"foobar\"", e.getMessage());
}
}
@Test
public void testAsString() {
ContinuousValueEncoder enc = new ContinuousValueEncoder("foo");
- Assert.assertEquals("foo:123", enc.asString("123"));
+ assertEquals("foo:123", enc.asString("123"));
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/vectors/InteractionValueEncoderTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/InteractionValueEncoderTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/vectors/InteractionValueEncoderTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/vectors/InteractionValueEncoderTest.java Fri Sep 3 12:28:34 2010
@@ -17,12 +17,13 @@
package org.apache.mahout.vectors;
+import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.math.DenseVector;
import org.apache.mahout.math.Vector;
-import org.junit.Assert;
import org.junit.Test;
-public class InteractionValueEncoderTest {
+public final class InteractionValueEncoderTest extends MahoutTestCase {
+
@Test
public void testAddToVector() {
WordValueEncoder wv = new StaticWordValueEncoder("word");
@@ -32,13 +33,13 @@ public class InteractionValueEncoderTest
enc.addInteractionToVector("a","1.0",1.0, v1);
int k = enc.getProbes();
// should set k distinct locations to 1
- Assert.assertEquals((float) k, v1.norm(1), 0);
- Assert.assertEquals(1.0, v1.maxValue(), 0);
+ assertEquals((float) k, v1.norm(1), 0);
+ assertEquals(1.0, v1.maxValue(), 0);
// adding same interaction again should increment weights
enc.addInteractionToVector("a","1.0",1.0,v1);
- Assert.assertEquals((float) k*2, v1.norm(1), 0);
- Assert.assertEquals(2.0, v1.maxValue(), 0);
+ assertEquals((float) k*2, v1.norm(1), 0);
+ assertEquals(2.0, v1.maxValue(), 0);
Vector v2 = new DenseVector(20000);
enc.addInteractionToVector("a","1.0",1.0,v2);
@@ -46,7 +47,7 @@ public class InteractionValueEncoderTest
cv.addToVector("1.0", v2);
k = enc.getProbes();
//this assumes no hash collision
- Assert.assertEquals((float) (k + wv.getProbes()+cv.getProbes()), v2.norm(1), 1e-3);
+ assertEquals((float) (k + wv.getProbes()+cv.getProbes()), v2.norm(1), 1.0e-3);
}
@Test
@@ -58,8 +59,8 @@ public class InteractionValueEncoderTest
enc.addInteractionToVector("a","0.9",0.5, v1);
int k = enc.getProbes();
// should set k distinct locations to 0.9*0.5
- Assert.assertEquals((float) k*0.5*0.9, v1.norm(1), 0);
- Assert.assertEquals(0.5*0.9, v1.maxValue(), 0);
+ assertEquals((float) k*0.5*0.9, v1.norm(1), 0);
+ assertEquals(0.5*0.9, v1.maxValue(), 0);
}
@Test
@@ -71,7 +72,7 @@ public class InteractionValueEncoderTest
enc.addInteractionToVector("a","some text here",1.0, v1);
int k = enc.getProbes();
// should interact "a" with each of "some","text" and "here"
- Assert.assertEquals((float) k*3, v1.norm(1), 0);
+ assertEquals((float) k*3, v1.norm(1), 0);
}
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java Fri Sep 3 12:28:34 2010
@@ -17,52 +17,48 @@
package org.apache.mahout.vectors;
-import junit.framework.TestCase;
-import org.apache.mahout.vectors.MurmurHash;
+import org.apache.mahout.common.MahoutTestCase;
import org.junit.Test;
-import java.io.UnsupportedEncodingException;
+public final class MurmurHashTest extends MahoutTestCase {
-@SuppressWarnings({"deprecation"})
-public class MurmurHashTest extends TestCase {
- @Test
- public void testForLotsOfChange() throws UnsupportedEncodingException {
- long h1 = MurmurHash.hashLong("abc".getBytes("UTF-8"), 0);
- long h2 = MurmurHash.hashLong("abc ".getBytes("UTF-8"), 0);
- int flipCount = Long.bitCount(h1 ^ h2);
- assertTrue("Small changes should result in lots of bit flips, only found " + flipCount, flipCount > 25);
- }
-
- @Test
- public void testHash64() throws UnsupportedEncodingException {
- // test data generated by running MurmurHash2_64.cpp
- assertEquals(0x9cc9c33498a95efbL, MurmurHash.hash64A("abc".getBytes("UTF-8"), 0));
- assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64A("abc def ghi jkl ".getBytes("UTF-8"), 0));
- assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64A("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
- }
-
- @SuppressWarnings({"deprecation"})
- @Test
- public void testHash64original() throws UnsupportedEncodingException {
- // test data generated by running MurmurHash2_64.cpp
- assertEquals(0x9cc9c33498a95efbL, MurmurHash.hash64AOriginal("abc".getBytes("UTF-8"), 0));
- assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64AOriginal("abc def ghi jkl ".getBytes("UTF-8"), 0));
- assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64AOriginal("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
- }
-
- @Test
- public void testHash() throws UnsupportedEncodingException {
- // test data generated by running MurmurHashNeutral2.cpp
- assertEquals(0x13577c9b, MurmurHash.hash("abc".getBytes("UTF-8"), 0));
- assertEquals(0x6fec441b, MurmurHash.hash("abc def ghi jkl ".getBytes("UTF-8"), 0));
- assertEquals(0x7e953277, MurmurHash.hash("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
- }
-
- @Test
- public void testHashNio() throws UnsupportedEncodingException {
- // test data generated by running MurmurHashNeutral2.cpp
- assertEquals(0x13577c9b, MurmurHash.hashOriginal("abc".getBytes("UTF-8"), 0));
- assertEquals(0x6fec441b, MurmurHash.hashOriginal("abc def ghi jkl ".getBytes("UTF-8"), 0));
- assertEquals(0x7e953277, MurmurHash.hashOriginal("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
- }
+ @Test
+ public void testForLotsOfChange() throws Exception {
+ long h1 = MurmurHash.hashLong("abc".getBytes("UTF-8"), 0);
+ long h2 = MurmurHash.hashLong("abc ".getBytes("UTF-8"), 0);
+ int flipCount = Long.bitCount(h1 ^ h2);
+ assertTrue("Small changes should result in lots of bit flips, only found " + flipCount, flipCount > 25);
+ }
+
+ @Test
+ public void testHash64() throws Exception {
+ // test data generated by running MurmurHash2_64.cpp
+ assertEquals(0x9cc9c33498a95efbL, MurmurHash.hash64A("abc".getBytes("UTF-8"), 0));
+ assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64A("abc def ghi jkl ".getBytes("UTF-8"), 0));
+ assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64A("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
+ }
+
+ @Test
+ public void testHash64original() throws Exception {
+ // test data generated by running MurmurHash2_64.cpp
+ assertEquals(0x9cc9c33498a95efbL, MurmurHash.hash64AOriginal("abc".getBytes("UTF-8"), 0));
+ assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64AOriginal("abc def ghi jkl ".getBytes("UTF-8"), 0));
+ assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64AOriginal("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
+ }
+
+ @Test
+ public void testHash() throws Exception {
+ // test data generated by running MurmurHashNeutral2.cpp
+ assertEquals(0x13577c9b, MurmurHash.hash("abc".getBytes("UTF-8"), 0));
+ assertEquals(0x6fec441b, MurmurHash.hash("abc def ghi jkl ".getBytes("UTF-8"), 0));
+ assertEquals(0x7e953277, MurmurHash.hash("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
+ }
+
+ @Test
+ public void testHashNio() throws Exception {
+ // test data generated by running MurmurHashNeutral2.cpp
+ assertEquals(0x13577c9b, MurmurHash.hashOriginal("abc".getBytes("UTF-8"), 0));
+ assertEquals(0x6fec441b, MurmurHash.hashOriginal("abc def ghi jkl ".getBytes("UTF-8"), 0));
+ assertEquals(0x7e953277, MurmurHash.hashOriginal("abc def ghi jkl moreGoo".getBytes("UTF-8"), 0));
+ }
}
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java Fri Sep 3 12:28:34 2010
@@ -18,24 +18,23 @@
package org.apache.mahout.vectors;
import com.google.common.collect.ImmutableMap;
+import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.math.DenseVector;
import org.apache.mahout.math.Vector;
-import org.junit.Assert;
import org.junit.Test;
import java.util.Locale;
-import static org.junit.Assert.assertEquals;
+public final class TextValueEncoderTest extends MahoutTestCase {
-public class TextValueEncoderTest {
@Test
public void testAddToVector() {
TextValueEncoder enc = new TextValueEncoder("text");
Vector v1 = new DenseVector(200);
enc.addToVector("test1 and more", v1);
// should set 6 distinct locations to 1
- Assert.assertEquals(6.0, v1.norm(1), 0);
- Assert.assertEquals(1.0, v1.maxValue(), 0);
+ assertEquals(6.0, v1.norm(1), 0);
+ assertEquals(1.0, v1.maxValue(), 0);
// now some fancy weighting
StaticWordValueEncoder w = new StaticWordValueEncoder("text");
@@ -52,10 +51,10 @@ public class TextValueEncoderTest {
w.addToVector("and", v3);
w.addToVector("more", v3);
- Assert.assertEquals(0, v3.minus(v2).norm(1), 0);
+ assertEquals(0, v3.minus(v2).norm(1), 0);
// moreover, the locations set in the unweighted case should be the same as in the weighted case
- Assert.assertEquals(v3.zSum(), v3.dot(v1), 0);
+ assertEquals(v3.zSum(), v3.dot(v1), 0);
}
@Test
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java Fri Sep 3 12:28:34 2010
@@ -19,18 +19,16 @@ package org.apache.mahout.vectors;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.math.DenseVector;
import org.apache.mahout.math.Vector;
-import org.junit.Assert;
import org.junit.Test;
import java.util.Iterator;
import java.util.Locale;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+public final class WordLikeValueEncoderTest extends MahoutTestCase {
-public class WordLikeValueEncoderTest {
@Test
public void testAddToVector() {
FeatureVectorEncoder enc = new StaticWordValueEncoder("word");
@@ -41,17 +39,17 @@ public class WordLikeValueEncoderTest {
Iterator<Integer> j = ImmutableList.of(7, 118, 119, 199).iterator();
while (i.hasNext()) {
Vector.Element element = i.next();
- Assert.assertEquals(j.next().intValue(), element.index());
- Assert.assertEquals(1, element.get(), 0);
+ assertEquals(j.next().intValue(), element.index());
+ assertEquals(1, element.get(), 0);
}
- Assert.assertFalse(j.hasNext());
+ assertFalse(j.hasNext());
}
@Test
public void testAsString() {
Locale.setDefault(Locale.ENGLISH);
FeatureVectorEncoder enc = new StaticWordValueEncoder("word");
- Assert.assertEquals("word:w1:1.0000", enc.asString("w1"));
+ assertEquals("word:w1:1.0000", enc.asString("w1"));
}
@Test
@@ -67,10 +65,10 @@ public class WordLikeValueEncoderTest {
Iterator<Double> k = ImmutableList.of(3.0, 0.75, 1.5, 1.5, 0.75, 3.0).iterator();
while (i.hasNext()) {
Vector.Element element = i.next();
- Assert.assertEquals(j.next().intValue(), element.index());
- Assert.assertEquals(k.next(), element.get(), 0);
+ assertEquals(j.next().intValue(), element.index());
+ assertEquals(k.next(), element.get(), 0);
}
- Assert.assertFalse(j.hasNext());
+ assertFalse(j.hasNext());
}
@Test
@@ -89,9 +87,9 @@ public class WordLikeValueEncoderTest {
Math.log(2 / 1.5) + Math.log(4.5 / 2.5)).iterator();
while (i.hasNext()) {
Vector.Element element = i.next();
- Assert.assertEquals(j.next().intValue(), element.index());
- Assert.assertEquals(k.next(), element.get(), 1.0e-6);
+ assertEquals(j.next().intValue(), element.index());
+ assertEquals(k.next(), element.get(), 1.0e-6);
}
- Assert.assertFalse(j.hasNext());
+ assertFalse(j.hasNext());
}
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/classifier/bayes/SplitBayesInputTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/classifier/bayes/SplitBayesInputTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/classifier/bayes/SplitBayesInputTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/classifier/bayes/SplitBayesInputTest.java Fri Sep 3 12:28:34 2010
@@ -25,15 +25,14 @@ import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.Charset;
-import junit.framework.Assert;
-
import org.apache.mahout.classifier.ClassifierData;
import org.apache.mahout.common.IOUtils;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.math.map.OpenObjectIntHashMap;
+import org.junit.Before;
+import org.junit.Test;
-
-public class SplitBayesInputTest extends MahoutTestCase {
+public final class SplitBayesInputTest extends MahoutTestCase {
private OpenObjectIntHashMap<String> countMap;
private Charset charset;
@@ -44,6 +43,7 @@ public class SplitBayesInputTest extends
private SplitBayesInput si;
@Override
+ @Before
public void setUp() throws Exception {
super.setUp();
@@ -61,7 +61,7 @@ public class SplitBayesInputTest extends
si.setInputDirectory(tempInputDirectory);
}
- public void writeMultipleInputFiles() throws IOException {
+ private void writeMultipleInputFiles() throws IOException {
Writer writer = null;
String currentLabel = null;
@@ -81,7 +81,7 @@ public class SplitBayesInputTest extends
IOUtils.quietClose(writer);
}
- public void writeSingleInputFile() throws IOException {
+ private void writeSingleInputFile() throws IOException {
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(tempInputFile), Charset.forName("UTF-8")));
for (String[] entry : ClassifierData.DATA) {
@@ -89,7 +89,8 @@ public class SplitBayesInputTest extends
}
writer.close();
}
-
+
+ @Test
public void testSplitDirectory() throws Exception {
writeMultipleInputFiles();
@@ -106,14 +107,16 @@ public class SplitBayesInputTest extends
si.splitDirectory(tempInputDirectory);
}
-
+
+ @Test
public void testSplitFile() throws Exception {
writeSingleInputFile();
si.setTestSplitSize(2);
si.setCallback(new TestCallback(2, 10));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testSplitFileLocation() throws Exception {
writeSingleInputFile();
si.setTestSplitSize(2);
@@ -121,7 +124,8 @@ public class SplitBayesInputTest extends
si.setCallback(new TestCallback(2, 10));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testSplitFilePct() throws Exception {
writeSingleInputFile();
si.setTestSplitPct(25);
@@ -129,7 +133,8 @@ public class SplitBayesInputTest extends
si.setCallback(new TestCallback(3, 9));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testSplitFilePctLocation() throws Exception {
writeSingleInputFile();
si.setTestSplitPct(25);
@@ -137,7 +142,8 @@ public class SplitBayesInputTest extends
si.setCallback(new TestCallback(3, 9));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testSplitFileRandomSelectionSize() throws Exception {
writeSingleInputFile();
si.setTestRandomSelectionSize(5);
@@ -145,7 +151,8 @@ public class SplitBayesInputTest extends
si.setCallback(new TestCallback(5, 7));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testSplitFileRandomSelectionPct() throws Exception {
writeSingleInputFile();
si.setTestRandomSelectionPct(25);
@@ -153,7 +160,8 @@ public class SplitBayesInputTest extends
si.setCallback(new TestCallback(3, 9));
si.splitFile(tempInputFile);
}
-
+
+ @Test
public void testValidate() throws Exception {
SplitBayesInput st = new SplitBayesInput();
assertValidateException(st, IllegalArgumentException.class);
@@ -190,8 +198,8 @@ public class SplitBayesInputTest extends
}
private class TestCallback implements SplitBayesInput.SplitCallback {
- private int testSplitSize;
- private int trainingLines;
+ private final int testSplitSize;
+ private final int trainingLines;
private TestCallback(int testSplitSize, int trainingLines) {
this.testSplitSize = testSplitSize;
@@ -204,10 +212,10 @@ public class SplitBayesInputTest extends
}
}
- private void assertValidateException(SplitBayesInput st, Class<?> clazz) throws Exception {
+ private static void assertValidateException(SplitBayesInput st, Class<?> clazz) throws Exception {
try {
st.validate();
- Assert.fail("Expected valdate() to throw an exception, received none");
+ fail("Expected valdate() to throw an exception, received none");
} catch (Exception e) {
if (!e.getClass().isAssignableFrom(clazz)) {
throw e;
@@ -224,14 +232,14 @@ public class SplitBayesInputTest extends
try {
File testFile = new File(tempTestDirectory, tempInputFile.getName());
- Assert.assertTrue("test file exists", testFile.isFile());
- Assert.assertEquals("test line count", testSplitSize, SplitBayesInput.countLines(testFile, charset));
+ assertTrue("test file exists", testFile.isFile());
+ assertEquals("test line count", testSplitSize, SplitBayesInput.countLines(testFile, charset));
File trainingFile = new File(tempTrainingDirectory, tempInputFile.getName());
- Assert.assertTrue("training file exists", trainingFile.isFile());
- Assert.assertEquals("training line count", trainingLines, SplitBayesInput.countLines(trainingFile, charset));
+ assertTrue("training file exists", trainingFile.isFile());
+ assertEquals("training line count", trainingLines, SplitBayesInput.countLines(trainingFile, charset));
} catch (IOException ioe) {
- Assert.fail(ioe.toString());
+ fail(ioe.toString());
}
}
}
Added: mahout/trunk/examples/src/test/java/org/apache/mahout/examples/MahoutTestCase.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/examples/MahoutTestCase.java?rev=992277&view=auto
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/examples/MahoutTestCase.java (added)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/examples/MahoutTestCase.java Fri Sep 3 12:28:34 2010
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.mahout.examples;
+
+/**
+ * This class should not exist. It's here to work around some bizarre problem in Maven
+ * dependency management wherein it can see methods in {@link org.apache.mahout.common.MahoutTestCase}
+ * but not constants. Duplicated here to make it jive.
+ */
+public abstract class MahoutTestCase extends org.apache.mahout.common.MahoutTestCase {
+
+ /** "Close enough" value for floating-point comparisons. */
+ public static final double EPSILON = 0.0000001;
+
+}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDCrossoverTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDCrossoverTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDCrossoverTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDCrossoverTest.java Fri Sep 3 12:28:34 2010
@@ -17,19 +17,21 @@
package org.apache.mahout.ga.watchmaker.cd;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
import org.easymock.classextension.EasyMock;
import org.apache.mahout.common.RandomUtils;
+import org.junit.Test;
import java.util.List;
import java.util.Random;
-public class CDCrossoverTest extends MahoutTestCase {
+public final class CDCrossoverTest extends MahoutTestCase {
/**
* if the parents have different values for all their genes, then the
* offsprings will not any common gene.
*/
+ @Test
public void testMate1() {
Random rng = RandomUtils.getRandom();
@@ -77,6 +79,7 @@ public class CDCrossoverTest extends Mah
* Ensure that for a crossover of N points, the offsprings got N+1 different
* areas.
*/
+ @Test
public void testMate2() {
Random rng = RandomUtils.getRandom();
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDFitnessTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDFitnessTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDFitnessTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDFitnessTest.java Fri Sep 3 12:28:34 2010
@@ -17,16 +17,18 @@
package org.apache.mahout.ga.watchmaker.cd;
-import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.common.RandomUtils;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
import java.util.Random;
-public class CDFitnessTest extends MahoutTestCase {
+public final class CDFitnessTest extends MahoutTestCase {
/**
* Test method for {@link org.apache.mahout.ga.watchmaker.cd.CDFitness#get()}.
*/
+ @Test
public void testGet() {
int n = 100;
Random rng = RandomUtils.getRandom();
@@ -40,7 +42,7 @@ public class CDFitnessTest extends Mahou
double se = ((double) tp) / (tp + fn);
double sp = ((double) tn) / (tn + fp);
- assertEquals(se * sp, fitness.get());
+ assertEquals(se * sp, fitness.get(), EPSILON);
}
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDMutationTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDMutationTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDMutationTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDMutationTest.java Fri Sep 3 12:28:34 2010
@@ -17,21 +17,22 @@
package org.apache.mahout.ga.watchmaker.cd;
-import junit.framework.Assert;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.utils.MockDataSet;
import org.apache.mahout.common.RandomUtils;
+import org.junit.Before;
+import org.junit.Test;
import java.util.Random;
-public class CDMutationTest extends MahoutTestCase {
+public final class CDMutationTest extends MahoutTestCase {
private Random rng;
-
private MockDataSet mock;
@Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
super.setUp();
rng = RandomUtils.getRandom();
mock = new MockDataSet(rng, 100);
@@ -41,6 +42,7 @@ public class CDMutationTest extends Maho
* Test method for
* {@link org.apache.mahout.ga.watchmaker.cd.CDMutation#rndDouble(double, double, double, java.util.Random)}.
*/
+ @Test
public void testMutate() {
DataSet dataset = DataSet.getDataSet();
boolean modified = false; // true if at least one attribute has mutated
@@ -83,8 +85,8 @@ public class CDMutationTest extends Maho
assertTrue(modified);
}
- private static void assertInRange(double value, double min, double max) {
- Assert.assertTrue("value < min", value >= min);
- Assert.assertTrue("value > max", value <= max);
+ static void assertInRange(double value, double min, double max) {
+ assertTrue("value < min", value >= min);
+ assertTrue("value > max", value <= max);
}
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDRuleTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDRuleTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDRuleTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/CDRuleTest.java Fri Sep 3 12:28:34 2010
@@ -17,20 +17,28 @@
package org.apache.mahout.ga.watchmaker.cd;
-import junit.framework.Assert;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.utils.MockDataSet;
import org.apache.mahout.common.RandomUtils;
import org.easymock.classextension.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
import java.util.Random;
-public class CDRuleTest extends MahoutTestCase {
+public final class CDRuleTest extends MahoutTestCase {
private Random rng;
-
private MockDataSet mock;
+ @Override
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ rng = RandomUtils.getRandom();
+ mock = new MockDataSet(rng, 50);
+ }
+
/**
* Test method for
* {@link org.apache.mahout.ga.watchmaker.cd.CDFactory#generateRandomCandidate(java.util.Random)}.
@@ -47,13 +55,13 @@ public class CDRuleTest extends MahoutTe
for (int condInd = 0; condInd < rule.getNbConditions(); condInd++) {
int attrInd = CDRule.attributeIndex(condInd);
- assertInRange(rule.getW(condInd), 0, 1);
+ CDMutationTest.assertInRange(rule.getW(condInd), 0, 1);
if (dataset.isNumerical(attrInd)) {
- assertInRange(rule.getV(condInd), dataset.getMin(attrInd), dataset
+ CDMutationTest.assertInRange(rule.getV(condInd), dataset.getMin(attrInd), dataset
.getMax(attrInd));
} else {
- assertInRange(rule.getV(condInd), 0, dataset.getNbValues(attrInd) - 1);
+ CDMutationTest.assertInRange(rule.getV(condInd), 0, dataset.getNbValues(attrInd) - 1);
}
}
@@ -61,22 +69,11 @@ public class CDRuleTest extends MahoutTe
}
}
- private static void assertInRange(double value, double min, double max) {
- Assert.assertTrue("value < min", value >= min);
- Assert.assertTrue("value > max", value <= max);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- rng = RandomUtils.getRandom();
- mock = new MockDataSet(rng, 50);
- }
-
/**
* Test the Weight part of the condition.
*
*/
+ @Test
public void testWCondition() {
// the dataline has all its attributes set to 0d
@@ -113,6 +110,7 @@ public class CDRuleTest extends MahoutTe
* Test the Operator part of the condition, on numerical attributes
*
*/
+ @Test
public void testOConditionNumerical() {
// the dataline has all its attributes set to 1d
@@ -146,6 +144,7 @@ public class CDRuleTest extends MahoutTe
* Test the Operator part of the condition, on numerical attributes
*
*/
+ @Test
public void testOConditionCategorical() {
// the dataline has all its attributes set to 1d
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/DataLineTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/DataLineTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/DataLineTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/DataLineTest.java Fri Sep 3 12:28:34 2010
@@ -20,17 +20,19 @@ package org.apache.mahout.ga.watchmaker.
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.mahout.common.MahoutTestCase;
import com.google.common.io.Resources;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
-public class DataLineTest extends MahoutTestCase {
+public final class DataLineTest extends MahoutTestCase {
- private static final String[] datalines = {
+ private static final String[] DATA = {
"842302,M,17.99,10.38,122.8,1001,0.1184,0.2776,0.3001,0.1471,0.2419,0.07871,1.095,0.9053,8.589,153.4,0.006399,0.04904,0.05373,0.01587,0.03003,0.006193,25.38,17.33,184.6,2019,0.1622,0.6656,0.7119,0.2654,0.4601,0.1189",
"8510426,B,13.54,14.36,87.46,566.3,0.09779,0.08129,0.06664,0.04781,0.1885,0.05766,0.2699,0.7886,2.058,23.56,0.008462,0.0146,0.02387,0.01315,0.0198,0.0023,15.11,19.26,99.7,711.2,0.144,0.1773,0.239,0.1288,0.2977,0.07259",
"852781,M,18.61,20.25,122.1,1094,0.0944,0.1066,0.149,0.07731,0.1697,0.05699,0.8529,1.849,5.632,93.54,0.01075,0.02722,0.05081,0.01911,0.02293,0.004217,21.31,27.26,139.9,1403,0.1338,0.2117,0.3446,0.149,0.2341,0.07421" };
+ @Test
public void testSet() throws Exception {
FileSystem fs = FileSystem.get(new Configuration());
Path inpath = fs.makeQualified(new Path(Resources.getResource("wdbc").toString()));
@@ -42,13 +44,13 @@ public class DataLineTest extends Mahout
int labelpos = dataset.getLabelIndex();
- dl.set(datalines[0]);
+ dl.set(DATA[0]);
assertEquals(dataset.valueIndex(labelpos, "M"), dl.getLabel());
- dl.set(datalines[1]);
+ dl.set(DATA[1]);
assertEquals(dataset.valueIndex(labelpos, "B"), dl.getLabel());
- dl.set(datalines[2]);
+ dl.set(DATA[2]);
assertEquals(dataset.valueIndex(labelpos, "M"), dl.getLabel());
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/FileInfosDatasetTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/FileInfosDatasetTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/FileInfosDatasetTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/FileInfosDatasetTest.java Fri Sep 3 12:28:34 2010
@@ -17,21 +17,21 @@
package org.apache.mahout.ga.watchmaker.cd;
-import junit.framework.Assert;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.mahout.common.FileLineIterable;
-import org.apache.mahout.common.MahoutTestCase;
import com.google.common.io.Resources;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
-import java.io.IOException;
import java.io.File;
-public class FileInfosDatasetTest extends MahoutTestCase {
+public final class FileInfosDatasetTest extends MahoutTestCase {
- public void testRanges() throws IOException {
+ @Test
+ public void testRanges() throws Exception {
FileSystem fs = FileSystem.get(new Configuration());
Path inpath = fs.makeQualified(new Path(Resources.getResource("wdbc").toString()));
@@ -43,18 +43,14 @@ public class FileInfosDatasetTest extend
dl.set(line);
for (int index = 0; index < dataset.getNbAttributes(); index++) {
if (dataset.isNumerical(index)) {
- assertInRange(dl.getAttribute(index), dataset.getMin(index), dataset
+ CDMutationTest.assertInRange(dl.getAttribute(index), dataset.getMin(index), dataset
.getMax(index));
} else {
- assertInRange(dl.getAttribute(index), 0, dataset.getNbValues(index));
+ CDMutationTest.assertInRange(dl.getAttribute(index), 0, dataset.getNbValues(index));
}
}
}
}
- private static void assertInRange(double value, double min, double max) {
- Assert.assertTrue("value" + value + ") < min", value >= min);
- Assert.assertTrue("value(" + value + ") > max", value <= max);
- }
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMahoutEvaluatorTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMahoutEvaluatorTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMahoutEvaluatorTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMahoutEvaluatorTest.java Fri Sep 3 12:28:34 2010
@@ -24,17 +24,19 @@ import java.util.Random;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.common.RandomUtils;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.CDFitness;
import org.apache.mahout.ga.watchmaker.cd.Rule;
import org.apache.mahout.ga.watchmaker.cd.utils.RandomRule;
import org.apache.mahout.ga.watchmaker.cd.utils.RandomRuleResults;
import com.google.common.io.Resources;
+import org.junit.Test;
-public class CDMahoutEvaluatorTest extends MahoutTestCase {
+public final class CDMahoutEvaluatorTest extends MahoutTestCase {
+ @Test
public void testEvaluate() throws Exception {
int nbrules = 100;
Random rng = RandomUtils.getRandom();
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMapperTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMapperTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMapperTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDMapperTest.java Fri Sep 3 12:28:34 2010
@@ -18,18 +18,20 @@
package org.apache.mahout.ga.watchmaker.cd.hadoop;
import org.apache.hadoop.io.LongWritable;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.CDFitness;
import org.apache.mahout.ga.watchmaker.cd.DataLine;
import org.apache.mahout.ga.watchmaker.cd.Rule;
import org.apache.mahout.common.DummyOutputCollector;
import org.easymock.classextension.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
-public class CDMapperTest extends MahoutTestCase {
+public final class CDMapperTest extends MahoutTestCase {
private DataLine dl;
private Rule rule;
@@ -39,7 +41,8 @@ public class CDMapperTest extends Mahout
private final CDFitness FN = new CDFitness(0, 0, 0, 1);
@Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
super.setUp();
// we assume 2 classes 0 and 1
@@ -70,6 +73,7 @@ public class CDMapperTest extends Mahout
assertEquals(FN, CDMapper.evaluate(1, 0, 1));
}
+ @Test
public void testMap() throws Exception {
EasyMock.replay(rule);
EasyMock.replay(dl);
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDReducerTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDReducerTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDReducerTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/CDReducerTest.java Fri Sep 3 12:28:34 2010
@@ -17,7 +17,6 @@
package org.apache.mahout.ga.watchmaker.cd.hadoop;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@@ -27,20 +26,22 @@ import org.apache.hadoop.conf.Configurat
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.mahout.common.DummyRecordWriter;
-import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.common.RandomUtils;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.CDFitness;
+import org.junit.Before;
+import org.junit.Test;
-public class CDReducerTest extends MahoutTestCase {
+public final class CDReducerTest extends MahoutTestCase {
private static final int NUM_EVALS = 100;
private List<CDFitness> evaluations;
-
private CDFitness expected;
@Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
super.setUp();
// generate random evaluatons and calculate expectations
evaluations = new ArrayList<CDFitness>();
@@ -61,15 +62,13 @@ public class CDReducerTest extends Mahou
expected = new CDFitness(tp, fp, tn, fn);
}
- public void testReduce() throws IOException, InterruptedException {
+ @Test
+ public void testReduce() throws Exception {
CDReducer reducer = new CDReducer();
Configuration conf = new Configuration();
DummyRecordWriter<LongWritable, CDFitness> reduceWriter = new DummyRecordWriter<LongWritable, CDFitness>();
- Reducer<LongWritable, CDFitness, LongWritable, CDFitness>.Context reduceContext = DummyRecordWriter.build(reducer,
- conf,
- reduceWriter,
- LongWritable.class,
- CDFitness.class);
+ Reducer<LongWritable, CDFitness, LongWritable, CDFitness>.Context reduceContext =
+ DummyRecordWriter.build(reducer, conf, reduceWriter, LongWritable.class, CDFitness.class);
LongWritable zero = new LongWritable(0);
reducer.reduce(zero, evaluations, reduceContext);
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/DatasetSplitTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/DatasetSplitTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/DatasetSplitTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/hadoop/DatasetSplitTest.java Fri Sep 3 12:28:34 2010
@@ -18,8 +18,8 @@
package org.apache.mahout.ga.watchmaker.cd.hadoop;
import java.io.IOException;
+import java.util.Collection;
import java.util.HashSet;
-import java.util.Set;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.LongWritable;
@@ -27,12 +27,13 @@ import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.InputSplit;
import org.apache.hadoop.mapreduce.RecordReader;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.common.RandomUtils;
import org.apache.mahout.common.RandomWrapper;
+import org.apache.mahout.examples.MahoutTestCase;
import org.apache.mahout.ga.watchmaker.cd.hadoop.DatasetSplit.RndLineRecordReader;
+import org.junit.Test;
-public class DatasetSplitTest extends MahoutTestCase {
+public final class DatasetSplitTest extends MahoutTestCase {
/**
* Mock RecordReader that returns a sequence of keys in the range [0, size[
@@ -40,12 +41,9 @@ public class DatasetSplitTest extends Ma
private static class MockReader extends RecordReader<LongWritable, Text> {
private long current;
-
private final long size;
-
- private LongWritable currentKey = new LongWritable();
-
- private Text currentValue = new Text();
+ private final LongWritable currentKey = new LongWritable();
+ private final Text currentValue = new Text();
MockReader(long size) {
if (size <= 0) {
@@ -88,7 +86,8 @@ public class DatasetSplitTest extends Ma
}
}
- public void testTrainingTestingSets() throws IOException, InterruptedException {
+ @Test
+ public void testTrainingTestingSets() throws Exception {
int n = 20;
for (int nloop = 0; nloop < n; nloop++) {
@@ -96,7 +95,7 @@ public class DatasetSplitTest extends Ma
double threshold = rng.nextDouble();
Configuration conf = new Configuration();
- Set<Long> dataset = new HashSet<Long>();
+ Collection<Long> dataset = new HashSet<Long>();
DatasetSplit split = new DatasetSplit(rng.getSeed(), threshold);
@@ -120,6 +119,7 @@ public class DatasetSplitTest extends Ma
}
}
+ @Test
public void testStoreJobParameters() {
int n = 20;
@@ -137,7 +137,7 @@ public class DatasetSplitTest extends Ma
split.storeJobParameters(conf);
assertEquals("bad seed", seed, DatasetSplit.getSeed(conf));
- assertEquals("bad threshold", threshold, DatasetSplit.getThreshold(conf));
+ assertEquals("bad threshold", threshold, DatasetSplit.getThreshold(conf), EPSILON);
assertEquals("bad training", training, DatasetSplit.isTraining(conf));
}
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/CDInfosToolTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/CDInfosToolTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/CDInfosToolTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/CDInfosToolTest.java Fri Sep 3 12:28:34 2010
@@ -22,9 +22,11 @@ import org.apache.hadoop.fs.FSDataOutput
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.mahout.common.HadoopUtil;
-import org.apache.mahout.common.MahoutTestCase;
import org.apache.mahout.common.RandomUtils;
import org.apache.commons.lang.ArrayUtils;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Before;
+import org.junit.Test;
import java.io.BufferedWriter;
import java.io.IOException;
@@ -35,14 +37,15 @@ import java.util.Collection;
import java.util.List;
import java.util.Random;
-public class CDInfosToolTest extends MahoutTestCase {
+public final class CDInfosToolTest extends MahoutTestCase {
/** max number of distinct values for any nominal attribute */
private static final int MAX_NOMINAL_VALUES = 50;
private Random rng;
@Override
- protected void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
super.setUp();
rng = RandomUtils.getRandom();
}
@@ -189,6 +192,7 @@ public class CDInfosToolTest extends Mah
return nbattrs;
}
+ @Test
public void testGatherInfos() throws Exception {
int n = 1; // put a greater value when you search for some nasty bug
for (int nloop = 0; nloop < n; nloop++) {
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/DescriptionUtilsTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/DescriptionUtilsTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/DescriptionUtilsTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/DescriptionUtilsTest.java Fri Sep 3 12:28:34 2010
@@ -17,14 +17,17 @@
package org.apache.mahout.ga.watchmaker.cd.tool;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
-public class DescriptionUtilsTest extends MahoutTestCase {
+public final class DescriptionUtilsTest extends MahoutTestCase {
+ @Test
public void testCreateNominalDescription() {
List<String> values = Arrays.asList("val1", "val2", "val3");
@@ -33,14 +36,16 @@ public class DescriptionUtilsTest extend
assertEquals("val1,val2,val3", description);
}
+ @Test
public void testCreateNumericalDescription() {
String description = DescriptionUtils.createNumericalDescription(-5.1, 12.32);
assertEquals("-5.1,12.32", description);
}
+ @Test
public void testExtractNominalValues() {
String description = "val1,val2,val3";
- List<String> target = new ArrayList<String>();
+ Collection<String> target = new ArrayList<String>();
DescriptionUtils.extractNominalValues(description, target);
@@ -49,12 +54,13 @@ public class DescriptionUtilsTest extend
assertTrue("'val2 not found'", target.contains("val2"));
assertTrue("'val3 not found'", target.contains("val3"));
}
-
+
+ @Test
public void testExtractNumericalRange() {
String description = "-2.06,12.32";
double[] range = DescriptionUtils.extractNumericalRange(description);
- assertEquals(-2.06, range[0]);
- assertEquals(12.32, range[1]);
+ assertEquals(-2.06, range[0], EPSILON);
+ assertEquals(12.32, range[1], EPSILON);
}
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolCombinerTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolCombinerTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolCombinerTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolCombinerTest.java Fri Sep 3 12:28:34 2010
@@ -18,26 +18,28 @@
package org.apache.mahout.ga.watchmaker.cd.tool;
import org.apache.hadoop.io.Text;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
-import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
-public class ToolCombinerTest extends MahoutTestCase {
+public final class ToolCombinerTest extends MahoutTestCase {
+ @Test
public void testCreateDescriptionNumerical() throws Exception {
ToolCombiner combiner = new ToolCombiner();
char[] descriptors = { 'I', 'N', 'C' };
combiner.configure(descriptors);
- List<Text> values = asList("0", "10", "-32", "0.5", "-30");
+ List<Text> values = ToolReducerTest.asList("0", "10", "-32", "0.5", "-30");
String descriptor = combiner.createDescription(1, values.iterator());
assertEquals("-32.0,10.0", descriptor);
}
+ @Test
public void testCreateDescriptionIgnored() throws Exception {
ToolCombiner combiner = new ToolCombiner();
@@ -52,21 +54,21 @@ public class ToolCombinerTest extends Ma
}
}
+ @Test
public void testCreateDescriptionNominal() throws Exception {
ToolCombiner combiner = new ToolCombiner();
char[] descriptors = { 'I', 'N', 'C' };
combiner.configure(descriptors);
- List<Text> values = asList("val1", "val2", "val1", "val3", "val2");
+ List<Text> values = ToolReducerTest.asList("val1", "val2", "val1", "val3", "val2");
String descriptor = combiner.createDescription(2, values.iterator());
StringTokenizer tokenizer = new StringTokenizer(descriptor, ",");
int nbvalues = 0;
while (tokenizer.hasMoreTokens()) {
String value = tokenizer.nextToken().trim();
- if (!"val1".equals(value) && !"val2".equals(value)
- && !"val3".equals(value)) {
+ if (!"val1".equals(value) && !"val2".equals(value) && !"val3".equals(value)) {
fail("Incorrect value : " + value);
}
nbvalues++;
@@ -74,12 +76,4 @@ public class ToolCombinerTest extends Ma
assertEquals(3, nbvalues);
}
- static List<Text> asList(String... strings) {
- List<Text> values = new ArrayList<Text>();
-
- for (String value : strings) {
- values.add(new Text(value));
- }
- return values;
- }
}
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolMapperTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolMapperTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolMapperTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolMapperTest.java Fri Sep 3 12:28:34 2010
@@ -24,10 +24,12 @@ import org.apache.hadoop.io.LongWritable
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.mahout.common.DummyRecordWriter;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
-public class ToolMapperTest extends MahoutTestCase {
+public final class ToolMapperTest extends MahoutTestCase {
+ @Test
public void testExtractAttributes() throws Exception {
LongWritable key = new LongWritable();
Text value = new Text();
@@ -51,6 +53,7 @@ public class ToolMapperTest extends Maho
}
}
+ @Test
public void testExtractIgnoredAttributes() throws Exception {
LongWritable key = new LongWritable();
Text value = new Text();
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolReducerTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolReducerTest.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolReducerTest.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/tool/ToolReducerTest.java Fri Sep 3 12:28:34 2010
@@ -18,15 +18,17 @@
package org.apache.mahout.ga.watchmaker.cd.tool;
import org.apache.hadoop.io.Text;
-import org.apache.mahout.common.MahoutTestCase;
+import org.apache.mahout.examples.MahoutTestCase;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
-public class ToolReducerTest extends MahoutTestCase {
+public final class ToolReducerTest extends MahoutTestCase {
+ @Test
public void testCreateDescriptionNumerical() throws Exception {
ToolReducer reducer = new ToolReducer();
@@ -40,6 +42,7 @@ public class ToolReducerTest extends Mah
assertEquals("-32.0,25.0", descriptor);
}
+ @Test
public void testCreateDescriptionIgnored() throws Exception {
ToolReducer reducer = new ToolReducer();
@@ -54,6 +57,7 @@ public class ToolReducerTest extends Mah
}
}
+ @Test
public void testCreateDescriptionNominal() throws Exception {
ToolReducer reducer = new ToolReducer();
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/MockDataSet.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/MockDataSet.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/MockDataSet.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/MockDataSet.java Fri Sep 3 12:28:34 2010
@@ -27,12 +27,10 @@ import java.util.Random;
* of attributes. Each attribute can be numerical or categorical (choosen
* randomly).
*/
-public class MockDataSet {
+public final class MockDataSet {
private final Random rng;
-
private final int maxnba;
-
private final DataSet dataset;
/**
Modified: mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/RandomRule.java
URL: http://svn.apache.org/viewvc/mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/RandomRule.java?rev=992277&r1=992276&r2=992277&view=diff
==============================================================================
--- mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/RandomRule.java (original)
+++ mahout/trunk/examples/src/test/java/org/apache/mahout/ga/watchmaker/cd/utils/RandomRule.java Fri Sep 3 12:28:34 2010
@@ -24,12 +24,10 @@ import org.apache.mahout.ga.watchmaker.c
import java.util.Random;
-public class RandomRule implements Rule {
+public final class RandomRule implements Rule {
private final Random rng;
-
private final int ruleid;
-
private final int target;
public RandomRule(int ruleid, int target, Random rng) {