You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by to...@apache.org on 2015/03/23 15:07:56 UTC

svn commit: r1668649 - /jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java

Author: tommaso
Date: Mon Mar 23 14:07:56 2015
New Revision: 1668649

URL: http://svn.apache.org/r1668649
Log:
OAK-2666 - lms test updated

Modified:
    jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java

Modified: jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java?rev=1668649&r1=1668648&r2=1668649&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/LMSEstimatorTest.java Mon Mar 23 14:07:56 2015
@@ -41,21 +41,30 @@ public class LMSEstimatorTest {
     }
 
     @Test
-    public void testMultipleUpdatesImproveAccuracy() throws Exception {
+    public void testMultipleUpdates() throws Exception {
         LMSEstimator lmsEstimator = new LMSEstimator();
         Filter filter = mock(Filter.class);
         FullTextExpression fte = new FullTextTerm("foo", "bar", false, false, "");
         when(filter.getFullTextConstraint()).thenReturn(fte);
         SolrDocumentList docs = new SolrDocumentList();
         lmsEstimator.update(filter, docs);
+
+        long actualCount = 10;
+        docs.setNumFound(actualCount);
+
         long estimate = lmsEstimator.estimate(filter);
-        docs.setNumFound(10);
+        long diff = actualCount - estimate;
+
+        // update causes weights adjustment
         lmsEstimator.update(filter, docs);
         long estimate2 = lmsEstimator.estimate(filter);
-        assertTrue(estimate2 > estimate);
+        long diff2 = actualCount - estimate2;
+        assertTrue(diff2 < diff); // new estimate is more accurate than previous one
+
+        // update doesn't cause weight adjustments therefore estimates stays unchanged
         lmsEstimator.update(filter, docs);
         long estimate3 = lmsEstimator.estimate(filter);
-        assertTrue(estimate3 > estimate2);
+        assertEquals(estimate3, estimate2);
     }
 
     @Test