1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package org.openstreetmap.josm.gui.correction;
|
---|
3 |
|
---|
4 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
---|
5 | import static org.junit.jupiter.api.Assertions.assertFalse;
|
---|
6 | import static org.junit.jupiter.api.Assertions.assertNotNull;
|
---|
7 | import static org.junit.jupiter.api.Assertions.assertNull;
|
---|
8 | import static org.junit.jupiter.api.Assertions.assertTrue;
|
---|
9 |
|
---|
10 | import java.util.Arrays;
|
---|
11 |
|
---|
12 | import org.junit.jupiter.api.extension.RegisterExtension;
|
---|
13 | import org.junit.jupiter.api.Test;
|
---|
14 | import org.openstreetmap.josm.data.correction.TagCorrection;
|
---|
15 | import org.openstreetmap.josm.testutils.JOSMTestRules;
|
---|
16 |
|
---|
17 | import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
---|
18 |
|
---|
19 | /**
|
---|
20 | * Unit tests of {@link TagCorrectionTable} class.
|
---|
21 | */
|
---|
22 | class TagCorrectionTableTest {
|
---|
23 |
|
---|
24 | /**
|
---|
25 | * Setup tests
|
---|
26 | */
|
---|
27 | @RegisterExtension
|
---|
28 | @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
|
---|
29 | public JOSMTestRules test = new JOSMTestRules();
|
---|
30 |
|
---|
31 | /**
|
---|
32 | * Test of {@link TagCorrectionTable#TagCorrectionTable}.
|
---|
33 | */
|
---|
34 | @Test
|
---|
35 | void testTagCorrectionTable() {
|
---|
36 | TagCorrection tc1 = new TagCorrection("foo", "bar", "foo", "baz");
|
---|
37 | TagCorrection tc2 = new TagCorrection("bar", "foo", "baz", "foo");
|
---|
38 | TagCorrectionTable t = new TagCorrectionTable(Arrays.asList(tc1, tc2));
|
---|
39 | assertNotNull(t.getCellRenderer(0, 0));
|
---|
40 | assertNotNull(t.getCellRenderer(0, 1));
|
---|
41 | assertNotNull(t.getCellRenderer(0, 2));
|
---|
42 | assertNotNull(t.getCellRenderer(0, 3));
|
---|
43 | assertNotNull(t.getCellRenderer(0, 4));
|
---|
44 | assertNotNull(t.getCellRenderer(1, 0));
|
---|
45 | assertNotNull(t.getCellRenderer(1, 1));
|
---|
46 | assertNotNull(t.getCellRenderer(1, 2));
|
---|
47 | assertNotNull(t.getCellRenderer(1, 3));
|
---|
48 | assertNotNull(t.getCellRenderer(1, 4));
|
---|
49 | TagCorrectionTableModel model = t.getCorrectionTableModel();
|
---|
50 | assertEquals(2, model.getCorrections().size());
|
---|
51 | assertEquals(2, model.getRowCount());
|
---|
52 | assertEquals(4, model.getApplyColumn());
|
---|
53 | assertTrue(model.getApply(0));
|
---|
54 | assertEquals(String.class, model.getColumnClass(0));
|
---|
55 | assertEquals(Boolean.class, model.getColumnClass(4));
|
---|
56 | assertEquals("Old key", model.getColumnName(0));
|
---|
57 | assertEquals("Old value", model.getColumnName(1));
|
---|
58 | assertEquals("New key", model.getColumnName(2));
|
---|
59 | assertEquals("New value", model.getColumnName(3));
|
---|
60 | assertEquals("Apply?", model.getColumnName(4));
|
---|
61 | assertNull(model.getColumnName(5));
|
---|
62 | assertFalse(model.isCellEditable(0, 0));
|
---|
63 | assertFalse(model.isCellEditable(1, 0));
|
---|
64 | assertTrue(model.isCellEditable(0, 4));
|
---|
65 | assertTrue(model.isCellEditable(1, 4));
|
---|
66 | assertEquals("foo", model.getValueAt(0, 0));
|
---|
67 | assertEquals("bar", model.getValueAt(0, 1));
|
---|
68 | assertEquals("foo", model.getValueAt(0, 2));
|
---|
69 | assertEquals("baz", model.getValueAt(0, 3));
|
---|
70 | assertTrue((Boolean) model.getValueAt(0, 4));
|
---|
71 | assertNull(model.getValueAt(0, 5));
|
---|
72 | assertEquals("bar", model.getValueAt(1, 0));
|
---|
73 | assertEquals("foo", model.getValueAt(1, 1));
|
---|
74 | assertEquals("baz", model.getValueAt(1, 2));
|
---|
75 | assertEquals("foo", model.getValueAt(1, 3));
|
---|
76 | assertTrue((Boolean) model.getValueAt(1, 4));
|
---|
77 | assertNull(model.getValueAt(1, 5));
|
---|
78 | model.setValueAt("", 0, 0);
|
---|
79 | assertEquals("foo", model.getValueAt(0, 0));
|
---|
80 | model.setValueAt("", 0, 4);
|
---|
81 | assertTrue((Boolean) model.getValueAt(0, 4));
|
---|
82 | model.setValueAt(Boolean.FALSE, 0, 4);
|
---|
83 | assertFalse((Boolean) model.getValueAt(0, 4));
|
---|
84 | TagCorrection[] array = new TagCorrection[15];
|
---|
85 | Arrays.fill(array, tc1);
|
---|
86 | t = new TagCorrectionTable(Arrays.asList(array));
|
---|
87 | assertEquals(array.length, t.getCorrectionTableModel().getCorrections().size());
|
---|
88 | }
|
---|
89 | }
|
---|