jenkins-bot has submitted this change and it was merged.

Change subject: 0 is within 20% of 0
......................................................................


0 is within 20% of 0

Change-Id: I961303846ef445523ef46415800b993844cee2ec
---
M 
src/main/java/org/wikimedia/search/extra/superdetectnoop/WithinPercentageDetector.java
M 
src/test/java/org/wikimedia/search/extra/superdetectnoop/SuperDetectNoopScriptTest.java
2 files changed, 20 insertions(+), 0 deletions(-)

Approvals:
  Chad: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/src/main/java/org/wikimedia/search/extra/superdetectnoop/WithinPercentageDetector.java
 
b/src/main/java/org/wikimedia/search/extra/superdetectnoop/WithinPercentageDetector.java
index 8729d46..2f3aa25 100644
--- 
a/src/main/java/org/wikimedia/search/extra/superdetectnoop/WithinPercentageDetector.java
+++ 
b/src/main/java/org/wikimedia/search/extra/superdetectnoop/WithinPercentageDetector.java
@@ -37,6 +37,9 @@
 
     @Override
     public boolean isCloseEnough(Number oldValue, Number newValue) {
+        if (oldValue.doubleValue() == 0) {
+            return newValue.doubleValue() == 0;
+        }
         return abs((newValue.doubleValue() - oldValue.doubleValue()) / 
oldValue.doubleValue()) < absoluteDifference;
     }
 }
diff --git 
a/src/test/java/org/wikimedia/search/extra/superdetectnoop/SuperDetectNoopScriptTest.java
 
b/src/test/java/org/wikimedia/search/extra/superdetectnoop/SuperDetectNoopScriptTest.java
index 9db288b..d267ca3 100644
--- 
a/src/test/java/org/wikimedia/search/extra/superdetectnoop/SuperDetectNoopScriptTest.java
+++ 
b/src/test/java/org/wikimedia/search/extra/superdetectnoop/SuperDetectNoopScriptTest.java
@@ -87,6 +87,22 @@
     }
 
     @Test
+    public void withinPercentageZeroMatch() throws IOException {
+        indexSeedData();
+        XContentBuilder b = x("zero", 0, "within 200%");
+        Map<String, Object> r = update(b, false);
+        assertThat(r, hasEntry("zero", (Object) 0));
+    }
+
+    @Test
+    public void withinPercentageZeroChanged() throws IOException {
+        indexSeedData();
+        XContentBuilder b = x("zero", 1, "within 200%");
+        Map<String, Object> r = update(b, true);
+        assertThat(r, hasEntry("zero", (Object) 1));
+    }
+
+    @Test
     public void percentageOnString() throws IOException {
         indexSeedData();
         XContentBuilder b = x("string", "cat", "within 200%");
@@ -198,6 +214,7 @@
         XContentBuilder b = jsonBuilder().startObject();
         {
             b.field("int", 3);
+            b.field("zero", 0);
             b.field("string", "cake");
             b.startObject("foo");
             {

-- 
To view, visit https://gerrit.wikimedia.org/r/207829
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I961303846ef445523ef46415800b993844cee2ec
Gerrit-PatchSet: 1
Gerrit-Project: search/extra
Gerrit-Branch: 1.3
Gerrit-Owner: Manybubbles <never...@wikimedia.org>
Gerrit-Reviewer: Chad <ch...@wikimedia.org>
Gerrit-Reviewer: EBernhardson <ebernhard...@wikimedia.org>
Gerrit-Reviewer: Jdouglas <jdoug...@wikimedia.org>
Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to