Exemplo n.º 1
0
  // Test with a PathQuery and some dummy results, call method with a made up row,
  // create expected ResultElements.  Doesn't need too much testing as Path.resolve() is tested.
  public void testTranslateRow() throws Exception {
    PathQuery pq = new PathQuery(model);
    pq.addViews("Department.name", "Department.company.name", "Department.manager.name");
    Map<String, QuerySelectable> pathToQueryNode = new HashMap();
    Query query = MainHelper.makeQuery(pq, new HashMap(), pathToQueryNode, null, null);
    Results results = osd.execute(query);
    WebResults webResults = new WebResults(im, pq, results, pathToQueryNode, classKeys);
    List row1 = webResults.getResultElements(0);

    Department dept1 = new Department();
    dept1.setId(new Integer(4));
    dept1.setName("Department1");
    ResultElement res1 = new ResultElement(dept1, new Path(model, "Department.name"), false);

    Company c1 =
        (Company) DynamicUtil.instantiateObject("org.intermine.model.testmodel.Company", null);
    c1.setId(new Integer(1));
    c1.setName("Company1");
    ResultElement res2 = new ResultElement(c1, new Path(model, "Department.company.name"), false);

    Manager m1 = new Manager();
    m1.setId(new Integer(1));
    m1.setSeniority(new Integer(100));
    m1.setName("Manager1");
    ResultElement res3 = new ResultElement(m1, new Path(model, "Department.manager.name"), false);

    ResultsRow expected = new ResultsRow();
    expected.add(new MultiRowFirstValue(res1, 1));
    expected.add(new MultiRowFirstValue(res2, 1));
    expected.add(new MultiRowFirstValue(res3, 1));
    assertEquals(new MultiRow(Collections.singletonList(expected)), row1);
  }