1 33 34 package edu.rice.cs.drjava.model; 35 36 import edu.rice.cs.drjava.DrJavaTestCase; 37 import edu.rice.cs.drjava.model.GlobalModelTestCase.TestListener; 38 39 44 public final class EventNotifierTest extends DrJavaTestCase { 45 46 protected GlobalEventNotifier _notifier; 47 48 public void setUp() throws Exception { 49 super.setUp(); 50 _notifier = new GlobalEventNotifier(); 51 } 52 53 public void tearDown() throws Exception { 54 _notifier = null; 55 super.tearDown(); 56 } 57 58 62 public void testAddAndRemoveListeners() { 63 TestListener listener1 = new TestListener() { 64 public void junitSuiteStarted(int numTests) { 65 junitSuiteStartedCount++; 66 } 67 public void interpreterExited(int status) { 68 interpreterExitedCount++; 69 } 70 }; 71 TestListener listener2 = new TestListener() { 72 public void junitSuiteStarted(int numTests) { 73 junitSuiteStartedCount++; 74 } 75 }; 76 77 _notifier.addListener(listener1); 78 _notifier.addListener(listener2); 79 _notifier.junitSuiteStarted(1); 80 81 listener1.assertJUnitSuiteStartedCount(1); 82 listener2.assertJUnitSuiteStartedCount(1); 83 84 _notifier.removeListener(listener2); 86 _notifier.interpreterExited(1); 87 88 listener1.assertInterpreterExitedCount(1); 89 listener2.assertInterpreterExitedCount(0); 90 } 91 92 95 public void testPollListeners() { 96 TestListener trueListener = new TestListener() { 97 public boolean canAbandonFile(OpenDefinitionsDocument doc) { return true; } 98 }; 99 TestListener falseListener = new TestListener() { 100 public boolean canAbandonFile(OpenDefinitionsDocument doc) { return false; } 101 }; 102 103 _notifier.addListener(trueListener); 105 boolean result = _notifier.canAbandonFile(null); 106 assertTrue("should be able to abandon file", result); 107 108 _notifier.addListener(falseListener); 110 result = _notifier.canAbandonFile(null); 111 assertTrue("should not be able to abandon file", !result); 112 } 113 } 114 | Popular Tags |