Skip to content

Commit 871764c

Browse files
holdenkrxin
authored andcommitted
[SPARK-10013] [ML] [JAVA] [TEST] remove java assert from java unit tests
From Jira: We should use assertTrue, etc. instead to make sure the asserts are not ignored in tests. Author: Holden Karau <holden@pigscanfly.ca> Closes #8607 from holdenk/SPARK-10013-remove-java-assert-from-java-unit-tests.
1 parent bca8c07 commit 871764c

4 files changed

Lines changed: 54 additions & 52 deletions

File tree

mllib/src/test/java/org/apache/spark/ml/classification/JavaLogisticRegressionSuite.java

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323

2424
import org.junit.After;
25+
import org.junit.Assert;
2526
import org.junit.Before;
2627
import org.junit.Test;
2728

@@ -63,16 +64,16 @@ public void tearDown() {
6364
@Test
6465
public void logisticRegressionDefaultParams() {
6566
LogisticRegression lr = new LogisticRegression();
66-
assert(lr.getLabelCol().equals("label"));
67+
Assert.assertEquals(lr.getLabelCol(), "label");
6768
LogisticRegressionModel model = lr.fit(dataset);
6869
model.transform(dataset).registerTempTable("prediction");
6970
DataFrame predictions = jsql.sql("SELECT label, probability, prediction FROM prediction");
7071
predictions.collectAsList();
7172
// Check defaults
72-
assert(model.getThreshold() == 0.5);
73-
assert(model.getFeaturesCol().equals("features"));
74-
assert(model.getPredictionCol().equals("prediction"));
75-
assert(model.getProbabilityCol().equals("probability"));
73+
Assert.assertEquals(0.5, model.getThreshold(), eps);
74+
Assert.assertEquals("features", model.getFeaturesCol());
75+
Assert.assertEquals("prediction", model.getPredictionCol());
76+
Assert.assertEquals("probability", model.getProbabilityCol());
7677
}
7778

7879
@Test
@@ -85,19 +86,19 @@ public void logisticRegressionWithSetters() {
8586
.setProbabilityCol("myProbability");
8687
LogisticRegressionModel model = lr.fit(dataset);
8788
LogisticRegression parent = (LogisticRegression) model.parent();
88-
assert(parent.getMaxIter() == 10);
89-
assert(parent.getRegParam() == 1.0);
90-
assert(parent.getThresholds()[0] == 0.4);
91-
assert(parent.getThresholds()[1] == 0.6);
92-
assert(parent.getThreshold() == 0.6);
93-
assert(model.getThreshold() == 0.6);
89+
Assert.assertEquals(10, parent.getMaxIter());
90+
Assert.assertEquals(1.0, parent.getRegParam(), eps);
91+
Assert.assertEquals(0.4, parent.getThresholds()[0], eps);
92+
Assert.assertEquals(0.6, parent.getThresholds()[1], eps);
93+
Assert.assertEquals(0.6, parent.getThreshold(), eps);
94+
Assert.assertEquals(0.6, model.getThreshold(), eps);
9495

9596
// Modify model params, and check that the params worked.
9697
model.setThreshold(1.0);
9798
model.transform(dataset).registerTempTable("predAllZero");
9899
DataFrame predAllZero = jsql.sql("SELECT prediction, myProbability FROM predAllZero");
99100
for (Row r: predAllZero.collectAsList()) {
100-
assert(r.getDouble(0) == 0.0);
101+
Assert.assertEquals(0.0, r.getDouble(0), eps);
101102
}
102103
// Call transform with params, and check that the params worked.
103104
model.transform(dataset, model.threshold().w(0.0), model.probabilityCol().w("myProb"))
@@ -107,36 +108,36 @@ public void logisticRegressionWithSetters() {
107108
for (Row r: predNotAllZero.collectAsList()) {
108109
if (r.getDouble(0) != 0.0) foundNonZero = true;
109110
}
110-
assert(foundNonZero);
111+
Assert.assertTrue(foundNonZero);
111112

112113
// Call fit() with new params, and check as many params as we can.
113114
LogisticRegressionModel model2 = lr.fit(dataset, lr.maxIter().w(5), lr.regParam().w(0.1),
114115
lr.threshold().w(0.4), lr.probabilityCol().w("theProb"));
115116
LogisticRegression parent2 = (LogisticRegression) model2.parent();
116-
assert(parent2.getMaxIter() == 5);
117-
assert(parent2.getRegParam() == 0.1);
118-
assert(parent2.getThreshold() == 0.4);
119-
assert(model2.getThreshold() == 0.4);
120-
assert(model2.getProbabilityCol().equals("theProb"));
117+
Assert.assertEquals(5, parent2.getMaxIter());
118+
Assert.assertEquals(0.1, parent2.getRegParam(), eps);
119+
Assert.assertEquals(0.4, parent2.getThreshold(), eps);
120+
Assert.assertEquals(0.4, model2.getThreshold(), eps);
121+
Assert.assertEquals("theProb", model2.getProbabilityCol());
121122
}
122123

123124
@SuppressWarnings("unchecked")
124125
@Test
125126
public void logisticRegressionPredictorClassifierMethods() {
126127
LogisticRegression lr = new LogisticRegression();
127128
LogisticRegressionModel model = lr.fit(dataset);
128-
assert(model.numClasses() == 2);
129+
Assert.assertEquals(2, model.numClasses());
129130

130131
model.transform(dataset).registerTempTable("transformed");
131132
DataFrame trans1 = jsql.sql("SELECT rawPrediction, probability FROM transformed");
132133
for (Row row: trans1.collect()) {
133134
Vector raw = (Vector)row.get(0);
134135
Vector prob = (Vector)row.get(1);
135-
assert(raw.size() == 2);
136-
assert(prob.size() == 2);
136+
Assert.assertEquals(raw.size(), 2);
137+
Assert.assertEquals(prob.size(), 2);
137138
double probFromRaw1 = 1.0 / (1.0 + Math.exp(-raw.apply(1)));
138-
assert(Math.abs(prob.apply(1) - probFromRaw1) < eps);
139-
assert(Math.abs(prob.apply(0) - (1.0 - probFromRaw1)) < eps);
139+
Assert.assertEquals(0, Math.abs(prob.apply(1) - probFromRaw1), eps);
140+
Assert.assertEquals(0, Math.abs(prob.apply(0) - (1.0 - probFromRaw1)), eps);
140141
}
141142

142143
DataFrame trans2 = jsql.sql("SELECT prediction, probability FROM transformed");
@@ -145,7 +146,7 @@ public void logisticRegressionPredictorClassifierMethods() {
145146
Vector prob = (Vector)row.get(1);
146147
double probOfPred = prob.apply((int)pred);
147148
for (int i = 0; i < prob.size(); ++i) {
148-
assert(probOfPred >= prob.apply(i));
149+
Assert.assertTrue(probOfPred >= prob.apply(i));
149150
}
150151
}
151152
}
@@ -156,6 +157,6 @@ public void logisticRegressionTrainingSummary() {
156157
LogisticRegressionModel model = lr.fit(dataset);
157158

158159
LogisticRegressionTrainingSummary summary = model.summary();
159-
assert(summary.totalIterations() == summary.objectiveHistory().length);
160+
Assert.assertEquals(summary.totalIterations(), summary.objectiveHistory().length);
160161
}
161162
}

mllib/src/test/java/org/apache/spark/ml/classification/JavaNaiveBayesSuite.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.junit.After;
2424
import org.junit.Before;
2525
import org.junit.Test;
26+
import static org.junit.Assert.assertEquals;
2627

2728
import org.apache.spark.api.java.JavaRDD;
2829
import org.apache.spark.api.java.JavaSparkContext;
@@ -58,18 +59,18 @@ public void validatePrediction(DataFrame predictionAndLabels) {
5859
for (Row r : predictionAndLabels.collect()) {
5960
double prediction = r.getAs(0);
6061
double label = r.getAs(1);
61-
assert(prediction == label);
62+
assertEquals(label, prediction, 1E-5);
6263
}
6364
}
6465

6566
@Test
6667
public void naiveBayesDefaultParams() {
6768
NaiveBayes nb = new NaiveBayes();
68-
assert(nb.getLabelCol() == "label");
69-
assert(nb.getFeaturesCol() == "features");
70-
assert(nb.getPredictionCol() == "prediction");
71-
assert(nb.getSmoothing() == 1.0);
72-
assert(nb.getModelType() == "multinomial");
69+
assertEquals("label", nb.getLabelCol());
70+
assertEquals("features", nb.getFeaturesCol());
71+
assertEquals("prediction", nb.getPredictionCol());
72+
assertEquals(1.0, nb.getSmoothing(), 1E-5);
73+
assertEquals("multinomial", nb.getModelType());
7374
}
7475

7576
@Test

mllib/src/test/java/org/apache/spark/ml/regression/JavaLinearRegressionSuite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public void tearDown() {
6060
@Test
6161
public void linearRegressionDefaultParams() {
6262
LinearRegression lr = new LinearRegression();
63-
assert(lr.getLabelCol().equals("label"));
63+
assertEquals("label", lr.getLabelCol());
6464
LinearRegressionModel model = lr.fit(dataset);
6565
model.transform(dataset).registerTempTable("prediction");
6666
DataFrame predictions = jsql.sql("SELECT label, prediction FROM prediction");

mllib/src/test/java/org/apache/spark/mllib/linalg/JavaMatricesSuite.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ public void diagonalMatrixConstruction() {
8080
assertArrayEquals(sd.toArray(), s.toArray(), 0.0);
8181
assertArrayEquals(s.toArray(), ss.toArray(), 0.0);
8282
assertArrayEquals(s.values(), ss.values(), 0.0);
83-
assert(s.values().length == 2);
84-
assert(ss.values().length == 2);
85-
assert(s.colPtrs().length == 4);
86-
assert(ss.colPtrs().length == 4);
83+
assertEquals(2, s.values().length);
84+
assertEquals(2, ss.values().length);
85+
assertEquals(4, s.colPtrs().length);
86+
assertEquals(4, ss.colPtrs().length);
8787
}
8888

8989
@Test
@@ -137,27 +137,27 @@ public void concatenateMatrices() {
137137
Matrix deHorz2 = Matrices.horzcat(new Matrix[]{spMat1, deMat2});
138138
Matrix deHorz3 = Matrices.horzcat(new Matrix[]{deMat1, spMat2});
139139

140-
assert(deHorz1.numRows() == 3);
141-
assert(deHorz2.numRows() == 3);
142-
assert(deHorz3.numRows() == 3);
143-
assert(spHorz.numRows() == 3);
144-
assert(deHorz1.numCols() == 5);
145-
assert(deHorz2.numCols() == 5);
146-
assert(deHorz3.numCols() == 5);
147-
assert(spHorz.numCols() == 5);
140+
assertEquals(3, deHorz1.numRows());
141+
assertEquals(3, deHorz2.numRows());
142+
assertEquals(3, deHorz3.numRows());
143+
assertEquals(3, spHorz.numRows());
144+
assertEquals(5, deHorz1.numCols());
145+
assertEquals(5, deHorz2.numCols());
146+
assertEquals(5, deHorz3.numCols());
147+
assertEquals(5, spHorz.numCols());
148148

149149
Matrix spVert = Matrices.vertcat(new Matrix[]{spMat1, spMat3});
150150
Matrix deVert1 = Matrices.vertcat(new Matrix[]{deMat1, deMat3});
151151
Matrix deVert2 = Matrices.vertcat(new Matrix[]{spMat1, deMat3});
152152
Matrix deVert3 = Matrices.vertcat(new Matrix[]{deMat1, spMat3});
153153

154-
assert(deVert1.numRows() == 5);
155-
assert(deVert2.numRows() == 5);
156-
assert(deVert3.numRows() == 5);
157-
assert(spVert.numRows() == 5);
158-
assert(deVert1.numCols() == 2);
159-
assert(deVert2.numCols() == 2);
160-
assert(deVert3.numCols() == 2);
161-
assert(spVert.numCols() == 2);
154+
assertEquals(5, deVert1.numRows());
155+
assertEquals(5, deVert2.numRows());
156+
assertEquals(5, deVert3.numRows());
157+
assertEquals(5, spVert.numRows());
158+
assertEquals(2, deVert1.numCols());
159+
assertEquals(2, deVert2.numCols());
160+
assertEquals(2, deVert3.numCols());
161+
assertEquals(2, spVert.numCols());
162162
}
163163
}

0 commit comments

Comments
 (0)