Changeset 14092 in josm for trunk/test/unit/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModelTest.java
- Timestamp:
- 2018-08-05T20:53:19+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModelTest.java
r12620 r14092 2 2 package org.openstreetmap.josm.gui.conflict.pair.nodes; 3 3 4 import static org.fest.reflect.core.Reflection.field;5 import static org.fest.reflect.core.Reflection.method;6 4 import static org.junit.Assert.assertEquals; 7 5 import static org.junit.Assert.assertFalse; … … 11 9 import java.beans.PropertyChangeEvent; 12 10 import java.beans.PropertyChangeListener; 11 import java.lang.reflect.Method; 12 import java.security.AccessController; 13 import java.security.PrivilegedAction; 13 14 import java.util.ArrayList; 14 15 import java.util.Arrays; … … 20 21 import org.junit.Rule; 21 22 import org.junit.Test; 23 import org.openstreetmap.josm.TestUtils; 22 24 import org.openstreetmap.josm.data.osm.Node; 23 25 import org.openstreetmap.josm.data.osm.Way; 26 import org.openstreetmap.josm.gui.conflict.pair.AbstractListMergeModel; 24 27 import org.openstreetmap.josm.testutils.DatasetFactory; 25 28 import org.openstreetmap.josm.testutils.JOSMTestRules; … … 45 48 @SuppressWarnings("unchecked") 46 49 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 } 51 60 } 52 61 53 62 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"); 57 74 } 58 75 … … 644 661 @SuppressWarnings("unchecked") 645 662 @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 -> { 653 667 }; 654 668 655 669 model.addPropertyChangeListener(listener); 656 670 657 Set<PropertyChangeListener> listeners = field("listeners") 658 .ofType(Set.class) 659 .in(model) 660 .get(); 671 Set<PropertyChangeListener> listeners = getListeners(model); 661 672 662 673 assertEquals(1, listeners.size()); … … 666 677 @SuppressWarnings("unchecked") 667 678 @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 -> { 675 683 }; 676 684 … … 678 686 model.removePropertyChangeListener(listener); 679 687 680 Set<PropertyChangeListener> listeners = field("listeners") 681 .ofType(Set.class) 682 .in(model) 683 .get(); 688 Set<PropertyChangeListener> listeners = getListeners(model); 684 689 685 690 assertEquals(0, listeners.size());
Note:
See TracChangeset
for help on using the changeset viewer.