1 21 22 package org.jacorb.test.notification.filter; 23 24 import java.util.Date ; 25 26 import junit.framework.Test; 27 import junit.framework.TestCase; 28 import junit.framework.TestSuite; 29 30 import org.easymock.MockControl; 31 import org.jacorb.notification.filter.FilterUsageDecorator; 32 import org.omg.CORBA.Any ; 33 import org.omg.CORBA.ORB ; 34 import org.omg.CosNotifyFilter.FilterOperations; 35 36 40 public class FilterUsageDecoratorTest extends TestCase 41 { 42 private FilterUsageDecorator objectUnderTest_; 43 44 private MockControl controlFilterOperations_; 45 46 private FilterOperations mockFilterOperations_; 47 48 private Any any_; 49 50 53 protected void setUp() throws Exception 54 { 55 super.setUp(); 56 57 any_ = ORB.init().create_any(); 58 59 controlFilterOperations_ = MockControl.createControl(FilterOperations.class); 60 mockFilterOperations_ = (FilterOperations) controlFilterOperations_.getMock(); 61 62 objectUnderTest_ = new FilterUsageDecorator(mockFilterOperations_); 63 } 64 65 70 public FilterUsageDecoratorTest(String name) 71 { 72 super(name); 73 } 74 75 public void testFilterOperationsAreDelegated() throws Exception 76 { 77 mockFilterOperations_.match(any_); 78 controlFilterOperations_.setReturnValue(true); 79 80 controlFilterOperations_.replay(); 81 82 FilterOperations handle = objectUnderTest_.getFilterOperations(); 83 84 assertTrue(handle.match(any_)); 85 86 controlFilterOperations_.verify(); 87 } 88 89 public void testGetLastUsage() throws Exception 90 { 91 mockFilterOperations_.match(any_); 92 controlFilterOperations_.setReturnValue(true, 2); 93 94 controlFilterOperations_.replay(); 95 96 FilterOperations handle = objectUnderTest_.getFilterOperations(); 97 98 handle.match(any_); 99 100 Date usage1 = objectUnderTest_.getLastUsage(); 101 102 assertTrue(usage1.getTime() <= System.currentTimeMillis()); 103 104 Thread.sleep(1000); 105 106 handle.match(any_); 107 108 Date usage2 = objectUnderTest_.getLastUsage(); 109 110 assertTrue(usage2.getTime() <= System.currentTimeMillis()); 111 112 assertTrue(usage1.getTime() < usage2.getTime()); 113 114 controlFilterOperations_.verify(); 115 } 116 117 public static Test suite() 118 { 119 return new TestSuite(FilterUsageDecoratorTest.class); 120 } 121 } 122 | Popular Tags |