package org.oddjob.beanbus.destinations; import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; import org.oddjob.Oddjob; import org.oddjob.OddjobLookup; import org.oddjob.Resetable; import org.oddjob.arooa.convert.ArooaConversionException; import org.oddjob.arooa.reflect.ArooaPropertyException; import org.oddjob.arooa.xml.XMLConfiguration; import org.oddjob.state.ParentState; public class OnlyFilterTest extends TestCase { public void testFiltersNoStop() { List<String> results = new ArrayList<String>(); OnlyFilter<String> test = new OnlyFilter<String>(); test.setOnly(2); test.setTo(results); test.add("Apple"); test.add("Orange"); test.add("Pear"); assertEquals(2, results.size()); } public void testExample() throws ArooaPropertyException, ArooaConversionException { Oddjob oddjob = new Oddjob(); oddjob.setConfiguration(new XMLConfiguration( "org/oddjob/beanbus/destinations/OnlyFilterExample.xml", getClass().getClassLoader())); oddjob.run(); assertEquals(ParentState.COMPLETE, oddjob.lastStateEvent().getState()); OddjobLookup lookup = new OddjobLookup(oddjob); List<?> results = lookup.lookup( "results.beans", List.class); assertEquals(2, results.size()); Object beanBus = lookup.lookup("bean-bus"); ((Resetable) beanBus).hardReset(); ((Runnable) beanBus).run(); int count = lookup.lookup( "results.count", int.class); assertEquals(2, count); oddjob.destroy(); } }