source: josm/trunk/test/unit/org/openstreetmap/josm/gui/autofilter/AutoFilterManagerTest.java@ 12407

Last change on this file since 12407 was 12407, checked in by Don-vip, 7 years ago

see #14929 - add support for numeric ranges + unit test

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.autofilter;
3
4import static org.junit.Assert.assertEquals;
5
6import java.util.Arrays;
7import java.util.Set;
8import java.util.TreeSet;
9import java.util.function.Consumer;
10
11import org.junit.Rule;
12import org.junit.Test;
13import org.openstreetmap.josm.data.osm.OsmPrimitive;
14import org.openstreetmap.josm.data.osm.OsmUtils;
15import org.openstreetmap.josm.testutils.JOSMTestRules;
16
17import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
18
19/**
20 * Unit tests of {@link AutoFilterManager} class.
21 */
22public class AutoFilterManagerTest {
23
24 /**
25 * Setup tests
26 */
27 @Rule
28 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
29 public JOSMTestRules test = new JOSMTestRules();
30
31 /**
32 * Unit test of {@link AutoFilterManager#getTagValuesConsumer}.
33 */
34 @Test
35 public void testTagValuesConsumer() {
36 Set<String> values = new TreeSet<>();
37 Consumer<OsmPrimitive> consumer = AutoFilterManager.getTagValuesConsumer("level", values);
38 Arrays.asList(
39 OsmUtils.createPrimitive("way level=-4--5"),
40 OsmUtils.createPrimitive("way level=-2"),
41 OsmUtils.createPrimitive("node level=0"),
42 OsmUtils.createPrimitive("way level=1"),
43 OsmUtils.createPrimitive("way level=2;3"),
44 OsmUtils.createPrimitive("way level=6-9"),
45 OsmUtils.createPrimitive("way level=10;12-13")
46 ).forEach(consumer);
47 assertEquals(new TreeSet<>(Arrays.asList("-5", "-4", "-2", "0", "1", "2", "3", "6", "7", "8", "9", "10", "12", "13")), values);
48 }
49}
Note: See TracBrowser for help on using the repository browser.