/** @param oper Data value for comparison. */
  @SuppressWarnings({"rawtypes", "unchecked"})
  public <V extends Number> void testNodeProcessingSchema(Change<V> oper) {
    CollectorTestSink changeSink = new CollectorTestSink();
    CollectorTestSink percentSink = new CollectorTestSink();

    oper.change.setSink(changeSink);
    oper.percent.setSink(percentSink);

    oper.beginWindow(0);
    oper.base.process(oper.getValue(10));
    oper.data.process(oper.getValue(5));
    oper.data.process(oper.getValue(15));
    oper.data.process(oper.getValue(20));
    oper.endWindow();

    Assert.assertEquals("number emitted tuples", 3, changeSink.collectedTuples.size());
    Assert.assertEquals("number emitted tuples", 3, percentSink.collectedTuples.size());

    log.debug("\nLogging tuples");
    for (Object o : changeSink.collectedTuples) {
      log.debug(String.format("change %s", o));
    }
    for (Object o : percentSink.collectedTuples) {
      log.debug(String.format("percent change %s", o));
    }
  }
示例#2
0
 /**
  * Gets the single instance of Change.
  *
  * @param value the value
  * @return single instance of Change
  */
 public static Change getInstance(String value) {
   for (Change erTyp : Change.values()) {
     if (erTyp.getValue().equals(value)) {
       return erTyp;
     }
   }
   return null;
 }