public void testAttaches() throws Exception {
    // Should attach to anything as long as the fields exists
    EventType parentType = SupportEventTypeFactory.createBeanType(SupportMarketDataBean.class);

    factory.setViewParameters(
        viewFactoryContext,
        Arrays.asList(
            new ExprNode[] {
              SupportExprNodeFactory.makeIdentNodeMD("volume"),
              SupportExprNodeFactory.makeIdentNodeMD("price")
            }));
    factory.attach(parentType, SupportStatementContextFactory.makeContext(), null, null);
    assertEquals(
        Double.class,
        factory.getEventType().getPropertyType(ViewFieldEnum.REGRESSION__SLOPE.getName()));

    try {
      factory.setViewParameters(
          viewFactoryContext, TestViewSupport.toExprListMD(new Object[] {"symbol", "symbol"}));
      factory.attach(parentType, SupportStatementContextFactory.makeContext(), null, null);
      fail();
    } catch (ViewParameterException ex) {
      // expected;
    }
  }
Пример #2
0
 public static List<ExprNode> toExprListMD(Object[] constants) throws Exception {
   List<ExprNode> expr = new ArrayList<ExprNode>();
   for (int i = 0; i < constants.length; i++) {
     if (constants[i] instanceof String) {
       expr.add(SupportExprNodeFactory.makeIdentNodeMD(constants[i].toString()));
     } else {
       expr.add(new ExprConstantNodeImpl(constants[i]));
     }
   }
   return expr;
 }
 public void testCanReuse() throws Exception {
   factory.setViewParameters(
       viewFactoryContext, TestViewSupport.toExprListMD(new Object[] {"price", "volume"}));
   factory.attach(
       SupportEventTypeFactory.createBeanType(SupportMarketDataBean.class),
       SupportStatementContextFactory.makeContext(),
       null,
       null);
   assertFalse(factory.canReuse(new FirstElementView()));
   EventType type =
       RegressionLinestView.createEventType(SupportStatementContextFactory.makeContext(), null, 1);
   assertFalse(
       factory.canReuse(
           new RegressionLinestView(
               SupportStatementContextFactory.makeAgentInstanceContext(),
               SupportExprNodeFactory.makeIdentNodeMD("price"),
               SupportExprNodeFactory.makeIdentNodeMD("price"),
               type,
               null)));
   assertFalse(
       factory.canReuse(
           new RegressionLinestView(
               SupportStatementContextFactory.makeAgentInstanceContext(),
               SupportExprNodeFactory.makeIdentNodeMD("volume"),
               SupportExprNodeFactory.makeIdentNodeMD("price"),
               type,
               null)));
   assertTrue(
       factory.canReuse(
           new RegressionLinestView(
               SupportStatementContextFactory.makeAgentInstanceContext(),
               SupportExprNodeFactory.makeIdentNodeMD("price"),
               SupportExprNodeFactory.makeIdentNodeMD("volume"),
               type,
               null)));
 }