Changeset 15981 in josm for trunk/test/unit/org


Ignore:
Timestamp:
2020-03-01T23:35:51+01:00 (5 years ago)
Author:
simon04
Message:

see #18802 - MapCSSTagChecker: no not persist assertions

Check assertions immediately, when needed, but do not keep them.

File:
1 edited

Legend:

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

    r15979 r15981  
    1616import java.util.Set;
    1717
     18import org.junit.Before;
    1819import org.junit.Rule;
    1920import org.junit.Test;
     
    2829import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2930import org.openstreetmap.josm.data.osm.OsmUtils;
     31import org.openstreetmap.josm.data.preferences.sources.ExtendedSourceEntry;
     32import org.openstreetmap.josm.data.preferences.sources.ValidatorPrefHelper;
    3033import org.openstreetmap.josm.data.validation.Severity;
    3134import org.openstreetmap.josm.data.validation.TestError;
     
    5356    public JOSMTestRules test = new JOSMTestRules().projection().territories().preferences();
    5457
     58    /**
     59     * Setup test.
     60     */
     61    @Before
     62    public void setUp() {
     63        MapCSSTagCheckerAsserts.clear();
     64    }
     65
    5566    static MapCSSTagChecker buildTagChecker(String css) throws ParseException {
    5667        final MapCSSTagChecker test = new MapCSSTagChecker();
    57         test.checks.putAll("test", TagCheck.readMapCSS(new StringReader(css)).parseChecks);
     68        Set<String> errors = new HashSet<>();
     69        test.checks.putAll("test", TagCheck.readMapCSS(new StringReader(css), "", errors::add).parseChecks);
     70        assertTrue(errors.toString(), errors.isEmpty());
    5871        return test;
    5972    }
     
    182195        MapCSSTagChecker c = new MapCSSTagChecker();
    183196        c.initialize();
    184 
     197    }
     198
     199    /**
     200     * Unit test for all {@link MapCSSTagChecker.TagTest} assertions.
     201     * @throws Exception if an error occurs
     202     */
     203    @Test
     204    public void testAssertions() throws Exception {
     205        MapCSSTagChecker c = new MapCSSTagChecker();
    185206        Set<String> assertionErrors = new LinkedHashSet<>();
    186         for (Set<TagCheck> schecks : c.checks.values()) {
    187             assertionErrors.addAll(MapCSSTagCheckerAsserts.checkAsserts(schecks));
    188         }
     207
     208        // initialize
     209        for (ExtendedSourceEntry entry : ValidatorPrefHelper.INSTANCE.getDefault()) {
     210            c.addMapCSS(entry.url, assertionErrors::add);
     211        }
     212
    189213        for (String msg : assertionErrors) {
    190214            Logging.error(msg);
     
    205229                "  assertNoMatch: \"node amenity=restaurant\";\n" +
    206230                "}");
    207         Set<String> errors = MapCSSTagCheckerAsserts.checkAsserts(test.checks.get("test"));
    208         assertTrue(errors.toString(), errors.isEmpty());
     231        assertNotNull(test);
    209232    }
    210233
     
    221244                "  assertNoMatch: \"way name=Hauptstrasse\";\n" +
    222245                "}");
    223         Set<String> errors = MapCSSTagCheckerAsserts.checkAsserts(test.checks.get("test"));
    224         assertTrue(errors.toString(), errors.isEmpty());
     246        assertNotNull(test);
    225247    }
    226248
Note: See TracChangeset for help on using the changeset viewer.