Package dovetaildb.dbservice

Source Code of dovetaildb.dbservice.ScoringDbServiceTest

package dovetaildb.dbservice;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import dovetaildb.StdLib;
import dovetaildb.api.ApiBuffer;
import dovetaildb.bagindex.MemoryBlueSteelBagIndex;
import dovetaildb.bagindex.TrivialBagIndex;
import dovetaildb.util.Util;

public class ScoringDbServiceTest extends DbServiceTest {

  protected DbService createService() {
    return StdLib.makeMemoryDb();
  }
 
  public void testScoring() {
    HashMap<String,ApiBuffer> batch = new HashMap<String,ApiBuffer>();
    ApiBuffer buffer = new ApiBuffer();
    Object loc;
    loc = m().p("lat", 17.6).p("lng", 122.0);
    Map<String,Object> jane = m().p("name", "Jane").p("age", 30.0).p("gender", "f").p("loc", loc);
    buffer.put("ID2", jane);
    loc = m().p("lat", 22.8).p("lng", 122.8);
    Map<String,Object> phil = m().p("name", "Phil").p("age", 32.0).p("gender", "m").p("loc", loc);
    buffer.put("ID1", phil);
    batch.put("people", buffer);
    long commitId = db.commit(db.getHighestCompletedTxnId(), batch);
   
    List<Object> janeFirst = l().a(jane).a(phil);
    List<Object> philFirst = l().a(phil).a(jane);
    Object score;
    score = m().p("age", l().a("NumericScore"));
    assertEquals(philFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
    score = m().p("age", l().a("ReverseScore").a(l().a("NumericScore")));
    assertEquals(janeFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
   
    score = m().p("age", l().a("LinearlyInterpolatedScore").a(l().a( l().a(29).a(0) ).a( l().a(31).a(1) ).a( l().a(33  ).a(4) )));
    assertEquals(philFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
    score = m().p("age", l().a("LinearlyInterpolatedScore").a(l().a( l().a(29).a(8) ).a( l().a(31).a(1) ).a( l().a(33  ).a(4) )));
    assertEquals(janeFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
    score = m().p("age", l().a("LinearlyInterpolatedScore").a(l().a( l().a(21).a(8) ).a( l().a(31).a(1) ).a( l().a(33  ).a(4) )));
    assertEquals(philFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
    score = m().p("age", l().a("LinearlyInterpolatedScore").a(l()                    .a( l().a(31).a(5) ).a( l().a(33  ).a(4) )));
    assertEquals(janeFirst, yank(db.query("people", commitId, m(), m().p("score", score))));
    score = m().p("age", l().a("LinearlyInterpolatedScore").a(l()                    .a( l().a(31).a(4) ).a( l().a(31.1).a(5) )));
    assertEquals(philFirst, yank(db.query("people", commitId, m(), m().p("score", score))));

   
  }
 
}
TOP

Related Classes of dovetaildb.dbservice.ScoringDbServiceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.