Changeset 18976 in josm for trunk/test
- Timestamp:
- 2024-02-13T09:29:09+01:00 (14 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/DuplicateRelationTest.java
r18037 r18976 4 4 import static org.junit.jupiter.api.Assertions.assertEquals; 5 5 6 import org.junit.jupiter.api.Test; 6 7 import org.openstreetmap.josm.TestUtils; 7 8 import org.openstreetmap.josm.data.coor.LatLon; … … 12 13 import org.openstreetmap.josm.gui.progress.NullProgressMonitor; 13 14 import org.openstreetmap.josm.testutils.annotations.BasicPreferences; 14 15 import org.junit.jupiter.api.Test;16 15 17 16 /** … … 45 44 assertEquals(expected.code, error.getCode()); 46 45 assertEquals(expected.fixable, error.isFixable()); 46 if (error.isFixable()) 47 error.getFix(); 47 48 } 48 49 } … … 64 65 void testDuplicateRelationNoTags() { 65 66 doTest("", "", 66 new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true) ,67 new ExpectedResult(DuplicateRelation.SAME_RELATION, false));67 new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true) 68 ); 68 69 } 69 70 … … 74 75 void testDuplicateRelationSameTags() { 75 76 doTest("type=boundary", "type=boundary", 76 new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true) ,77 new ExpectedResult(DuplicateRelation.SAME_RELATION, false));77 new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true) 78 ); 78 79 } 79 80 … … 84 85 void testDuplicateRelationDifferentTags() { 85 86 doTest("type=boundary", "type=multipolygon", 86 new ExpectedResult(DuplicateRelation.SAME_RELATION, false)); 87 new ExpectedResult(DuplicateRelation.IDENTICAL_MEMBERLIST, false)); 88 } 89 90 /** 91 * Test of duplicate "tmc" relation, should not be ignored 92 */ 93 @Test 94 void testTMCRelation1() { 95 doTest("type=tmc t1=v1", "type=tmc t1=v1", 96 new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true)); 97 } 98 99 /** 100 * Test of "tmc" relation with equal members but different tags, should be ignored 101 */ 102 @Test 103 void testTMCRelation2() { 104 doTest("type=tmc t1=v1", "type=tmc t1=v2"); 105 } 106 107 /** 108 * Test with incomplete members 109 */ 110 @Test 111 void testIncomplete() { 112 DataSet ds = new DataSet(); 113 114 Node a = new Node(1234); 115 ds.addPrimitive(a); 116 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, a))); 117 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, a))); 118 performTest(ds, new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true)); 119 } 120 121 /** 122 * Test with different order of members, order doesn't count 123 */ 124 @Test 125 void testMemberOrder1() { 126 DataSet ds = new DataSet(); 127 128 Node a = new Node(1); 129 Node b = new Node(2); 130 ds.addPrimitive(a); 131 ds.addPrimitive(b); 132 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, a), new RelationMember(null, b))); 133 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, b), new RelationMember(null, a))); 134 performTest(ds, new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true)); 135 } 136 137 /** 138 * Test with different order of members, order counts 139 */ 140 @Test 141 void testMemberOrder2() { 142 DataSet ds = new DataSet(); 143 144 Node a = new Node(1); 145 a.setCoor(new LatLon(10.0, 5.0)); 146 Node b = new Node(2); 147 b.setCoor(new LatLon(10.0, 6.0)); 148 ds.addPrimitive(a); 149 ds.addPrimitive(b); 150 ds.addPrimitive(TestUtils.newRelation("type=route", new RelationMember(null, a), new RelationMember(null, b))); 151 ds.addPrimitive(TestUtils.newRelation("type=route", new RelationMember(null, b), new RelationMember(null, a))); 152 performTest(ds, new ExpectedResult(DuplicateRelation.SAME_RELATION, false)); 153 } 154 155 /** 156 * Test with different order of members, one is duplicated, order doesn't matter 157 */ 158 @Test 159 void testMemberOrder3() { 160 DataSet ds = new DataSet(); 161 162 Node a = new Node(1); 163 Node b = new Node(2); 164 ds.addPrimitive(a); 165 ds.addPrimitive(b); 166 ds.addPrimitive(TestUtils.newRelation("type=restriction", new RelationMember(null, a), 167 new RelationMember(null, b), new RelationMember(null, a))); 168 ds.addPrimitive(TestUtils.newRelation("type=restriction", new RelationMember(null, b), 169 new RelationMember(null, a), new RelationMember(null, a))); 170 performTest(ds, new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true)); 171 } 172 173 /** 174 * Test with different order of members, one is duplicated in one of the relations 175 */ 176 @Test 177 void testMemberOrder4() { 178 DataSet ds = new DataSet(); 179 Node a = new Node(new LatLon(10.0, 5.0)); 180 Node b = new Node(new LatLon(10.0, 6.0)); 181 ds.addPrimitive(a); 182 ds.addPrimitive(b); 183 ds.addPrimitive(TestUtils.newRelation("", new RelationMember(null, a), new RelationMember(null, b))); 184 ds.addPrimitive(TestUtils.newRelation("", new RelationMember(null, b), new RelationMember(null, a), new RelationMember(null, b))); 185 performTest(ds); 186 } 187 188 /** 189 * Test with two relations where members are different but geometry is equal. 190 */ 191 @Test 192 void testImport() { 193 DataSet ds = new DataSet(); 194 Node a = new Node(1234, 1); 195 a.setCoor(new LatLon(10.0, 5.0)); 196 197 Node b = new Node(new LatLon(10.0, 5.0)); 198 199 ds.addPrimitive(a); 200 ds.addPrimitive(b); 201 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, a))); 202 ds.addPrimitive(TestUtils.newRelation("type=multipolygon", new RelationMember(null, b))); 203 performTest(ds, new ExpectedResult(DuplicateRelation.DUPLICATE_RELATION, true)); 87 204 } 88 205 }
Note:
See TracChangeset
for help on using the changeset viewer.