Ignore:
Timestamp:
2018-08-05T20:53:19+02:00 (6 years ago)
Author:
Don-vip
Message:

drop FEST library. This project seems to have vanished years ago, and we don't use it a lot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModelTest.java

    r12620 r14092  
    22package org.openstreetmap.josm.gui.conflict.pair.nodes;
    33
    4 import static org.fest.reflect.core.Reflection.field;
    5 import static org.fest.reflect.core.Reflection.method;
    64import static org.junit.Assert.assertEquals;
    75import static org.junit.Assert.assertFalse;
     
    119import java.beans.PropertyChangeEvent;
    1210import java.beans.PropertyChangeListener;
     11import java.lang.reflect.Method;
     12import java.security.AccessController;
     13import java.security.PrivilegedAction;
    1314import java.util.ArrayList;
    1415import java.util.Arrays;
     
    2021import org.junit.Rule;
    2122import org.junit.Test;
     23import org.openstreetmap.josm.TestUtils;
    2224import org.openstreetmap.josm.data.osm.Node;
    2325import org.openstreetmap.josm.data.osm.Way;
     26import org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel;
    2427import org.openstreetmap.josm.testutils.DatasetFactory;
    2528import org.openstreetmap.josm.testutils.JOSMTestRules;
     
    4548    @SuppressWarnings("unchecked")
    4649    protected List<Node> inspectNodeList(NodeListMergeModel model, String name) {
    47         return method("get" + name + "Entries")
    48         .withReturnType(List.class)
    49         .in(model)
    50         .invoke();
     50        try {
     51            Method getNamedEntries = AbstractListMergeModel.class.getDeclaredMethod("get" + name + "Entries");
     52            AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
     53                getNamedEntries.setAccessible(true);
     54                return null;
     55            });
     56            return (List<Node>) getNamedEntries.invoke(model);
     57        } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException e) {
     58            throw new RuntimeException(e);
     59        }
    5160    }
    5261
    5362    protected DefaultListSelectionModel inspectListSelectionModel(NodeListMergeModel model, String name) {
    54         return field(name).ofType(DefaultListSelectionModel.class)
    55         .in(model)
    56         .get();
     63        try {
     64            return (DefaultListSelectionModel) TestUtils.getPrivateField(AbstractListMergeModel.class, model, name);
     65        } catch (ReflectiveOperationException e) {
     66            throw new RuntimeException(e);
     67        }
     68    }
     69
     70    @SuppressWarnings("unchecked")
     71    protected Set<PropertyChangeListener> getListeners(NodeListMergeModel model) throws ReflectiveOperationException {
     72        return (Set<PropertyChangeListener>)
     73                TestUtils.getPrivateField(AbstractListMergeModel.class, model, "listeners");
    5774    }
    5875
     
    644661    @SuppressWarnings("unchecked")
    645662    @Test
    646     public void testAddPropertyChangeListener() {
    647         NodeListMergeModel model = new NodeListMergeModel();
    648 
    649         PropertyChangeListener listener = new PropertyChangeListener() {
    650 
    651             public void propertyChange(PropertyChangeEvent evt) {
    652             }
     663    public void testAddPropertyChangeListener() throws ReflectiveOperationException {
     664        NodeListMergeModel model = new NodeListMergeModel();
     665
     666        PropertyChangeListener listener = evt -> {
    653667        };
    654668
    655669        model.addPropertyChangeListener(listener);
    656670
    657         Set<PropertyChangeListener> listeners = field("listeners")
    658         .ofType(Set.class)
    659         .in(model)
    660         .get();
     671        Set<PropertyChangeListener> listeners = getListeners(model);
    661672
    662673        assertEquals(1, listeners.size());
     
    666677    @SuppressWarnings("unchecked")
    667678    @Test
    668     public void testRemovePropertyChangeListener() {
    669         NodeListMergeModel model = new NodeListMergeModel();
    670 
    671         PropertyChangeListener listener = new PropertyChangeListener() {
    672 
    673             public void propertyChange(PropertyChangeEvent evt) {
    674             }
     679    public void testRemovePropertyChangeListener() throws ReflectiveOperationException {
     680        NodeListMergeModel model = new NodeListMergeModel();
     681
     682        PropertyChangeListener listener = evt -> {
    675683        };
    676684
     
    678686        model.removePropertyChangeListener(listener);
    679687
    680         Set<PropertyChangeListener> listeners = field("listeners")
    681         .ofType(Set.class)
    682         .in(model)
    683         .get();
     688        Set<PropertyChangeListener> listeners = getListeners(model);
    684689
    685690        assertEquals(0, listeners.size());
Note: See TracChangeset for help on using the changeset viewer.