source: josm/trunk/test/unit/org/openstreetmap/josm/data/validation/tests/ConditionalKeysTest.java@ 17275

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

see #16567 - upgrade almost all tests to JUnit 5, except those depending on WiremockRule

See https://github.com/tomakehurst/wiremock/issues/684

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.validation.tests;
3
4import static org.junit.jupiter.api.Assertions.assertFalse;
5import static org.junit.jupiter.api.Assertions.assertTrue;
6
7import org.junit.jupiter.api.BeforeEach;
8import org.junit.jupiter.api.Test;
9import org.junit.jupiter.api.extension.RegisterExtension;
10import org.openstreetmap.josm.testutils.JOSMTestRules;
11
12import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
13
14/**
15 * Unit test of {@link ConditionalKeys}.
16 */
17class ConditionalKeysTest {
18
19 private final ConditionalKeys test = new ConditionalKeys();
20
21 /**
22 * Setup test
23 */
24 @RegisterExtension
25 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
26 public JOSMTestRules rule = new JOSMTestRules().presets();
27
28 /**
29 * Setup test
30 * @throws Exception if an error occurs
31 */
32 @BeforeEach
33 public void setUp() throws Exception {
34 test.initialize();
35 }
36
37 /**
38 * Unit test of {@link ConditionalKeys#isKeyValid}.
39 */
40 @Test
41 void testKeyValid() {
42 assertTrue(test.isKeyValid("maxspeed:conditional"));
43 assertTrue(test.isKeyValid("motor_vehicle:conditional"));
44 assertTrue(test.isKeyValid("bicycle:conditional"));
45 assertTrue(test.isKeyValid("overtaking:hgv:conditional"));
46 assertTrue(test.isKeyValid("maxspeed:hgv:backward:conditional"));
47 assertTrue(test.isKeyValid("oneway:backward:conditional"));
48 assertTrue(test.isKeyValid("fee:conditional"));
49 assertTrue(test.isKeyValid("restriction:conditional"));
50 assertFalse(test.isKeyValid("maxspeed:hgv:conditional:backward"));
51 }
52
53 /**
54 * Unit test of {@link ConditionalKeys#isValueValid}.
55 */
56 @Test
57 void testValueValid() {
58 assertTrue(test.isValueValid("maxspeed:conditional", "120 @ (06:00-19:00)"));
59 assertFalse(test.isValueValid("maxspeed:conditional", " @ (06:00-19:00)"));
60 assertFalse(test.isValueValid("maxspeed:conditional", "120 (06:00-19:00)"));
61 assertFalse(test.isValueValid("maxspeed:conditional", "120 @ ()"));
62 assertFalse(test.isValueValid("maxspeed:conditional", "120 @ "));
63 assertFalse(test.isValueValid("maxspeed:conditional", "120 @ (06:00/19:00)"));
64 assertTrue(test.isValueValid("maxspeed:conditional", "120 @ (06:00-20:00); 100 @ (22:00-06:00)"));
65 assertTrue(test.isValueValid("motor_vehicle:conditional", "delivery @ (Mo-Fr 06:00-11:00,17:00-19:00;Sa 03:30-19:00)"));
66 assertTrue(test.isValueValid("motor_vehicle:conditional", "no @ (10:00-18:00 AND length>5)"));
67 assertFalse(test.isValueValid("motor_vehicle:conditional", "foo @ (10:00-18:00 AND length>5)"));
68 assertFalse(test.isValueValid("motor_vehicle:conditional", "no @ (10:00until18:00 AND length>5)"));
69 assertTrue(test.isValueValid("maxspeed:hgv:conditional", "60 @ (weight>7.5)"));
70 assertTrue(test.isValueValid("restriction:conditional", "no_left_turn @ (Mo-Fr 16:00-18:00)"));
71 }
72}
Note: See TracBrowser for help on using the repository browser.