Ignore:
Timestamp:
2014-08-01T19:17:40+02:00 (10 years ago)
Author:
Don-vip
Message:

fix #10206 - Check MapCSS validator assertions for local rules if new advanced option validator.check_assert_local_rules is enabled in preferences

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/data/validation/tests/MapCSSTagCheckerTest.java

    r7275 r7356  
    88
    99import java.io.StringReader;
    10 import java.text.MessageFormat;
    1110import java.util.LinkedHashSet;
    1211import java.util.List;
    13 import java.util.Map;
    1412import java.util.Set;
    1513
     
    1715import org.junit.Test;
    1816import org.openstreetmap.josm.JOSMFixture;
    19 import org.openstreetmap.josm.TestUtils;
     17import org.openstreetmap.josm.Main;
    2018import org.openstreetmap.josm.command.ChangePropertyCommand;
    2119import org.openstreetmap.josm.data.osm.Node;
    22 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2320import org.openstreetmap.josm.data.osm.Tag;
    2421import org.openstreetmap.josm.data.validation.Severity;
    25 import org.openstreetmap.josm.data.validation.TestError;
    2622import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.TagCheck;
    27 import org.openstreetmap.josm.tools.Predicate;
    28 import org.openstreetmap.josm.tools.Utils;
    2923
     24/**
     25 * JUnit Test of MapCSS TagChecker.
     26 */
    3027public class MapCSSTagCheckerTest {
    3128
     
    7269    @Test
    7370    public void testInit() throws Exception {
    74         final MapCSSTagChecker c = new MapCSSTagChecker();
     71        MapCSSTagChecker c = new MapCSSTagChecker();
    7572        c.initialize();
    7673
    77         LinkedHashSet<String> assertionErrors = new LinkedHashSet<>();
    78         for (final Set<TagCheck> schecks : c.checks.values()) {
    79             for (final TagCheck check : schecks) {
    80                 System.out.println("Check: "+check);
    81                 for (final Map.Entry<String, Boolean> i : check.assertions.entrySet()) {
    82                     System.out.println("- Assertion: "+i);
    83                     final OsmPrimitive p = TestUtils.createPrimitive(i.getKey());
    84                     final boolean isError = Utils.exists(c.getErrorsForPrimitive(p, true), new Predicate<TestError>() {
    85                         @Override
    86                         public boolean evaluate(TestError e) {
    87                             //noinspection EqualsBetweenInconvertibleTypes
    88                             return e.getTester().equals(check.rule);
    89                         }
    90                     });
    91                     if (isError != i.getValue()) {
    92                         final String error = MessageFormat.format("Expecting test ''{0}'' (i.e., {1}) to {2} {3} (i.e., {4})",
    93                                 check.getMessage(p), check.rule.selectors, i.getValue() ? "match" : "not match", i.getKey(), p.getKeys());
    94                         System.err.println(error);
    95                         assertionErrors.add(error);
    96                     }
    97                 }
    98             }
     74        Set<String> assertionErrors = new LinkedHashSet<>();
     75        for (Set<TagCheck> schecks : c.checks.values()) {
     76            assertionErrors.addAll(c.checkAsserts(schecks));
     77        }
     78        for (String msg : assertionErrors) {
     79            Main.error(msg);
    9980        }
    10081        assertTrue("not all assertions included in the tests are met", assertionErrors.isEmpty());
Note: See TracChangeset for help on using the changeset viewer.