Changeset 12747 in josm for trunk/test/unit/org/openstreetmap
- Timestamp:
- 2017-09-06T00:44:51+02:00 (7 years ago)
- Location:
- trunk/test/unit/org/openstreetmap/josm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/UserIdentityManagerTest.java
r12743 r12747 9 9 import static org.junit.Assert.assertTrue; 10 10 11 import org.junit. BeforeClass;11 import org.junit.Rule; 12 12 import org.junit.Test; 13 import org.openstreetmap.josm.JOSMFixture;14 13 import org.openstreetmap.josm.Main; 15 14 import org.openstreetmap.josm.data.osm.User; 16 15 import org.openstreetmap.josm.data.osm.UserInfo; 16 import org.openstreetmap.josm.testutils.JOSMTestRules; 17 18 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 17 19 18 20 /** … … 24 26 * Setup test. 25 27 */ 26 @BeforeClass 27 public static void initTestCase() { 28 JOSMFixture.createUnitTestFixture().init(); 29 } 28 @Rule 29 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") 30 public JOSMTestRules test = new JOSMTestRules().preferences(); 30 31 31 32 private static UserInfo newUserInfo() { -
trunk/test/unit/org/openstreetmap/josm/data/osm/ChangesetCacheTest.java
r12743 r12747 10 10 import java.util.Collection; 11 11 import java.util.Collections; 12 import java.util.List; 12 import java.util.concurrent.CountDownLatch; 13 import java.util.concurrent.TimeUnit; 13 14 14 15 import org.junit.After; 16 import org.junit.Before; 17 import org.junit.Rule; 15 18 import org.junit.Test; 16 import org.openstreetmap.josm.TestUtils;17 19 import org.openstreetmap.josm.data.UserIdentityManager; 20 import org.openstreetmap.josm.testutils.JOSMTestRules; 21 import org.openstreetmap.josm.tools.Logging; 22 23 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 18 24 19 25 /** … … 23 29 24 30 /** 25 * Clears cache after each unit test. 31 * Setup test. 32 */ 33 @Rule 34 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") 35 public JOSMTestRules test = new JOSMTestRules(); 36 37 private static final ChangesetCache cache = ChangesetCache.getInstance(); 38 39 /** 40 * Clears cache before/after each unit test. 26 41 */ 27 42 @After 28 public void after() { 29 ChangesetCache.getInstance().clear(); 43 @Before 44 public void clearCache() { 45 cache.listeners.clear(); 46 cache.clear(); 47 } 48 49 abstract class TestListener implements ChangesetCacheListener { 50 51 protected final CountDownLatch latch = new CountDownLatch(1); 52 protected ChangesetCacheEvent event; 53 54 @Override 55 public void changesetCacheUpdated(ChangesetCacheEvent event) { 56 this.event = event; 57 latch.countDown(); 58 } 59 60 protected final void await() { 61 try { 62 latch.await(2, TimeUnit.SECONDS); 63 } catch (InterruptedException e) { 64 Logging.error(e); 65 } 66 } 67 68 abstract void test(); 30 69 } 31 70 … … 38 77 } 39 78 40 @SuppressWarnings("unchecked") 41 private static List<ChangesetCacheListener> getListeners(ChangesetCache cache) throws ReflectiveOperationException { 42 return (List<ChangesetCacheListener>) TestUtils.getPrivateField(cache, "listeners"); 43 } 44 45 @Test 46 public void testAddAndRemoveListeners() throws ReflectiveOperationException { 47 ChangesetCache cache = ChangesetCache.getInstance(); 48 cache.clear(); 49 79 @Test 80 public void testAddAndRemoveListeners() { 50 81 // should work 51 82 cache.addChangesetCacheListener(null); … … 59 90 // adding a second time - should work too 60 91 cache.addChangesetCacheListener(listener); 61 assertEquals(1, getListeners(cache).size()); // ... but only added once92 assertEquals(1, cache.listeners.size()); // ... but only added once 62 93 63 94 cache.removeChangesetCacheListener(null); 64 95 65 96 cache.removeChangesetCacheListener(listener); 66 assertTrue( getListeners(cache).isEmpty());97 assertTrue(cache.listeners.isEmpty()); 67 98 } 68 99 69 100 @Test 70 101 public void testUpdateGetRemoveCycle() { 71 ChangesetCache cache = ChangesetCache.getInstance();72 cache.clear();73 74 102 cache.update(new Changeset(1)); 75 103 assertEquals(1, cache.size()); … … 82 110 @Test 83 111 public void testUpdateTwice() { 84 ChangesetCache cache = ChangesetCache.getInstance();85 cache.clear();86 87 112 Changeset cs = new Changeset(1); 88 113 cs.setIncomplete(false); … … 107 132 108 133 @Test 109 public void testContains() throws ReflectiveOperationException { 110 ChangesetCache cache = ChangesetCache.getInstance(); 111 getListeners(cache).clear(); 112 cache.clear(); 113 134 public void testContains() { 114 135 Changeset cs = new Changeset(1); 115 136 cache.update(cs); … … 125 146 126 147 @Test 127 public void testFireingEventsAddAChangeset() throws ReflectiveOperationException { 128 ChangesetCache cache = ChangesetCache.getInstance(); 129 cache.clear(); 130 getListeners(cache).clear(); 131 132 // should work 133 ChangesetCacheListener listener = new ChangesetCacheListener() { 134 @Override 135 public void changesetCacheUpdated(ChangesetCacheEvent event) { 148 public void testFireingEventsAddAChangeset() { 149 TestListener listener = new TestListener() { 150 @Override 151 public void test() { 152 await(); 136 153 assertNotNull(event); 137 154 assertEquals(1, event.getAddedChangesets().size()); … … 143 160 cache.addChangesetCacheListener(listener); 144 161 cache.update(new Changeset(1)); 162 listener.test(); 145 163 cache.removeChangesetCacheListener(listener); 146 164 } 147 165 148 166 @Test 149 public void testFireingEventsUpdateChangeset() throws ReflectiveOperationException { 150 ChangesetCache cache = ChangesetCache.getInstance(); 151 cache.clear(); 152 getListeners(cache).clear(); 153 154 // should work 155 ChangesetCacheListener listener = new ChangesetCacheListener() { 156 @Override 157 public void changesetCacheUpdated(ChangesetCacheEvent event) { 167 public void testFireingEventsUpdateChangeset() { 168 TestListener listener = new TestListener() { 169 @Override 170 void test() { 171 await(); 158 172 assertNotNull(event); 159 173 assertTrue(event.getAddedChangesets().isEmpty()); … … 163 177 } 164 178 }; 179 Changeset cs = new Changeset(1); 180 cache.update(cs); 181 182 cache.addChangesetCacheListener(listener); 183 cache.update(cs); 184 listener.test(); 185 cache.removeChangesetCacheListener(listener); 186 } 187 188 @Test 189 public void testFireingEventsRemoveChangeset() { 190 // Waiter listener to ensure the second listener does not receive the first event 191 TestListener waiter = new TestListener() { 192 @Override 193 void test() { 194 await(); 195 } 196 }; 197 cache.addChangesetCacheListener(waiter); 165 198 cache.update(new Changeset(1)); 166 167 cache.addChangesetCacheListener(listener); 168 cache.update(new Changeset(1)); 169 cache.removeChangesetCacheListener(listener); 170 } 171 172 @Test 173 public void testFireingEventsRemoveChangeset() throws ReflectiveOperationException { 174 ChangesetCache cache = ChangesetCache.getInstance(); 175 cache.clear(); 176 getListeners(cache).clear(); 177 178 // should work 179 ChangesetCacheListener listener = new ChangesetCacheListener() { 180 @Override 181 public void changesetCacheUpdated(ChangesetCacheEvent event) { 199 waiter.test(); 200 cache.removeChangesetCacheListener(waiter); 201 202 TestListener listener = new TestListener() { 203 @Override 204 void test() { 205 await(); 182 206 assertNotNull(event); 183 207 assertTrue(event.getAddedChangesets().isEmpty()); … … 187 211 } 188 212 }; 189 cache.update(new Changeset(1));190 191 213 cache.addChangesetCacheListener(listener); 192 214 cache.remove(1); 215 listener.test(); 193 216 cache.removeChangesetCacheListener(listener); 194 217 } … … 199 222 @Test 200 223 public void testGetOpenChangesets() { 201 final ChangesetCache cache = ChangesetCache.getInstance();202 224 // empty cache => empty list 203 225 assertTrue( … … 236 258 @Test 237 259 public void testGetOpenChangesetsForCurrentUser() { 238 final ChangesetCache cache = ChangesetCache.getInstance();239 260 // empty cache => empty list 240 261 assertTrue( … … 271 292 @Test 272 293 public void testRemove() { 273 final ChangesetCache cache = ChangesetCache.getInstance();274 294 Changeset cs1 = new Changeset(1); 275 295 cache.update(cs1); -
trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java
r12643 r12747 15 15 import org.openstreetmap.josm.JOSMFixture; 16 16 import org.openstreetmap.josm.Main; 17 import org.openstreetmap.josm.data.UserIdentityManager; 17 18 import org.openstreetmap.josm.data.osm.event.SelectionEventManager; 18 19 import org.openstreetmap.josm.data.projection.Projections; … … 264 265 // Set log level to info 265 266 Logging.setLogLevel(Logging.LEVEL_INFO); 267 // Assume anonymous user 268 UserIdentityManager.getInstance().setAnonymous(); 266 269 267 270 // Set up i18n
Note:
See TracChangeset
for help on using the changeset viewer.