- Timestamp:
- 2014-01-01T15:27:25+01:00 (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/validation/OsmValidator.java
r6581 r6592 34 34 import org.openstreetmap.josm.data.validation.tests.DuplicatedWayNodes; 35 35 import org.openstreetmap.josm.data.validation.tests.Highways; 36 import org.openstreetmap.josm.data.validation.tests.Lanes; 36 37 import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker; 37 38 import org.openstreetmap.josm.data.validation.tests.MultipolygonTest; … … 120 121 OpeningHourTest.class, // 2901 .. 2999 121 122 MapCSSTagChecker.class, // 3000 .. 3099 123 Lanes.class, // 3100 .. 3199 122 124 }; 123 125 -
trunk/src/org/openstreetmap/josm/tools/Predicates.java
r6573 r6592 11 11 12 12 private Predicates() { 13 } 14 15 /** 16 * Returns the negation of {@code predicate}. 17 */ 18 public static <T> Predicate<T> not(final Predicate<T> predicate) { 19 return new Predicate<T>() { 20 @Override 21 public boolean evaluate(T obj) { 22 return !predicate.evaluate(obj); 23 } 24 }; 25 } 26 27 /** 28 * Returns a {@link Predicate} executing {@link Utils#equal}. 29 */ 30 public static <T> Predicate<T> equalTo(final T ref) { 31 return new Predicate<T>() { 32 @Override 33 public boolean evaluate(T obj) { 34 return Utils.equal(obj, ref); 35 } 36 }; 13 37 } 14 38 -
trunk/test/unit/org/openstreetmap/TestUtils.java
r6562 r6592 2 2 package org.openstreetmap; 3 3 4 import org.junit.Ignore; 4 import org.junit.Before; 5 import org.junit.Test; 6 import org.openstreetmap.josm.Main; 7 import org.openstreetmap.josm.data.osm.Node; 8 import org.openstreetmap.josm.data.osm.OsmPrimitive; 9 import org.openstreetmap.josm.data.osm.Relation; 10 import org.openstreetmap.josm.data.osm.Way; 11 import org.openstreetmap.josm.tools.TextTagParser; 5 12 6 @Ignore 13 import java.util.Map; 14 15 import static org.hamcrest.CoreMatchers.is; 16 import static org.junit.Assert.assertThat; 17 import static org.junit.Assert.assertTrue; 18 7 19 public class TestUtils { 8 private TestUtils() {9 }10 20 11 21 /** … … 20 30 return testDataRoot.endsWith("/") ? testDataRoot : testDataRoot + "/"; 21 31 } 32 33 public static OsmPrimitive createPrimitive(String assertion) { 34 if (Main.pref == null) { 35 Main.initApplicationPreferences(); 36 } 37 final String[] x = assertion.split("\\s+", 2); 38 final OsmPrimitive p = "n".equals(x[0]) || "node".equals(x[0]) 39 ? new Node() 40 : "w".equals(x[0]) || "way".equals(x[0]) 41 ? new Way() 42 : "r".equals(x[0]) || "relation".equals(x[0]) 43 ? new Relation() 44 : null; 45 if (p == null) { 46 throw new IllegalArgumentException("Expecting n/node/w/way/r/relation, but got " + x[0]); 47 } 48 for (final Map.Entry<String, String> i : TextTagParser.readTagsFromText(x[1]).entrySet()) { 49 p.put(i.getKey(), i.getValue()); 50 } 51 return p; 52 } 53 54 @Test 55 public void testCreatePrimitive() throws Exception { 56 final OsmPrimitive p = createPrimitive("way name=Foo railway=rail"); 57 assertTrue(p instanceof Way); 58 assertThat(p.keySet().size(), is(2)); 59 assertThat(p.get("name"), is("Foo")); 60 assertThat(p.get("railway"), is("rail")); 61 } 22 62 } -
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java
r6548 r6592 3 3 import org.junit.Before; 4 4 import org.junit.Test; 5 import org.openstreetmap.TestUtils; 5 6 import org.openstreetmap.josm.Main; 6 7 import org.openstreetmap.josm.command.ChangePropertyCommand; … … 65 66 } 66 67 67 OsmPrimitive createPrimitiveForAssertion(String assertion) {68 final String[] x = assertion.split("\\s+", 2);69 final OsmPrimitive p = "n".equals(x[0]) || "node".equals(x[0])70 ? new Node()71 : "w".equals(x[0]) || "way".equals(x[0])72 ? new Way()73 : "r".equals(x[0]) || "relation".equals(x[0])74 ? new Relation()75 : null;76 if (p == null) {77 throw new IllegalArgumentException("Expecting n/node/w/way/r/relation, but got " + x[0]);78 }79 for (final Map.Entry<String, String> i : TextTagParser.readTagsFromText(x[1]).entrySet()) {80 p.put(i.getKey(), i.getValue());81 }82 return p;83 }84 85 @Test86 public void testCreatePrimitiveForAssertion() throws Exception {87 final OsmPrimitive p = createPrimitiveForAssertion("way name=Foo railway=rail");88 assertTrue(p instanceof Way);89 assertThat(p.keySet().size(), is(2));90 assertThat(p.get("name"), is("Foo"));91 assertThat(p.get("railway"), is("rail"));92 }93 94 68 @Test(expected = IllegalArgumentException.class) 95 69 public void testCreatePrimitiveForAssertionFail() throws Exception { 96 final OsmPrimitive p = createPrimitiveForAssertion("noway name=Foo");70 final OsmPrimitive p = TestUtils.createPrimitive("noway name=Foo"); 97 71 } 98 72 … … 105 79 for (final MapCSSTagChecker.TagCheck check : c.checks) { 106 80 for (final Map.Entry<String, Boolean> i : check.assertions.entrySet()) { 107 final OsmPrimitive p = createPrimitiveForAssertion(i.getKey());81 final OsmPrimitive p = TestUtils.createPrimitive(i.getKey()); 108 82 if (check.matchesPrimitive(p) != i.getValue()) { 109 83 final String error = MessageFormat.format("Expecting test ''{0}'' (i.e., {1}) to {2} {3} (i.e., {4})",
Note:
See TracChangeset
for help on using the changeset viewer.