1 21 22 package org.jacorb.test.notification.engine; 23 24 import java.util.Arrays ; 25 import java.util.List ; 26 27 import junit.framework.Test; 28 import junit.framework.TestSuite; 29 30 import org.jacorb.notification.engine.AbstractFilterTask; 31 import org.jacorb.notification.engine.FilterProxyConsumerTask; 32 import org.jacorb.notification.interfaces.FilterStage; 33 34 38 public class FilterProxyConsumerTaskTest extends AbstractFilterTaskTestCase 39 { 40 private FilterProxyConsumerTask objectUnderTest_; 41 42 protected AbstractFilterTask newObjectUnderTest() 43 { 44 objectUnderTest_ = new FilterProxyConsumerTask(mockTaskFactory_, mockTaskExecutor_); 45 46 return objectUnderTest_; 47 } 48 49 public void testMatch() throws Exception 50 { 51 List list = Arrays.asList(new Object [] { mockNextFilterStage_ }); 52 53 mockFilterStage_.hasLifetimeFilter(); 54 controlFilterStage_.setReturnValue(false); 55 mockFilterStage_.hasPriorityFilter(); 56 controlFilterStage_.setReturnValue(false); 57 mockFilterStage_.hasInterFilterGroupOperatorOR(); 58 controlFilterStage_.setDefaultReturnValue(false); 59 mockFilterStage_.getSubsequentFilterStages(); 60 controlFilterStage_.setReturnValue(list); 61 62 mockFilterStage_.hasPriorityFilter(); 63 controlFilterStage_.setDefaultReturnValue(false); 64 65 mockFilterStage_.hasLifetimeFilter(); 66 controlFilterStage_.setDefaultReturnValue(false); 67 68 controlFilterStage_.replay(); 69 70 mockMessage_.isInvalid(); 71 controlMessage_.setDefaultReturnValue(false); 72 73 mockMessage_.match(mockFilterStage_); 74 controlMessage_.setReturnValue(true); 75 76 mockMessage_.dispose(); 77 78 controlMessage_.replay(); 79 80 mockTaskFactory_.newFilterSupplierAdminTask(objectUnderTest_); 81 controlTaskFactory_.setReturnValue(mockSchedulable_); 82 83 controlTaskFactory_.replay(); 84 85 mockSchedulable_.schedule(); 86 87 controlSchedulable_.replay(); 88 89 objectUnderTest_.setMessage(mockMessage_); 90 objectUnderTest_.setCurrentFilterStage(new FilterStage[] { mockFilterStage_ }); 91 92 objectUnderTest_.run(); 93 94 controlFilterStage_.verify(); 95 96 controlMessage_.verify(); 97 98 controlTaskFactory_.verify(); 99 100 controlSchedulable_.verify(); 101 } 102 103 public void testNoMatch() throws Exception 104 { 105 mockFilterStage_.hasLifetimeFilter(); 106 controlFilterStage_.setReturnValue(false); 107 mockFilterStage_.hasPriorityFilter(); 108 controlFilterStage_.setReturnValue(false); 109 mockFilterStage_.hasInterFilterGroupOperatorOR(); 110 controlFilterStage_.setDefaultReturnValue(false); 111 controlFilterStage_.replay(); 112 113 mockMessage_.isInvalid(); 114 controlMessage_.setDefaultReturnValue(false); 115 116 mockMessage_.match(mockFilterStage_); 117 controlMessage_.setReturnValue(false); 118 119 mockMessage_.dispose(); 120 121 controlMessage_.replay(); 122 123 objectUnderTest_.setMessage(mockMessage_); 124 objectUnderTest_.setCurrentFilterStage(new FilterStage[] { mockFilterStage_ }); 125 126 objectUnderTest_.run(); 127 128 controlFilterStage_.verify(); 129 130 controlMessage_.verify(); 131 } 132 133 138 public FilterProxyConsumerTaskTest(String name) 139 { 140 super(name); 141 } 142 143 public static Test suite() 144 { 145 return new TestSuite(FilterProxyConsumerTaskTest.class); 146 } 147 } | Popular Tags |