Ignore:
Timestamp:
2017-05-01T14:32:35+02:00 (7 years ago)
Author:
Don-vip
Message:

add more unit tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/data/osm/ChangesetCacheTest.java

    r11121 r12034  
    77import static org.junit.Assert.assertTrue;
    88
     9import java.util.Arrays;
     10import java.util.Collection;
    911import java.util.Collections;
    1012import java.util.List;
    1113
    12 import org.junit.Assert;
     14import org.junit.After;
    1315import org.junit.Test;
    1416import org.openstreetmap.josm.TestUtils;
     17import org.openstreetmap.josm.gui.JosmUserIdentityManager;
    1518
    1619/**
     
    1821 */
    1922public class ChangesetCacheTest {
     23
     24    /**
     25     * Clears cache after each unit test.
     26     */
     27    @After
     28    public void after() {
     29        ChangesetCache.getInstance().clear();
     30    }
    2031
    2132    /**
     
    184195
    185196    /**
    186      * Unit test of method {@link ChangesetCache#getOpenChangesets}.
     197     * Unit test of methods {@link ChangesetCache#getOpenChangesets} / {@link ChangesetCache#getChangesets}.
    187198     */
    188199    @Test
     
    190201        final ChangesetCache cache = ChangesetCache.getInstance();
    191202        // empty cache => empty list
    192         Assert.assertTrue(
     203        assertTrue(
    193204                "Empty cache should produce an empty list.",
    194205                cache.getOpenChangesets().isEmpty()
     206        );
     207        assertTrue(
     208                "Empty cache should produce an empty list.",
     209                cache.getChangesets().isEmpty()
    195210        );
    196211
     
    199214        closedCs.setOpen(false);
    200215        cache.update(closedCs);
    201         Assert.assertTrue(
     216        assertTrue(
    202217                "Cache with only closed changesets should produce an empty list.",
    203218                cache.getOpenChangesets().isEmpty()
    204219        );
     220        assertEquals(1, cache.getChangesets().size());
    205221
    206222        // cache with open and closed changesets => list with only the open ones
     
    208224        openCs.setOpen(true);
    209225        cache.update(openCs);
    210         Assert.assertEquals(
     226        assertEquals(
    211227                Collections.singletonList(openCs),
    212228                cache.getOpenChangesets()
    213229        );
     230        assertEquals(2, cache.getChangesets().size());
     231    }
     232
     233    /**
     234     * Unit test of method {@link ChangesetCache#getOpenChangesetsForCurrentUser}.
     235     */
     236    @Test
     237    public void testGetOpenChangesetsForCurrentUser() {
     238        final ChangesetCache cache = ChangesetCache.getInstance();
     239        // empty cache => empty list
     240        assertTrue(
     241                "Empty cache should produce an empty list.",
     242                cache.getOpenChangesetsForCurrentUser().isEmpty()
     243        );
     244
     245        Changeset openCs1 = new Changeset(1);
     246        openCs1.setOpen(true);
     247        openCs1.setUser(User.getAnonymous());
     248        cache.update(openCs1);
     249
     250        Changeset openCs2 = new Changeset(2);
     251        openCs2.setOpen(true);
     252        openCs2.setUser(User.createLocalUser("foo"));
     253        cache.update(openCs2);
     254
     255        Changeset closedCs = new Changeset(3);
     256        closedCs.setOpen(false);
     257        cache.update(closedCs);
     258
     259        assertEquals(3, cache.getChangesets().size());
     260
     261        JosmUserIdentityManager.getInstance().setAnonymous();
     262        assertEquals(2, cache.getOpenChangesetsForCurrentUser().size());
     263
     264        JosmUserIdentityManager.getInstance().setPartiallyIdentified("foo");
     265        assertEquals(1, cache.getOpenChangesetsForCurrentUser().size());
     266    }
     267
     268    /**
     269     * Unit test of methods {@link ChangesetCache#remove}.
     270     */
     271    @Test
     272    public void testRemove() {
     273        final ChangesetCache cache = ChangesetCache.getInstance();
     274        Changeset cs1 = new Changeset(1);
     275        cache.update(cs1);
     276        assertEquals(1, cache.getChangesets().size());
     277
     278        cache.remove((Changeset) null);
     279        cache.remove(cs1);
     280        assertTrue(cache.getChangesets().isEmpty());
     281
     282        Changeset cs2 = new Changeset(2);
     283        cache.update((Collection<Changeset>) null);
     284        cache.update(Arrays.asList(cs1, cs2));
     285        assertEquals(2, cache.getChangesets().size());
     286
     287        cache.remove((Collection<Changeset>) null);
     288        cache.remove(Arrays.asList(cs1, cs2));
     289        assertTrue(cache.getChangesets().isEmpty());
    214290    }
    215291}
Note: See TracChangeset for help on using the changeset viewer.