コード例 #1
0
  /** Tests how parameter substitution algorithm works on an expression with no parameters. */
  @Test
  public void testCopy2() throws Exception {
    Expression andExp = ExpressionFactory.matchExp("k1", "v1");
    andExp = andExp.andExp(ExpressionFactory.matchExp("k2", "v2"));
    andExp = andExp.andExp(ExpressionFactory.matchExp("k3", "v3"));

    List exprs = new ArrayList();
    exprs.add(andExp);
    exprs.add(ExpressionFactory.matchExp("k1", "v1"));

    Expression e1 = ExpressionFactory.joinExp(Expression.OR, exprs);
    Expression e2 = e1.params(new HashMap());

    TstTraversalHandler.compareExps(e1, e2);
  }
コード例 #2
0
  @Test
  public void testNoParams3() throws Exception {
    List list = new ArrayList();
    list.add(ExpressionFactory.matchExp("k1", new ExpressionParameter("test1")));
    list.add(ExpressionFactory.matchExp("k2", new ExpressionParameter("test2")));
    list.add(ExpressionFactory.matchExp("k3", new ExpressionParameter("test3")));
    list.add(ExpressionFactory.matchExp("k4", new ExpressionParameter("test4")));
    Expression e1 = ExpressionFactory.joinExp(Expression.OR, list);

    Map params = new HashMap();
    params.put("test4", "123");
    Expression e2 = e1.params(params, true);

    // some expression nodes must be pruned
    assertNotNull(e2);
    assertTrue("List expression: " + e2, !(e2 instanceof ASTList));

    assertEquals(2, e2.getOperandCount());
    assertEquals("123", e2.getOperand(1));
    assertEquals("k4", ((Expression) e2.getOperand(0)).getOperand(0));
  }