/** * Initializes a new filter and array of test elements before each test. */ @Before public void initializeNewFilter() { this.countingFilter = new CountingFilter(); this.testElements = new ArrayList<>(); }
/** * This method represents the input port of this filter. * * @param event * The next event. */ @Override protected void execute(final Object event) { final Long count = this.counter.incrementAndGet(); this.updateDisplays(); this.relayedEventsOutputPort.send(event); this.countOutputPort.send(count); }
/** * A simple test for the counting filter. */ @Test public void testNormal() { this.testElements.add(new Object()); this.testElements.add(new Object()); this.testElements.add(new Object()); Assert.assertEquals(0, this.countingFilter.getMessageCount()); StageTester.test(this.countingFilter).and().send(this.testElements).to(this.countingFilter.getInputPort()).start(); Assert.assertEquals(3, this.countingFilter.getMessageCount()); }
/** * A simple test for the counting filter using objects of different classes. */ @Test public void testDifferentClasses() { this.testElements.add(Long.valueOf(10)); this.testElements.add(new Object()); this.testElements.add(""); Assert.assertEquals(0, this.countingFilter.getMessageCount()); StageTester.test(this.countingFilter).and().send(this.testElements).to(this.countingFilter.getInputPort()).start(); Assert.assertEquals(3, this.countingFilter.getMessageCount()); } }