You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2019/10/11 01:25:11 UTC
[lucene-solr] branch master updated: SOLR-13829: RecursiveEvaluator
casts Continuous numbers to Discrete Numbers, causing mismatch
This is an automated email from the ASF dual-hosted git repository.
jbernste pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/master by this push:
new ad1c24e SOLR-13829: RecursiveEvaluator casts Continuous numbers to Discrete Numbers, causing mismatch
ad1c24e is described below
commit ad1c24e1903a74c611ec610aaf350d50d709519e
Author: Joel Bernstein <jb...@apache.org>
AuthorDate: Thu Oct 10 21:18:45 2019 -0400
SOLR-13829: RecursiveEvaluator casts Continuous numbers to Discrete Numbers, causing mismatch
---
.../solr/client/solrj/io/eval/DoubleEvaluator.java | 6 +++-
.../solr/client/solrj/io/eval/LongEvaluator.java | 6 +++-
.../client/solrj/io/eval/RecursiveEvaluator.java | 21 +++----------
.../client/solrj/io/stream/MathExpressionTest.java | 36 ++++++++++++++++------
.../io/stream/eval/AbsoluteValueEvaluatorTest.java | 9 ++----
.../solrj/io/stream/eval/AddEvaluatorTest.java | 24 +++++----------
.../solrj/io/stream/eval/AppendEvaluatorTest.java | 4 +--
.../solrj/io/stream/eval/ArrayEvaluatorTest.java | 12 ++++----
.../solrj/io/stream/eval/AscEvaluatorTest.java | 4 +--
.../solrj/io/stream/eval/CeilingEvaluatorTest.java | 9 ++----
.../io/stream/eval/CoalesceEvaluatorTest.java | 2 +-
.../solrj/io/stream/eval/DivideEvaluatorTest.java | 3 +-
.../solrj/io/stream/eval/FloorEvaluatorTest.java | 9 ++----
.../solrj/io/stream/eval/ModuloEvaluatorTest.java | 11 ++-----
.../io/stream/eval/MultiplyEvaluatorTest.java | 12 +++-----
.../io/stream/eval/RecursiveEvaluatorTest.java | 3 +-
.../io/stream/eval/SubtractEvaluatorTest.java | 15 +++------
17 files changed, 84 insertions(+), 102 deletions(-)
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/DoubleEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/DoubleEvaluator.java
index 7fce45f..e2e6998 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/DoubleEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/DoubleEvaluator.java
@@ -44,7 +44,11 @@ public class DoubleEvaluator extends RecursiveObjectEvaluator implements OneValu
return ((List<?>)value).stream().map(innerValue -> doWork(innerValue)).collect(Collectors.toList());
}
else{
- return Double.valueOf(value.toString());
+ if(value instanceof String) {
+ return Double.valueOf(value.toString());
+ } else {
+ return ((Number) value).doubleValue();
+ }
}
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/LongEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/LongEvaluator.java
index 4547d8c..0ca40c1 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/LongEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/LongEvaluator.java
@@ -44,7 +44,11 @@ public class LongEvaluator extends RecursiveObjectEvaluator implements OneValueW
return ((List<?>)value).stream().map(innerValue -> doWork(innerValue)).collect(Collectors.toList());
}
else{
- return Long.valueOf(value.toString());
+ if(value instanceof String) {
+ return Long.valueOf(value.toString());
+ } else {
+ return ((Number) value).longValue();
+ }
}
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/RecursiveEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/RecursiveEvaluator.java
index a5fae7e..97224dd 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/RecursiveEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/RecursiveEvaluator.java
@@ -126,27 +126,16 @@ public abstract class RecursiveEvaluator implements StreamEvaluator, ValueWorker
return value;
} else if(value instanceof BigDecimal){
BigDecimal bd = (BigDecimal)value;
- if(bd.signum() == 0 || bd.scale() <= 0 || bd.stripTrailingZeros().scale() <= 0){
- try{
- return bd.longValueExact();
- }
- catch(ArithmeticException e){
- // value was too big for a long, so use a double which can handle scientific notation
- }
- }
-
return bd.doubleValue();
}
+ else if(value instanceof Long || value instanceof Integer) {
+ return ((Number) value).longValue();
+ }
else if(value instanceof Double){
- if(Double.isNaN((Double)value)){
- return value;
- }
-
- // could be a long so recurse back in as a BigDecimal
- return normalizeOutputType(new BigDecimal((Double)value));
+ return value;
}
else if(value instanceof Number){
- return normalizeOutputType(new BigDecimal(((Number)value).toString()));
+ return ((Number) value).doubleValue();
}
else if(value instanceof List){
// normalize each value in the list
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
index 9cca3f9..bc76c4e 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
@@ -1203,7 +1203,7 @@ public class MathExpressionTest extends SolrCloudTestCase {
List<Tuple> tuples = getTuples(solrStream);
assertTrue(tuples.size() == 1);
Tuple tuple = tuples.get(0);
- long binomialCoefficient = (long) tuple.get("return-value");
+ long binomialCoefficient = tuple.getLong("return-value");
assertEquals(binomialCoefficient, 56);
}
@@ -3523,6 +3523,24 @@ public class MathExpressionTest extends SolrCloudTestCase {
}
@Test
+ public void testCosineSimilaritySort() throws Exception {
+ String cexpr = "sort(select(list(tuple(id=\"1\", f=array(1,2,3,4)), tuple(id=\"2\",f=array(10,2,3,4)))," +
+ " cosineSimilarity(f, array(1,2,3,4)) as sim, id)," +
+ " by=\"sim desc\")";
+ ModifiableSolrParams paramsLoc = new ModifiableSolrParams();
+ paramsLoc.set("expr", cexpr);
+ paramsLoc.set("qt", "/stream");
+ String url = cluster.getJettySolrRunners().get(0).getBaseUrl().toString()+"/"+COLLECTIONORALIAS;
+ TupleStream solrStream = new SolrStream(url, paramsLoc);
+ StreamContext context = new StreamContext();
+ solrStream.setStreamContext(context);
+ List<Tuple> tuples = getTuples(solrStream);
+ assertEquals(tuples.size(), 2);
+ assertEquals(tuples.get(0).getString("id"), "1");
+ }
+
+
+ @Test
public void testPoissonDistribution() throws Exception {
String cexpr = "let(a=poissonDistribution(100)," +
" b=sample(a, 10000)," +
@@ -5591,13 +5609,13 @@ public class MathExpressionTest extends SolrCloudTestCase {
assertTrue(tuples.size() == 1);
List<Number> convolution = (List<Number>)(tuples.get(0)).get("conv");
assertTrue(convolution.size() == 7);
- assertTrue(convolution.get(0).equals(20000L));
- assertTrue(convolution.get(1).equals(20000L));
- assertTrue(convolution.get(2).equals(25000L));
- assertTrue(convolution.get(3).equals(30000L));
- assertTrue(convolution.get(4).equals(15000L));
- assertTrue(convolution.get(5).equals(10000L));
- assertTrue(convolution.get(6).equals(5000L));
+ assertTrue(convolution.get(0).equals(20000D));
+ assertTrue(convolution.get(1).equals(20000D));
+ assertTrue(convolution.get(2).equals(25000D));
+ assertTrue(convolution.get(3).equals(30000D));
+ assertTrue(convolution.get(4).equals(15000D));
+ assertTrue(convolution.get(5).equals(10000D));
+ assertTrue(convolution.get(6).equals(5000D));
}
@Test
@@ -5648,7 +5666,7 @@ public class MathExpressionTest extends SolrCloudTestCase {
double prediction = tuple.getDouble("p");
assertTrue(prediction == 600.0D);
List<Number> predictions = (List<Number>)tuple.get("pl");
- assertList(predictions, 200L, 400L, 600L, 200L, 400L, 800L, 1200L);
+ assertList(predictions, 200D, 400D, 600D, 200D, 400D, 800D, 1200D);
}
@Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AbsoluteValueEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AbsoluteValueEvaluatorTest.java
index 7ce58ad..c35ed29 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AbsoluteValueEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AbsoluteValueEvaluatorTest.java
@@ -53,8 +53,7 @@ public class AbsoluteValueEvaluatorTest extends SolrTestCase {
values.clear();
values.put("a", 1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
values.clear();
values.put("a", 1.1);
@@ -78,8 +77,7 @@ public class AbsoluteValueEvaluatorTest extends SolrTestCase {
context.getLets().put("a", 1);
result = evaluator.evaluate(new Tuple());
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
context.getLets().put("a", 1.1);
result = evaluator.evaluate(new Tuple());
@@ -93,8 +91,7 @@ public class AbsoluteValueEvaluatorTest extends SolrTestCase {
context.getLets().put("a", factory.constructEvaluator("add(4,-6,34,-56)"));
result = evaluator.evaluate(new Tuple());
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(24L, result);
+ Assert.assertEquals(24D, result);
}
@Test(expected = IOException.class)
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AddEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AddEvaluatorTest.java
index 3251fd7..ca094d5 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AddEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AddEvaluatorTest.java
@@ -50,8 +50,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("a", 1);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(3L, result);
+ Assert.assertEquals(3D, result);
values.clear();
values.put("a", 1.1);
@@ -134,8 +133,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(10L, result);
+ Assert.assertEquals(10D, result);
values.clear();
values.put("a", 1.1);
@@ -167,8 +165,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(10L, result);
+ Assert.assertEquals(10D, result);
values.clear();
values.put("a", 1.1);
@@ -203,8 +200,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 123456789123456789L);
values.put("d", 123456789123456789L);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(4 * 123456789123456789L, result);
+ Assert.assertEquals(4 * 123456789123456789D, result);
}
@Test
@@ -218,8 +214,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(14L, result);
+ Assert.assertEquals(14D, result);
values.clear();
values.put("a", 1.1);
@@ -254,8 +249,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 123456789123456789L);
values.put("d", 123456789123456789L);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(6 * 123456789123456789L, result);
+ Assert.assertEquals(6 * 123456789123456789D, result);
values.clear();
values.put("a", 4.12345678);
@@ -278,8 +272,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(10L, result);
+ Assert.assertEquals(10D, result);
values.clear();
values.put("a", 1.1);
@@ -314,8 +307,7 @@ public class AddEvaluatorTest extends SolrTestCase {
values.put("c", 123456789123456789L);
values.put("d", 123456789123456789L);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(4 * 123456789123456789L, result);
+ Assert.assertEquals(4 * 123456789123456789D, result);
values.clear();
values.put("a", -4.12345678);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AppendEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AppendEvaluatorTest.java
index a34d5cc..f85ed3c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AppendEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AppendEvaluatorTest.java
@@ -49,11 +49,11 @@ public class AppendEvaluatorTest extends SolrTestCase {
Object result;
values.clear();
- values.put("a", 1L);
+ values.put("a", 1);
values.put("b", Arrays.asList("foo","bar","baz"));
result = evaluator.evaluate(new Tuple(values));
Assert.assertTrue(result instanceof List);
- Assert.assertEquals(1L, ((List)result).get(0));
+ Assert.assertEquals(1D, ((List)result).get(0));
Assert.assertEquals("foo", ((List)result).get(1));
Assert.assertEquals("bar", ((List)result).get(2));
Assert.assertEquals("baz", ((List)result).get(3));
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ArrayEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ArrayEvaluatorTest.java
index 8b2b35f..7d14d56 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ArrayEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ArrayEvaluatorTest.java
@@ -60,9 +60,9 @@ public class ArrayEvaluatorTest extends SolrTestCase {
Assert.assertTrue(result instanceof List<?>);
Assert.assertEquals(3, ((List<?>)result).size());
- Assert.assertEquals(1L, ((List<?>)result).get(0));
- Assert.assertEquals(2L, ((List<?>)result).get(1));
- Assert.assertEquals(3L, ((List<?>)result).get(2));
+ Assert.assertEquals(1D, ((List<?>)result).get(0));
+ Assert.assertEquals(2D, ((List<?>)result).get(1));
+ Assert.assertEquals(3D, ((List<?>)result).get(2));
}
@Test
@@ -81,9 +81,9 @@ public class ArrayEvaluatorTest extends SolrTestCase {
Assert.assertTrue(result instanceof List<?>);
Assert.assertEquals(3, ((List<?>)result).size());
- Assert.assertEquals(3L, ((List<?>)result).get(0));
- Assert.assertEquals(2L, ((List<?>)result).get(1));
- Assert.assertEquals(1L, ((List<?>)result).get(2));
+ Assert.assertEquals(3D, ((List<?>)result).get(0));
+ Assert.assertEquals(2D, ((List<?>)result).get(1));
+ Assert.assertEquals(1D, ((List<?>)result).get(2));
}
@Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AscEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AscEvaluatorTest.java
index bb64248..8029712 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AscEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/AscEvaluatorTest.java
@@ -53,7 +53,7 @@ public class AscEvaluatorTest extends SolrTestCase {
result = evaluator.evaluate(new Tuple(values));
Assert.assertTrue(result instanceof List<?>);
Assert.assertEquals(7, ((List<?>)result).size());
- checkOrder(Arrays.asList(1L,2L,3L,4L,5L,7L,8L), (List<Object>)result);
+ checkOrder(Arrays.asList(1D,2D,3D,4D,5D,7D,8D), (List<Object>)result);
}
@Test
@@ -79,7 +79,7 @@ public class AscEvaluatorTest extends SolrTestCase {
result = evaluator.evaluate(new Tuple(values));
Assert.assertTrue(result instanceof List<?>);
Assert.assertEquals(7, ((List<?>)result).size());
- checkOrder(Arrays.asList(2L, 2.1, 2.3, 2.5, 2.6, 2.7, 3L), (List<Object>)result);
+ checkOrder(Arrays.asList(2D, 2.1, 2.3, 2.5, 2.6, 2.7, 3D), (List<Object>)result);
}
@Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CeilingEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CeilingEvaluatorTest.java
index a4cf9d2..50e8b8e 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CeilingEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CeilingEvaluatorTest.java
@@ -50,20 +50,17 @@ public class CeilingEvaluatorTest extends SolrTestCase {
values.clear();
values.put("a", 1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
values.clear();
values.put("a", 1.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(2L, result);
+ Assert.assertEquals(2D, result);
values.clear();
values.put("a", -1.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-1L, result);
+ Assert.assertEquals(-1D, result);
}
@Test(expected = IOException.class)
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CoalesceEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CoalesceEvaluatorTest.java
index e0569d1..1d9c6a4 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CoalesceEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/CoalesceEvaluatorTest.java
@@ -107,6 +107,6 @@ public class CoalesceEvaluatorTest extends SolrTestCase {
values.put("c", null);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/DivideEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/DivideEvaluatorTest.java
index 60d93ac..4ef136c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/DivideEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/DivideEvaluatorTest.java
@@ -158,7 +158,6 @@ public class DivideEvaluatorTest extends SolrTestCase {
values.put("a", 0);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(0L, result);
+ Assert.assertEquals(0D, result);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/FloorEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/FloorEvaluatorTest.java
index b1d83ab..3ac678c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/FloorEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/FloorEvaluatorTest.java
@@ -50,20 +50,17 @@ public class FloorEvaluatorTest extends SolrTestCase {
values.clear();
values.put("a", 1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
values.clear();
values.put("a", 1.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(1L, result);
+ Assert.assertEquals(1D, result);
values.clear();
values.put("a", -1.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-2L, result);
+ Assert.assertEquals(-2D, result);
}
@Test(expected = IOException.class)
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ModuloEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ModuloEvaluatorTest.java
index d72b55f..949c85a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ModuloEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/ModuloEvaluatorTest.java
@@ -51,21 +51,18 @@ public class ModuloEvaluatorTest extends SolrTestCase {
values.put("a", 1);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(Long.valueOf(1 % 2), result);
+ Assert.assertEquals(1 % 2, ((Number)result).doubleValue(), 0.0);
values.clear();
values.put("a", 1.1);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Double);
Assert.assertEquals(1.1 % 2, result);
values.clear();
values.put("a", 1.1);
values.put("b", 2.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Double);
Assert.assertEquals(1.1 % 2.1, result);
}
@@ -135,8 +132,7 @@ public class ModuloEvaluatorTest extends SolrTestCase {
values.put("b", 2);
values.put("c", 9);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(Long.valueOf(1 % (2 % 9)), result);
+ Assert.assertEquals(1 % (2 % 9), ((Number)result).doubleValue(), 0.0);
}
@Test(expected = IOException.class)
@@ -158,7 +154,6 @@ public class ModuloEvaluatorTest extends SolrTestCase {
values.put("a", 0);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(0L, result);
+ Assert.assertEquals(0D, result);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/MultiplyEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/MultiplyEvaluatorTest.java
index 1c0663d..2d6fe5a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/MultiplyEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/MultiplyEvaluatorTest.java
@@ -50,8 +50,7 @@ public class MultiplyEvaluatorTest extends SolrTestCase {
values.put("a", 1);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(2L, result);
+ Assert.assertEquals(2D, result);
values.clear();
values.put("a", 1.1);
@@ -76,8 +75,7 @@ public class MultiplyEvaluatorTest extends SolrTestCase {
values.clear();
values.put("a", 6);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(6L, result);
+ Assert.assertEquals(6D, result);
values.clear();
values.put("a", 6.5);
@@ -152,8 +150,7 @@ public class MultiplyEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(24L, result);
+ Assert.assertEquals(24D, result);
values.clear();
values.put("a", 1.1);
@@ -185,7 +182,6 @@ public class MultiplyEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(24L, result);
+ Assert.assertEquals(24D, result);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/RecursiveEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/RecursiveEvaluatorTest.java
index 7cc0ebc..4e13acf 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/RecursiveEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/RecursiveEvaluatorTest.java
@@ -67,8 +67,7 @@ public class RecursiveEvaluatorTest extends SolrTestCase {
values.put("f", 2);
values.put("g", 5);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-16L, result);
+ Assert.assertEquals(-16D, result);
values.clear();
values.put("a", .1);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/SubtractEvaluatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/SubtractEvaluatorTest.java
index 6845340..2012770 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/SubtractEvaluatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/SubtractEvaluatorTest.java
@@ -51,8 +51,7 @@ public class SubtractEvaluatorTest extends SolrTestCase {
values.put("a", 1);
values.put("b", 2);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-1L, result);
+ Assert.assertEquals(-1D, result);
values.clear();
values.put("a", 1.1);
@@ -65,8 +64,7 @@ public class SubtractEvaluatorTest extends SolrTestCase {
values.put("a", 1.1);
values.put("b", 2.1);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-1L, result);
+ Assert.assertEquals(-1D, result);
}
@Test(expected = IOException.class)
@@ -140,8 +138,7 @@ public class SubtractEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(-8L, result);
+ Assert.assertEquals(-8D, result);
values.clear();
values.put("a", 1.1);
@@ -173,8 +170,7 @@ public class SubtractEvaluatorTest extends SolrTestCase {
values.put("c", 3);
values.put("d", 4);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(0L, result);
+ Assert.assertEquals(0D, result);
values.clear();
values.put("a", 123456789123456789L);
@@ -182,7 +178,6 @@ public class SubtractEvaluatorTest extends SolrTestCase {
values.put("c", 123456789123456789L);
values.put("d", 123456789123456789L);
result = evaluator.evaluate(new Tuple(values));
- Assert.assertTrue(result instanceof Long);
- Assert.assertEquals(0L, result);
+ Assert.assertEquals(0D, result);
}
}