http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/CholeskyDecompositionTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/CholeskyDecompositionTest.java 
b/core/src/test/java/org/apache/mahout/math/CholeskyDecompositionTest.java
index d648a1e..e5c23af 100644
--- a/core/src/test/java/org/apache/mahout/math/CholeskyDecompositionTest.java
+++ b/core/src/test/java/org/apache/mahout/math/CholeskyDecompositionTest.java
@@ -1,152 +1,152 @@
-///*
-// * 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.math;
-//
-//import org.apache.mahout.common.RandomUtils;
-//import org.apache.mahout.math.function.DoubleDoubleFunction;
-//import org.apache.mahout.math.function.DoubleFunction;
-//import org.apache.mahout.math.function.Functions;
-//import org.junit.Assert;
-//import org.junit.Test;
-//
-//import java.util.Random;
-//
-//public class CholeskyDecompositionTest extends MahoutTestCase {
-//  @Test
-//  public void rank1() {
-//    Matrix x = new DenseMatrix(3, 3);
-//    x.viewRow(0).assign(new double[]{1, 2, 3});
-//    x.viewRow(1).assign(new double[]{2, 4, 6});
-//    x.viewRow(2).assign(new double[]{3, 6, 9});
-//
-//    CholeskyDecomposition rr = new 
CholeskyDecomposition(x.transpose().times(x), false);
-//    assertEquals(0, new DenseVector(new double[]{3.741657, 7.483315, 
11.22497}).aggregate(rr.getL().transpose().viewRow(0), Functions.PLUS, new 
DoubleDoubleFunction() {
-//      @Override
-//      public double apply(double arg1, double arg2) {
-//        return Math.abs(arg1) - Math.abs(arg2);
-//      }
-//    }), 1.0e-5);
-//
-//    assertEquals(0, rr.getL().viewPart(0, 3, 1, 2).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-9);
-//  }
-//
-//  @Test
-//  public void test1() {
-//
-//    final Random rand = RandomUtils.getRandom();
-//
-//    Matrix z = new DenseMatrix(100, 100);
-//    z.assign(new DoubleFunction() {
-//      @Override
-//      public double apply(double arg1) {
-//        return rand.nextDouble();
-//      }
-//    });
-//
-//    Matrix A = z.times(z.transpose());
-//
-//    for (boolean type = false; !type; type=true) {
-//      CholeskyDecomposition cd = new CholeskyDecomposition(A, type);
-//      Matrix L = cd.getL();
-////      Assert.assertTrue("Positive definite", cd.isPositiveDefinite());
-//
-//      Matrix Abar = L.times(L.transpose());
-//
-//      double error = A.minus(Abar).aggregate(Functions.MAX, Functions.ABS);
-//      Assert.assertEquals("type = " + type, 0, error, 1.0e-10);
-//
-//      // L should give us a quick and dirty LQ decomposition
-//      Matrix q = cd.solveLeft(z);
-//      Matrix id = q.times(q.transpose());
-//      for (int i = 0; i < id.columnSize(); i++) {
-//        Assert.assertEquals("type = " + type, 1, id.get(i, i), 1.0e-9);
-//        Assert.assertEquals("type = " + type, 1, id.viewRow(i).norm(1), 
1.0e-9);
-//      }
-//
-//      // and QR as well
-//      q = cd.solveRight(z.transpose());
-//      id = q.transpose().times(q);
-//      for (int i = 0; i < id.columnSize(); i++) {
-//        Assert.assertEquals("type = " + type, 1, id.get(i, i), 1.0e-9);
-//        Assert.assertEquals("type = " + type, 1, id.viewRow(i).norm(1), 
1.0e-9);
-//      }
-//    }
-//  }
-//
-//  @Test
-//  public void test2() {
-//    // Test matrix from Nicholas Higham's paper at 
http://eprints.ma.man.ac.uk/1199/01/covered/MIMS_ep2008_116.pdf
-//    double[][] values = new double[3][];
-//    values[0] = new double[]{1, -1, 1};
-//    values[1] = new double[]{-1, 1, -1};
-//    values[2] = new double[]{1, -1, 2};
-//
-//    Matrix A = new DenseMatrix(values);
-//
-//    // without pivoting
-//    CholeskyDecomposition cd = new CholeskyDecomposition(A, false);
-//    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
-//
-//    // with pivoting
-//    cd = new CholeskyDecomposition(A);
-//    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
-//  }
-//
-//
-//  @Test
-//  public void testRankDeficient() {
-//    Matrix A = rank4Matrix();
-//
-//    CholeskyDecomposition cd = new CholeskyDecomposition(A);
-//
-//    PivotedMatrix Ax = new PivotedMatrix(A, cd.getPivot());
-//    CholeskyDecomposition cd2 = new CholeskyDecomposition(Ax, false);
-//
-//    assertEquals(0, 
cd2.getL().times(cd2.getL().transpose()).minus(Ax).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
-//    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
-//
-//    Assert.assertFalse(cd.isPositiveDefinite());
-//    Matrix L = cd.getL();
-//    Matrix Abar = L.times(L.transpose());
-//    double error = A.minus(Abar).aggregate(Functions.MAX, Functions.ABS);
-//    Assert.assertEquals(0, error, 1.0e-10);
-//  }
-//
-//  private static Matrix rank4Matrix() {
-//    final Random rand = RandomUtils.getRandom();
-//
-//    Matrix u = new DenseMatrix(10, 4);
-//    u.assign(new DoubleFunction() {
-//      @Override
-//      public double apply(double arg1) {
-//        return rand.nextDouble();
-//      }
-//    });
-//
-//    Matrix v = new DenseMatrix(10, 4);
-//    v.assign(new DoubleFunction() {
-//      @Override
-//      public double apply(double arg1) {
-//        return rand.nextDouble();
-//      }
-//    });
-//
-//    Matrix z = u.times(v.transpose());
-//    return z.times(z.transpose());
-//  }
-//}
+/*
+ * 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.math;
+
+import org.apache.mahout.common.RandomUtils;
+import org.apache.mahout.math.function.DoubleDoubleFunction;
+import org.apache.mahout.math.function.DoubleFunction;
+import org.apache.mahout.math.function.Functions;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Random;
+
+public class CholeskyDecompositionTest extends MahoutTestCase {
+  @Test
+  public void rank1() {
+    Matrix x = new DenseMatrix(3, 3);
+    x.viewRow(0).assign(new double[]{1, 2, 3});
+    x.viewRow(1).assign(new double[]{2, 4, 6});
+    x.viewRow(2).assign(new double[]{3, 6, 9});
+
+    CholeskyDecomposition rr = new 
CholeskyDecomposition(x.transpose().times(x), false);
+    assertEquals(0, new DenseVector(new double[]{3.741657, 7.483315, 
11.22497}).aggregate(rr.getL().transpose().viewRow(0), Functions.PLUS, new 
DoubleDoubleFunction() {
+      @Override
+      public double apply(double arg1, double arg2) {
+        return Math.abs(arg1) - Math.abs(arg2);
+      }
+    }), 1.0e-5);
+
+    assertEquals(0, rr.getL().viewPart(0, 3, 1, 2).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-9);
+  }
+
+  @Test
+  public void test1() {
+
+    final Random rand = RandomUtils.getRandom();
+
+    Matrix z = new DenseMatrix(100, 100);
+    z.assign(new DoubleFunction() {
+      @Override
+      public double apply(double arg1) {
+        return rand.nextDouble();
+      }
+    });
+
+    Matrix A = z.times(z.transpose());
+
+    for (boolean type = false; !type; type=true) {
+      CholeskyDecomposition cd = new CholeskyDecomposition(A, type);
+      Matrix L = cd.getL();
+//      Assert.assertTrue("Positive definite", cd.isPositiveDefinite());
+
+      Matrix Abar = L.times(L.transpose());
+
+      double error = A.minus(Abar).aggregate(Functions.MAX, Functions.ABS);
+      Assert.assertEquals("type = " + type, 0, error, 1.0e-10);
+
+      // L should give us a quick and dirty LQ decomposition
+      Matrix q = cd.solveLeft(z);
+      Matrix id = q.times(q.transpose());
+      for (int i = 0; i < id.columnSize(); i++) {
+        Assert.assertEquals("type = " + type, 1, id.get(i, i), 1.0e-9);
+        Assert.assertEquals("type = " + type, 1, id.viewRow(i).norm(1), 
1.0e-9);
+      }
+
+      // and QR as well
+      q = cd.solveRight(z.transpose());
+      id = q.transpose().times(q);
+      for (int i = 0; i < id.columnSize(); i++) {
+        Assert.assertEquals("type = " + type, 1, id.get(i, i), 1.0e-9);
+        Assert.assertEquals("type = " + type, 1, id.viewRow(i).norm(1), 
1.0e-9);
+      }
+    }
+  }
+
+  @Test
+  public void test2() {
+    // Test matrix from Nicholas Higham's paper at 
http://eprints.ma.man.ac.uk/1199/01/covered/MIMS_ep2008_116.pdf
+    double[][] values = new double[3][];
+    values[0] = new double[]{1, -1, 1};
+    values[1] = new double[]{-1, 1, -1};
+    values[2] = new double[]{1, -1, 2};
+
+    Matrix A = new DenseMatrix(values);
+
+    // without pivoting
+    CholeskyDecomposition cd = new CholeskyDecomposition(A, false);
+    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
+
+    // with pivoting
+    cd = new CholeskyDecomposition(A);
+    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
+  }
+
+
+  @Test
+  public void testRankDeficient() {
+    Matrix A = rank4Matrix();
+
+    CholeskyDecomposition cd = new CholeskyDecomposition(A);
+
+    PivotedMatrix Ax = new PivotedMatrix(A, cd.getPivot());
+    CholeskyDecomposition cd2 = new CholeskyDecomposition(Ax, false);
+
+    assertEquals(0, 
cd2.getL().times(cd2.getL().transpose()).minus(Ax).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
+    assertEquals(0, 
cd.getL().times(cd.getL().transpose()).minus(A).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
+
+    Assert.assertFalse(cd.isPositiveDefinite());
+    Matrix L = cd.getL();
+    Matrix Abar = L.times(L.transpose());
+    double error = A.minus(Abar).aggregate(Functions.MAX, Functions.ABS);
+    Assert.assertEquals(0, error, 1.0e-10);
+  }
+
+  private static Matrix rank4Matrix() {
+    final Random rand = RandomUtils.getRandom();
+
+    Matrix u = new DenseMatrix(10, 4);
+    u.assign(new DoubleFunction() {
+      @Override
+      public double apply(double arg1) {
+        return rand.nextDouble();
+      }
+    });
+
+    Matrix v = new DenseMatrix(10, 4);
+    v.assign(new DoubleFunction() {
+      @Override
+      public double apply(double arg1) {
+        return rand.nextDouble();
+      }
+    });
+
+    Matrix z = u.times(v.transpose());
+    return z.times(z.transpose());
+  }
+}

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/DenseSymmetricTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/DenseSymmetricTest.java 
b/core/src/test/java/org/apache/mahout/math/DenseSymmetricTest.java
index b987f0e..189bf55 100644
--- a/core/src/test/java/org/apache/mahout/math/DenseSymmetricTest.java
+++ b/core/src/test/java/org/apache/mahout/math/DenseSymmetricTest.java
@@ -18,11 +18,9 @@
 package org.apache.mahout.math;
 
 import org.apache.mahout.math.function.Functions;
-//import org.apache.mahout.math.solver.EigenDecomposition;
+import org.apache.mahout.math.solver.EigenDecomposition;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 public class DenseSymmetricTest extends MahoutTestCase {
   @Test
   public void testBasics() {
@@ -46,22 +44,22 @@ public class DenseSymmetricTest extends MahoutTestCase {
     assertEquals(0, m.plus(m).minus(a.plus(a)).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
   }
 
-//  @Test
-//  public void testEigen() {
-//    Matrix a = new DenseSymmetricMatrix(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 
9, 10}, false);
-//    Matrix b = new DenseMatrix(a.numRows(), a.numCols());
-//    b.assign(a);
-//
-//    assertEquals(0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 
1.0e-10);
-//
-//    EigenDecomposition edA = new EigenDecomposition(a);
-//    EigenDecomposition edB = new EigenDecomposition(b);
-//
-//    System.out.println(edA.getV());
-//
-//    assertEquals(0, edA.getV().minus(edB.getV()).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
-//    assertEquals(0, 
edA.getRealEigenvalues().minus(edA.getRealEigenvalues()).aggregate(Functions.PLUS,
 Functions.ABS), 1.0e-10);
-//
-//  }
+  @Test
+  public void testEigen() {
+    Matrix a = new DenseSymmetricMatrix(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 
9, 10}, false);
+    Matrix b = new DenseMatrix(a.numRows(), a.numCols());
+    b.assign(a);
+
+    assertEquals(0, a.minus(b).aggregate(Functions.PLUS, Functions.ABS), 
1.0e-10);
+
+    EigenDecomposition edA = new EigenDecomposition(a);
+    EigenDecomposition edB = new EigenDecomposition(b);
+
+    System.out.println(edA.getV());
+
+    assertEquals(0, edA.getV().minus(edB.getV()).aggregate(Functions.PLUS, 
Functions.ABS), 1.0e-10);
+    assertEquals(0, 
edA.getRealEigenvalues().minus(edA.getRealEigenvalues()).aggregate(Functions.PLUS,
 Functions.ABS), 1.0e-10);
+
+  }
 
 }

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/DiagonalMatrixTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/DiagonalMatrixTest.java 
b/core/src/test/java/org/apache/mahout/math/DiagonalMatrixTest.java
index e3944f5..2ca7be0 100644
--- a/core/src/test/java/org/apache/mahout/math/DiagonalMatrixTest.java
+++ b/core/src/test/java/org/apache/mahout/math/DiagonalMatrixTest.java
@@ -22,7 +22,6 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.Iterator;
-import static org.junit.Assert.*;
 
 public class DiagonalMatrixTest extends MahoutTestCase {
   @Test

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/FileBasedMatrixTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/FileBasedMatrixTest.java 
b/core/src/test/java/org/apache/mahout/math/FileBasedMatrixTest.java
index aac8668..dbea80c 100644
--- a/core/src/test/java/org/apache/mahout/math/FileBasedMatrixTest.java
+++ b/core/src/test/java/org/apache/mahout/math/FileBasedMatrixTest.java
@@ -19,14 +19,13 @@ package org.apache.mahout.math;
 
 import org.apache.mahout.common.RandomUtils;
 import org.apache.mahout.math.function.Functions;
-//import org.apache.mahout.math.random.MultiNormal;
+import org.apache.mahout.math.random.MultiNormal;
 import org.junit.Assume;
 import org.junit.Test;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.Random;
-import static org.junit.Assert.*;
 
 public class FileBasedMatrixTest extends MahoutTestCase {
   // 10 million rows x 40 columns x 8 bytes = 3.2GB of data
@@ -65,26 +64,26 @@ public class FileBasedMatrixTest extends MahoutTestCase {
     return (i * 88513) % 10000;
   }
 
-//  @Test
-//  public void testSetData() throws IOException {
-//    File f = File.createTempFile("matrix", ".m", getTestTempDir());
-//    f.deleteOnExit();
-//
-//    Matrix m0 = new DenseMatrix(100000, 30);
-//    MultiNormal gen = new MultiNormal(30);
-//    for (MatrixSlice row : m0) {
-//      row.vector().assign(gen.sample());
-//    }
-//    FileBasedMatrix.writeMatrix(f, m0);
-//
-//    FileBasedMatrix m = new FileBasedMatrix(100000, 30);
-//    m.setData(f, true);
-//
-//    assertEquals(0, m0.minus(m).aggregate(Functions.MAX, Functions.ABS), 
1.0e-8);
-//
-//    int i = 0;
-//    for (MatrixSlice row : m) {
-//      assertEquals(0, row.vector().minus(m0.viewRow(i++)).norm(1), 1.0e-8);
-//    }
-//  }
+  @Test
+  public void testSetData() throws IOException {
+    File f = File.createTempFile("matrix", ".m", getTestTempDir());
+    f.deleteOnExit();
+
+    Matrix m0 = new DenseMatrix(100000, 30);
+    MultiNormal gen = new MultiNormal(30);
+    for (MatrixSlice row : m0) {
+      row.vector().assign(gen.sample());
+    }
+    FileBasedMatrix.writeMatrix(f, m0);
+
+    FileBasedMatrix m = new FileBasedMatrix(100000, 30);
+    m.setData(f, true);
+
+    assertEquals(0, m0.minus(m).aggregate(Functions.MAX, Functions.ABS), 
1.0e-8);
+
+    int i = 0;
+    for (MatrixSlice row : m) {
+      assertEquals(0, row.vector().minus(m0.viewRow(i++)).norm(1), 1.0e-8);
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/FileBasedSparseBinaryMatrixTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/FileBasedSparseBinaryMatrixTest.java
 
b/core/src/test/java/org/apache/mahout/math/FileBasedSparseBinaryMatrixTest.java
index 38e6145..67daa32 100644
--- 
a/core/src/test/java/org/apache/mahout/math/FileBasedSparseBinaryMatrixTest.java
+++ 
b/core/src/test/java/org/apache/mahout/math/FileBasedSparseBinaryMatrixTest.java
@@ -23,7 +23,6 @@ import java.util.Random;
 
 import org.apache.mahout.common.RandomUtils;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public class FileBasedSparseBinaryMatrixTest extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MahoutTestCase.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/MahoutTestCase.java 
b/core/src/test/java/org/apache/mahout/math/MahoutTestCase.java
index 366e5a9..7909b1c 100644
--- a/core/src/test/java/org/apache/mahout/math/MahoutTestCase.java
+++ b/core/src/test/java/org/apache/mahout/math/MahoutTestCase.java
@@ -20,19 +20,17 @@ package org.apache.mahout.math;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.IOException;
-//
+
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakAction;
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope;
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakZombies;
 import com.carrotsearch.randomizedtesting.annotations.TimeoutSuite;
 import org.apache.lucene.util.TimeUnits;
-import junit.framework.TestCase;
 import org.apache.mahout.common.RandomUtils;
 import org.junit.After;
 import org.junit.Before;
 
-import static org.junit.Assert.*;
 import com.carrotsearch.randomizedtesting.RandomizedTest;
 
 /**
@@ -47,7 +45,7 @@ public abstract class MahoutTestCase extends RandomizedTest {
 
   /** "Close enough" value for floating-point comparisons. */
   public static final double EPSILON = 0.000001;
-
+  
   private File testTempDir;
 
   @Before

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MatricesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/MatricesTest.java 
b/core/src/test/java/org/apache/mahout/math/MatricesTest.java
index 2ef3306..9405429 100644
--- a/core/src/test/java/org/apache/mahout/math/MatricesTest.java
+++ b/core/src/test/java/org/apache/mahout/math/MatricesTest.java
@@ -20,7 +20,6 @@ package org.apache.mahout.math;
 import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.function.IntIntFunction;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public class MatricesTest extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MatrixTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/MatrixTest.java 
b/core/src/test/java/org/apache/mahout/math/MatrixTest.java
index 0de55dd..fe8ace2 100644
--- a/core/src/test/java/org/apache/mahout/math/MatrixTest.java
+++ b/core/src/test/java/org/apache/mahout/math/MatrixTest.java
@@ -28,8 +28,6 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Random;
 
-import static org.junit.Assert.*;
-
 public abstract class MatrixTest extends MahoutTestCase {
 
   protected static final int ROW = AbstractMatrix.ROW;

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MatrixVectorViewTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/MatrixVectorViewTest.java 
b/core/src/test/java/org/apache/mahout/math/MatrixVectorViewTest.java
index 573eeaf..400df8d 100644
--- a/core/src/test/java/org/apache/mahout/math/MatrixVectorViewTest.java
+++ b/core/src/test/java/org/apache/mahout/math/MatrixVectorViewTest.java
@@ -19,7 +19,6 @@ package org.apache.mahout.math;
 
 import org.apache.mahout.math.function.Functions;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public class MatrixVectorViewTest extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MurmurHash3Test.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/MurmurHash3Test.java 
b/core/src/test/java/org/apache/mahout/math/MurmurHash3Test.java
index ca9eba3..ba9f9c4 100644
--- a/core/src/test/java/org/apache/mahout/math/MurmurHash3Test.java
+++ b/core/src/test/java/org/apache/mahout/math/MurmurHash3Test.java
@@ -12,7 +12,6 @@
 package org.apache.mahout.math;
 
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public final class MurmurHash3Test extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/MurmurHashTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/MurmurHashTest.java 
b/core/src/test/java/org/apache/mahout/math/MurmurHashTest.java
index 4e561e6..e758f8a 100644
--- a/core/src/test/java/org/apache/mahout/math/MurmurHashTest.java
+++ b/core/src/test/java/org/apache/mahout/math/MurmurHashTest.java
@@ -23,7 +23,7 @@ import org.junit.Test;
 
 import java.io.UnsupportedEncodingException;
 
-public class MurmurHashTest extends MahoutTestCase {
+public class MurmurHashTest extends org.apache.mahout.math.MahoutTestCase {
 
   @Test
   public void testForLotsOfChange64() throws UnsupportedEncodingException {

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/OldQRDecompositionTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/OldQRDecompositionTest.java 
b/core/src/test/java/org/apache/mahout/math/OldQRDecompositionTest.java
index b9372e1..95c1f31 100644
--- a/core/src/test/java/org/apache/mahout/math/OldQRDecompositionTest.java
+++ b/core/src/test/java/org/apache/mahout/math/OldQRDecompositionTest.java
@@ -1,187 +1,187 @@
-///*
-// * 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.math;
-//
-//import org.apache.mahout.math.function.DoubleDoubleFunction;
-//import org.apache.mahout.math.function.Functions;
-//import org.junit.Test;
-//
-//public final class OldQRDecompositionTest extends MahoutTestCase {
-//  @Test
-//  public void rank1() {
-//    Matrix x = new DenseMatrix(3, 3);
-//    x.viewRow(0).assign(new double[]{1, 2, 3});
-//    x.viewRow(1).assign(new double[]{2, 4, 6});
-//    x.viewRow(2).assign(new double[]{3, 6, 9});
-//
-//    OldQRDecomposition qr = new OldQRDecomposition(x);
-//    assertFalse(qr.hasFullRank());
-//    assertEquals(0, new DenseVector(new double[]{3.741657, 7.483315, 
11.22497}).aggregate(qr.getR().viewRow(0), Functions.PLUS, new 
DoubleDoubleFunction() {
-//      @Override
-//      public double apply(double arg1, double arg2) {
-//        return Math.abs(arg1) - Math.abs(arg2);
-//      }
-//    }), 1.0e-5);
-//  }
-//
-//  @Test
-//  public void fullRankTall() {
-//    Matrix x = matrix();
-//    OldQRDecomposition qr = new OldQRDecomposition(x);
-//    assertTrue(qr.hasFullRank());
-//    Matrix rRef = reshape(new double[]{
-//            -2.99129686445138, 0, 0, 0, 0,
-//            -0.0282260628674372, -2.38850244769059, 0, 0, 0,
-//            0.733739310355871, 1.48042000631646, 2.29051263117895, 0, 0,
-//            -0.0394082168269326, 0.282829484207801, -0.00438521041803086, 
-2.90823198084203, 0,
-//            0.923669647838536, 1.76679276072492, 0.637690104222683, 
-0.225890909498753, -1.35732293800944},
-//            5, 5);
-//    Matrix r = qr.getR();
-//    assertEquals(rRef, r, 1.0e-8);
-//
-//    Matrix qRef = reshape(new double[]{
-//            -0.165178287646573, 0.0510035857637869, 0.13985915987379, 
-0.120173729496501,
-//            -0.453198314345324, 0.644400679630493, -0.503117990820608, 
0.24968739845381,
-//            0.323968339146224, -0.465266080134262, 0.276508948773268, 
-0.687909700644343,
-//            0.0544048888907195, -0.0166677718378263, 0.171309755790717, 
0.310339001630029,
-//            0.674790532821663, 0.0058166082200493, -0.381707516461884, 
0.300504956413142,
-//            -0.105751091334003, 0.410450870871096, 0.31113446615821, 
0.179338172684956,
-//            0.361951807617901, 0.763921725548796, 0.380327892605634, 
-0.287274944594054,
-//            0.0311604042556675, 0.0386096858143961, 0.0387156960650472, 
-0.232975755728917,
-//            0.0358178276684149, 0.173105775703199, 0.327321867815603, 
0.328671945345279,
-//            -0.36015879836344, -0.444261660176044, 0.09438499563253, 
0.646216148583769
-//    }, 8, 5);
-//
-//    printMatrix("qRef", qRef);
-//
-//    Matrix q = qr.getQ();
-//    printMatrix("q", q);
-//
-//    assertEquals(qRef, q, 1.0e-8);
-//
-//    Matrix x1 = qr.solve(reshape(new double[]{
-//            -0.0178247686747641, 0.68631714634098, -0.335464858468858, 
1.50249941751569,
-//            -0.669901640772149, -0.977025038942455, -1.18857546169856, 
-1.24792900492054
-//    }, 8, 1));
-//    Matrix xref = reshape(new double[]{
-//            -0.0127440093664874, 0.655825940180799, -0.100755415991702, 
-0.0349559562697406,
-//            -0.190744297762028
-//    }, 5, 1);
-//
-//    printMatrix("x1", x1);
-//    printMatrix("xref", xref);
-//
-//    assertEquals(xref, x1, 1.0e-8);
-//  }
-//
-//  @Test
-//  public void fullRankWide() {
-//    Matrix x = matrix().transpose();
-//    OldQRDecomposition qr = new OldQRDecomposition(x);
-//    assertFalse(qr.hasFullRank());
-//    Matrix rActual = qr.getR();
-//
-//    Matrix rRef = reshape(new double[]{
-//            -2.42812464965842, 0, 0, 0, 0,
-//            0.303587286111356, -2.91663643494775, 0, 0, 0,
-//            -0.201812474153156, -0.765485720168378, 1.09989373598954, 0, 0,
-//            1.47980701097885, -0.637545820524326, -1.55519859337935, 
0.844655127991726, 0,
-//            0.0248883129453161, 0.00115010570270549, -0.236340588891252, 
-0.092924118200147, 1.42910099545547,
-//            -1.1678472412429, 0.531245845248056, 0.351978196071514, 
-1.03241474816555, -2.20223861735426,
-//            -0.887809959067632, 0.189731251982918, -0.504321849233586, 
0.490484123999836, 1.21266692336743,
-//            -0.633888169775463, 1.04738559065986, 0.284041239547031, 
0.578183510077156, -0.942314870832456
-//    }, 5, 8);
-//    printMatrix("rRef", rRef);
-//    printMatrix("rActual", rActual);
-//    assertEquals(rRef, rActual, 1.0e-8);
-//
-//    Matrix qRef = reshape(new double[]{
-//            -0.203489262374627, 0.316761677948356, -0.784155643293468, 
0.394321494579, -0.29641971170211,
-//            0.0311283614803723, -0.34755265020736, 0.137138511478328, 
0.848579887681972, 0.373287266507375,
-//            -0.39603700561249, -0.787812566647329, -0.377864833067864, 
-0.275080943427399, 0.0636764674878229,
-//            0.0763976893309043, -0.318551137554327, 0.286407036668598, 
0.206004127289883, -0.876482672226889,
-//            0.89159476695423, -0.238213616975551, -0.376141107880836, 
-0.0794701657055114, 0.0227025098210165
-//    }, 5, 5);
-//
-//    Matrix q = qr.getQ();
-//
-//    printMatrix("qRef", qRef);
-//    printMatrix("q", q);
-//
-//    assertEquals(qRef, q, 1.0e-8);
-//
-//    Matrix x1 = qr.solve(b());
-//    Matrix xRef = reshape(new double[]{
-//            -0.182580239668147, -0.437233627652114, 0.138787653097464, 
0.672934739896228, -0.131420217069083, 0, 0, 0
-//    }, 8, 1);
-//
-//    printMatrix("xRef", xRef);
-//    printMatrix("x", x1);
-//    assertEquals(xRef, x1, 1.0e-8);
-//  }
-//
-//  private static void assertEquals(Matrix ref, Matrix actual, double 
epsilon) {
-//    assertEquals(0, ref.minus(actual).aggregate(Functions.MAX, 
Functions.ABS), epsilon);
-//  }
-//
-//  private static void printMatrix(String name, Matrix m) {
-//    int rows = m.numRows();
-//    int columns = m.numCols();
-//    System.out.printf("%s - %d x %d\n", name, rows, columns);
-//    for (int i = 0; i < rows; i++) {
-//      for (int j = 0; j < columns; j++) {
-//        System.out.printf("%10.5f", m.get(i, j));
-//      }
-//      System.out.printf("\n");
-//    }
-//    System.out.printf("\n");
-//    System.out.printf("\n");
-//  }
-//
-//  private static Matrix matrix() {
-//    double[] values = {
-//            0.494097293912641, -0.152566866170993, -0.418360266395271, 
0.359475300232312,
-//            1.35565069667582, -1.92759373242903, 1.50497526839076, 
-0.746889132087904,
-//            -0.769136838293565, 1.10984954080986, -0.664389974392489, 
1.6464660350229,
-//            -0.11715420616969, 0.0216221197371269, -0.394972730980765, 
-0.748293157213142,
-//            1.90402764664962, -0.638042862848559, -0.362336344669668, 
-0.418261074380526,
-//            -0.494211543128429, 1.38828971158414, 0.597110366867923, 
1.05341387608687,
-//            -0.957461740877418, -2.35528802598249, -1.03171458944128, 
0.644319090271635,
-//            -0.0569108993041965, -0.14419465550881, -0.0456801828174936,
-//            0.754694392571835, 0.719744008628535, -1.17873249802301, 
-0.155887528905918,
-//            -1.5159868405466, 0.0918931582603128, 1.42179027361583, 
-0.100495054250176,
-//            0.0687986548485584
-//    };
-//    return reshape(values, 8, 5);
-//  }
-//
-//  private static Matrix reshape(double[] values, int rows, int columns) {
-//    Matrix m = new DenseMatrix(rows, columns);
-//    int i = 0;
-//    for (double v : values) {
-//      m.set(i % rows, i / rows, v);
-//      i++;
-//    }
-//    return m;
-//  }
-//
-//  private static Matrix b() {
-//    return reshape(new double[]
-//        {-0.0178247686747641, 0.68631714634098, -0.335464858468858, 
1.50249941751569, -0.669901640772149}, 5, 1);
-//  }
-//}
+/*
+ * 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.math;
+
+import org.apache.mahout.math.function.DoubleDoubleFunction;
+import org.apache.mahout.math.function.Functions;
+import org.junit.Test;
+
+public final class OldQRDecompositionTest extends MahoutTestCase {
+  @Test
+  public void rank1() {
+    Matrix x = new DenseMatrix(3, 3);
+    x.viewRow(0).assign(new double[]{1, 2, 3});
+    x.viewRow(1).assign(new double[]{2, 4, 6});
+    x.viewRow(2).assign(new double[]{3, 6, 9});
+
+    OldQRDecomposition qr = new OldQRDecomposition(x);
+    assertFalse(qr.hasFullRank());
+    assertEquals(0, new DenseVector(new double[]{3.741657, 7.483315, 
11.22497}).aggregate(qr.getR().viewRow(0), Functions.PLUS, new 
DoubleDoubleFunction() {
+      @Override
+      public double apply(double arg1, double arg2) {
+        return Math.abs(arg1) - Math.abs(arg2);
+      }
+    }), 1.0e-5);
+  }
+
+  @Test
+  public void fullRankTall() {
+    Matrix x = matrix();
+    OldQRDecomposition qr = new OldQRDecomposition(x);
+    assertTrue(qr.hasFullRank());
+    Matrix rRef = reshape(new double[]{
+            -2.99129686445138, 0, 0, 0, 0,
+            -0.0282260628674372, -2.38850244769059, 0, 0, 0,
+            0.733739310355871, 1.48042000631646, 2.29051263117895, 0, 0,
+            -0.0394082168269326, 0.282829484207801, -0.00438521041803086, 
-2.90823198084203, 0,
+            0.923669647838536, 1.76679276072492, 0.637690104222683, 
-0.225890909498753, -1.35732293800944},
+            5, 5);
+    Matrix r = qr.getR();
+    assertEquals(rRef, r, 1.0e-8);
+
+    Matrix qRef = reshape(new double[]{
+            -0.165178287646573, 0.0510035857637869, 0.13985915987379, 
-0.120173729496501,
+            -0.453198314345324, 0.644400679630493, -0.503117990820608, 
0.24968739845381,
+            0.323968339146224, -0.465266080134262, 0.276508948773268, 
-0.687909700644343,
+            0.0544048888907195, -0.0166677718378263, 0.171309755790717, 
0.310339001630029,
+            0.674790532821663, 0.0058166082200493, -0.381707516461884, 
0.300504956413142,
+            -0.105751091334003, 0.410450870871096, 0.31113446615821, 
0.179338172684956,
+            0.361951807617901, 0.763921725548796, 0.380327892605634, 
-0.287274944594054,
+            0.0311604042556675, 0.0386096858143961, 0.0387156960650472, 
-0.232975755728917,
+            0.0358178276684149, 0.173105775703199, 0.327321867815603, 
0.328671945345279,
+            -0.36015879836344, -0.444261660176044, 0.09438499563253, 
0.646216148583769
+    }, 8, 5);
+
+    printMatrix("qRef", qRef);
+
+    Matrix q = qr.getQ();
+    printMatrix("q", q);
+
+    assertEquals(qRef, q, 1.0e-8);
+
+    Matrix x1 = qr.solve(reshape(new double[]{
+            -0.0178247686747641, 0.68631714634098, -0.335464858468858, 
1.50249941751569,
+            -0.669901640772149, -0.977025038942455, -1.18857546169856, 
-1.24792900492054
+    }, 8, 1));
+    Matrix xref = reshape(new double[]{
+            -0.0127440093664874, 0.655825940180799, -0.100755415991702, 
-0.0349559562697406,
+            -0.190744297762028
+    }, 5, 1);
+
+    printMatrix("x1", x1);
+    printMatrix("xref", xref);
+
+    assertEquals(xref, x1, 1.0e-8);
+  }
+
+  @Test
+  public void fullRankWide() {
+    Matrix x = matrix().transpose();
+    OldQRDecomposition qr = new OldQRDecomposition(x);
+    assertFalse(qr.hasFullRank());
+    Matrix rActual = qr.getR();
+
+    Matrix rRef = reshape(new double[]{
+            -2.42812464965842, 0, 0, 0, 0,
+            0.303587286111356, -2.91663643494775, 0, 0, 0,
+            -0.201812474153156, -0.765485720168378, 1.09989373598954, 0, 0,
+            1.47980701097885, -0.637545820524326, -1.55519859337935, 
0.844655127991726, 0,
+            0.0248883129453161, 0.00115010570270549, -0.236340588891252, 
-0.092924118200147, 1.42910099545547,
+            -1.1678472412429, 0.531245845248056, 0.351978196071514, 
-1.03241474816555, -2.20223861735426,
+            -0.887809959067632, 0.189731251982918, -0.504321849233586, 
0.490484123999836, 1.21266692336743,
+            -0.633888169775463, 1.04738559065986, 0.284041239547031, 
0.578183510077156, -0.942314870832456
+    }, 5, 8);
+    printMatrix("rRef", rRef);
+    printMatrix("rActual", rActual);
+    assertEquals(rRef, rActual, 1.0e-8);
+
+    Matrix qRef = reshape(new double[]{
+            -0.203489262374627, 0.316761677948356, -0.784155643293468, 
0.394321494579, -0.29641971170211,
+            0.0311283614803723, -0.34755265020736, 0.137138511478328, 
0.848579887681972, 0.373287266507375,
+            -0.39603700561249, -0.787812566647329, -0.377864833067864, 
-0.275080943427399, 0.0636764674878229,
+            0.0763976893309043, -0.318551137554327, 0.286407036668598, 
0.206004127289883, -0.876482672226889,
+            0.89159476695423, -0.238213616975551, -0.376141107880836, 
-0.0794701657055114, 0.0227025098210165
+    }, 5, 5);
+
+    Matrix q = qr.getQ();
+
+    printMatrix("qRef", qRef);
+    printMatrix("q", q);
+
+    assertEquals(qRef, q, 1.0e-8);
+
+    Matrix x1 = qr.solve(b());
+    Matrix xRef = reshape(new double[]{
+            -0.182580239668147, -0.437233627652114, 0.138787653097464, 
0.672934739896228, -0.131420217069083, 0, 0, 0
+    }, 8, 1);
+
+    printMatrix("xRef", xRef);
+    printMatrix("x", x1);
+    assertEquals(xRef, x1, 1.0e-8);
+  }
+
+  private static void assertEquals(Matrix ref, Matrix actual, double epsilon) {
+    assertEquals(0, ref.minus(actual).aggregate(Functions.MAX, Functions.ABS), 
epsilon);
+  }
+
+  private static void printMatrix(String name, Matrix m) {
+    int rows = m.numRows();
+    int columns = m.numCols();
+    System.out.printf("%s - %d x %d\n", name, rows, columns);
+    for (int i = 0; i < rows; i++) {
+      for (int j = 0; j < columns; j++) {
+        System.out.printf("%10.5f", m.get(i, j));
+      }
+      System.out.printf("\n");
+    }
+    System.out.printf("\n");
+    System.out.printf("\n");
+  }
+
+  private static Matrix matrix() {
+    double[] values = {
+            0.494097293912641, -0.152566866170993, -0.418360266395271, 
0.359475300232312,
+            1.35565069667582, -1.92759373242903, 1.50497526839076, 
-0.746889132087904,
+            -0.769136838293565, 1.10984954080986, -0.664389974392489, 
1.6464660350229,
+            -0.11715420616969, 0.0216221197371269, -0.394972730980765, 
-0.748293157213142,
+            1.90402764664962, -0.638042862848559, -0.362336344669668, 
-0.418261074380526,
+            -0.494211543128429, 1.38828971158414, 0.597110366867923, 
1.05341387608687,
+            -0.957461740877418, -2.35528802598249, -1.03171458944128, 
0.644319090271635,
+            -0.0569108993041965, -0.14419465550881, -0.0456801828174936,
+            0.754694392571835, 0.719744008628535, -1.17873249802301, 
-0.155887528905918,
+            -1.5159868405466, 0.0918931582603128, 1.42179027361583, 
-0.100495054250176,
+            0.0687986548485584
+    };
+    return reshape(values, 8, 5);
+  }
+
+  private static Matrix reshape(double[] values, int rows, int columns) {
+    Matrix m = new DenseMatrix(rows, columns);
+    int i = 0;
+    for (double v : values) {
+      m.set(i % rows, i / rows, v);
+      i++;
+    }
+    return m;
+  }
+
+  private static Matrix b() {
+    return reshape(new double[]
+        {-0.0178247686747641, 0.68631714634098, -0.335464858468858, 
1.50249941751569, -0.669901640772149}, 5, 1);
+  }
+}

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java 
b/core/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java
index b8cc4f6..79754ee 100644
--- a/core/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java
+++ b/core/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java
@@ -24,8 +24,6 @@ import org.junit.Test;
 import java.util.Iterator;
 import java.util.Random;
 
-import static org.junit.Assert.*;
-
 public class PermutedVectorViewTest extends MahoutTestCase {
   @Test
   public void testViewBasics() {

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java 
b/core/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java
index 9bbf09d..16cb3e7 100644
--- a/core/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java
+++ b/core/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java
@@ -18,7 +18,6 @@
 package org.apache.mahout.math;
 
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public class PivotedMatrixTest extends MatrixTest {
   @Override

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestDenseVector.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/TestDenseVector.java 
b/core/src/test/java/org/apache/mahout/math/TestDenseVector.java
index fbc053c..dfbfeab 100644
--- a/core/src/test/java/org/apache/mahout/math/TestDenseVector.java
+++ b/core/src/test/java/org/apache/mahout/math/TestDenseVector.java
@@ -19,7 +19,6 @@ package org.apache.mahout.math;
 
 import org.apache.mahout.math.function.Functions;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public final class TestDenseVector extends AbstractVectorTest<DenseVector> {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestMatrixView.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/TestMatrixView.java 
b/core/src/test/java/org/apache/mahout/math/TestMatrixView.java
index d401074..074df22 100644
--- a/core/src/test/java/org/apache/mahout/math/TestMatrixView.java
+++ b/core/src/test/java/org/apache/mahout/math/TestMatrixView.java
@@ -23,7 +23,6 @@ import org.junit.Before;
 import org.junit.Test;
 
 import java.util.Map;
-import static org.junit.Assert.*;
 
 public final class TestMatrixView extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestOrderedIntDoubleMapping.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/TestOrderedIntDoubleMapping.java 
b/core/src/test/java/org/apache/mahout/math/TestOrderedIntDoubleMapping.java
index 26ceb1c..f78d604 100644
--- a/core/src/test/java/org/apache/mahout/math/TestOrderedIntDoubleMapping.java
+++ b/core/src/test/java/org/apache/mahout/math/TestOrderedIntDoubleMapping.java
@@ -18,7 +18,6 @@
 package org.apache.mahout.math;
 
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public final class TestOrderedIntDoubleMapping extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java 
b/core/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
index e7f30c2..ecc005d 100644
--- 
a/core/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
+++ 
b/core/src/test/java/org/apache/mahout/math/TestRandomAccessSparseVector.java
@@ -22,7 +22,6 @@ import org.apache.mahout.common.RandomUtils;
 import org.junit.Test;
 
 import java.util.Random;
-import static org.junit.Assert.*;
 
 public final class TestRandomAccessSparseVector extends 
AbstractVectorTest<RandomAccessSparseVector> {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
 
b/core/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
index e44f615..a36ed34 100644
--- 
a/core/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
+++ 
b/core/src/test/java/org/apache/mahout/math/TestSequentialAccessSparseVector.java
@@ -21,7 +21,6 @@ import org.apache.mahout.common.RandomUtils;
 import org.junit.Test;
 
 import java.util.Random;
-import static org.junit.Assert.*;
 
 public final class TestSequentialAccessSparseVector extends 
AbstractVectorTest<SequentialAccessSparseVector> {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestSparseMatrix.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/TestSparseMatrix.java 
b/core/src/test/java/org/apache/mahout/math/TestSparseMatrix.java
index 34d76e9..2ebed3f 100644
--- a/core/src/test/java/org/apache/mahout/math/TestSparseMatrix.java
+++ b/core/src/test/java/org/apache/mahout/math/TestSparseMatrix.java
@@ -21,7 +21,6 @@ import java.util.Iterator;
 
 import org.apache.mahout.math.function.Functions;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public final class TestSparseMatrix extends MatrixTest {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java 
b/core/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java
index ac107d5..457af31 100644
--- a/core/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java
+++ b/core/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java
@@ -24,7 +24,6 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.Random;
-import static org.junit.Assert.*;
 
 public final class TestSparseRowMatrix extends MatrixTest {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/TestVectorView.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/TestVectorView.java 
b/core/src/test/java/org/apache/mahout/math/TestVectorView.java
index f1d58ff..31ca822 100644
--- a/core/src/test/java/org/apache/mahout/math/TestVectorView.java
+++ b/core/src/test/java/org/apache/mahout/math/TestVectorView.java
@@ -22,7 +22,6 @@ import java.util.Iterator;
 import org.apache.mahout.math.function.Functions;
 import org.apache.mahout.math.function.TimesFunction;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public final class TestVectorView extends MahoutTestCase {
 

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/UpperTriangularTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mahout/math/UpperTriangularTest.java 
b/core/src/test/java/org/apache/mahout/math/UpperTriangularTest.java
index 599a433..6cc4644 100644
--- a/core/src/test/java/org/apache/mahout/math/UpperTriangularTest.java
+++ b/core/src/test/java/org/apache/mahout/math/UpperTriangularTest.java
@@ -19,7 +19,6 @@ package org.apache.mahout.math;
 
 import org.apache.mahout.math.function.Functions;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 public class UpperTriangularTest extends MahoutTestCase {
   @Test

http://git-wip-us.apache.org/repos/asf/mahout/blob/49ad8cb4/core/src/test/java/org/apache/mahout/math/VectorBinaryAggregateCostTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/mahout/math/VectorBinaryAggregateCostTest.java 
b/core/src/test/java/org/apache/mahout/math/VectorBinaryAggregateCostTest.java
index d92ff10..623476d 100644
--- 
a/core/src/test/java/org/apache/mahout/math/VectorBinaryAggregateCostTest.java
+++ 
b/core/src/test/java/org/apache/mahout/math/VectorBinaryAggregateCostTest.java
@@ -1,330 +1,330 @@
-//
-///*
-// * 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.math;
-//
-//import org.apache.mahout.math.function.Functions;
-//import org.easymock.EasyMock;
-//import org.junit.Before;
-//import org.junit.Test;
-//import org.junit.runner.RunWith;
-//import org.junit.runners.JUnit4;
-//
-//import static org.easymock.EasyMock.expect;
-//import static org.easymock.EasyMock.replay;
-//import static org.junit.Assert.assertEquals;
-//
-//@RunWith(JUnit4.class)
-//public final class VectorBinaryAggregateCostTest {
-//  RandomAccessSparseVector realRasv = new RandomAccessSparseVector(1000000);
-//  SequentialAccessSparseVector realSasv = new 
SequentialAccessSparseVector(1000000);
-//  DenseVector realDense = new DenseVector(1000000);
-//
-//  Vector rasv = EasyMock.createMock(Vector.class);
-//  Vector sasv = EasyMock.createMock(Vector.class);
-//  Vector dense = EasyMock.createMock(Vector.class);
-//
-//  private static void createStubs(Vector v, Vector realV) {
-//    expect(v.getLookupCost())
-//        .andStubReturn(realV instanceof SequentialAccessSparseVector
-//            ? Math.round(Math.log(1000)) : realV.getLookupCost());
-//    expect(v.getIteratorAdvanceCost())
-//        .andStubReturn(realV.getIteratorAdvanceCost());
-//    expect(v.isAddConstantTime())
-//        .andStubReturn(realV.isAddConstantTime());
-//    expect(v.isSequentialAccess())
-//        .andStubReturn(realV.isSequentialAccess());
-//    expect(v.isDense())
-//        .andStubReturn(realV.isDense());
-//    expect(v.getNumNondefaultElements())
-//        .andStubReturn(realV.isDense() ? realV.size() : 1000);
-//    expect(v.size())
-//        .andStubReturn(realV.size());
-//  }
-//
-//  @Before
-//  public void setUpStubs() {
-//    createStubs(dense, realDense);
-//    createStubs(sasv, realSasv);
-//    createStubs(rasv, realRasv);
-//  }
-//
-//  @Test
-//  public void denseInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void sasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    assertEquals(VectorBinaryAggregate.AggregateIterateIntersection.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateIntersection.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void rasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void sasvDenseInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void denseSasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void denseRasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void rasvDenseInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void sasvRasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
-//        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//  @Test
-//  public void rasvSasvInteractions() {
-//    replayAll();
-//
-//    // Dot product
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MULT).getClass());
-//
-//    // Chebyshev distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, 
Functions.MAX_ABS, Functions.MINUS).getClass());
-//
-//    // Euclidean distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
-//
-//    // Manhattan distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
-//
-//    // Minkowski distance
-//    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
-//
-//    // Tanimoto distance
-//    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
-//        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
-//  }
-//
-//
-//  private void replayAll() {
-//    replay(dense, sasv, rasv);
-//  }
-//}
+
+/*
+ * 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.math;
+
+import org.apache.mahout.math.function.Functions;
+import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.junit.Assert.assertEquals;
+
+@RunWith(JUnit4.class)
+public final class VectorBinaryAggregateCostTest {
+  RandomAccessSparseVector realRasv = new RandomAccessSparseVector(1000000);
+  SequentialAccessSparseVector realSasv = new 
SequentialAccessSparseVector(1000000);
+  DenseVector realDense = new DenseVector(1000000);
+
+  Vector rasv = EasyMock.createMock(Vector.class);
+  Vector sasv = EasyMock.createMock(Vector.class);
+  Vector dense = EasyMock.createMock(Vector.class);
+
+  private static void createStubs(Vector v, Vector realV) {
+    expect(v.getLookupCost())
+        .andStubReturn(realV instanceof SequentialAccessSparseVector
+            ? Math.round(Math.log(1000)) : realV.getLookupCost());
+    expect(v.getIteratorAdvanceCost())
+        .andStubReturn(realV.getIteratorAdvanceCost());
+    expect(v.isAddConstantTime())
+        .andStubReturn(realV.isAddConstantTime());
+    expect(v.isSequentialAccess())
+        .andStubReturn(realV.isSequentialAccess());
+    expect(v.isDense())
+        .andStubReturn(realV.isDense());
+    expect(v.getNumNondefaultElements())
+        .andStubReturn(realV.isDense() ? realV.size() : 1000);
+    expect(v.size())
+        .andStubReturn(realV.size());
+  }
+
+  @Before
+  public void setUpStubs() {
+    createStubs(dense, realDense);
+    createStubs(sasv, realSasv);
+    createStubs(rasv, realRasv);
+  }
+
+  @Test
+  public void denseInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, 
Functions.MAX_ABS, Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(dense, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void sasvInteractions() {
+    replayAll();
+
+    // Dot product
+    assertEquals(VectorBinaryAggregate.AggregateIterateIntersection.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateIntersection.class,
+        VectorBinaryAggregate.getBestOperation(sasv, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void rasvInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(rasv, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void sasvDenseInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(sasv, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void denseSasvInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionSequential.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(dense, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void denseRasvInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(dense, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void rasvDenseInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(rasv, dense, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void sasvRasvInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThisLookupThat.class,
+        VectorBinaryAggregate.getBestOperation(sasv, rasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+  @Test
+  public void rasvSasvInteractions() {
+    replayAll();
+
+    // Dot product
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MULT).getClass());
+
+    // Chebyshev distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.MAX_ABS, 
Functions.MINUS).getClass());
+
+    // Euclidean distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MINUS_SQUARED).getClass());
+
+    // Manhattan distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MINUS_ABS).getClass());
+
+    // Minkowski distance
+    assertEquals(VectorBinaryAggregate.AggregateIterateUnionRandom.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.minusAbsPow(1.2)).getClass());
+
+    // Tanimoto distance
+    
assertEquals(VectorBinaryAggregate.AggregateNonzerosIterateThatLookupThis.class,
+        VectorBinaryAggregate.getBestOperation(rasv, sasv, Functions.PLUS, 
Functions.MULT_SQUARE_LEFT).getClass());
+  }
+
+
+  private void replayAll() {
+    replay(dense, sasv, rasv);
+  }
+}

Reply via email to