Changeset 10467 in josm for trunk/test/unit/org/openstreetmap/josm/data/validation
- Timestamp:
- 2016-06-24T00:30:42+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/OpeningHourTestTest.java
r8863 r10467 17 17 18 18 import org.junit.Before; 19 import org.junit.Rule; 19 20 import org.junit.Test; 20 import org.openstreetmap.josm.JOSMFixture;21 21 import org.openstreetmap.josm.data.osm.Tag; 22 22 import org.openstreetmap.josm.data.validation.Severity; … … 25 25 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader; 26 26 import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem; 27 import org.openstreetmap.josm.testutils.JOSMTestRules; 28 29 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 27 30 28 31 /** 29 32 * JUnit Test of "Opening hours" validation test. 33 * @see OpeningHourTest 30 34 */ 31 35 public class OpeningHourTestTest { 32 33 private static final OpeningHourTest OPENING_HOUR_TEST = new OpeningHourTest(); 36 /** 37 * We need prefs for this. We check strings so we need i18n. 38 */ 39 @Rule 40 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD") 41 public JOSMTestRules test = new JOSMTestRules().preferences().i18n(); 42 43 private OpeningHourTest openingHourTest; 34 44 35 45 /** … … 39 49 @Before 40 50 public void setUp() throws Exception { 41 JOSMFixture.createUnitTestFixture().init();42 OPENING_HOUR_TEST.initialize();51 openingHourTest = new OpeningHourTest(); 52 openingHourTest.initialize(); 43 53 } 44 54 … … 50 60 final String key = "opening_hours"; 51 61 // frequently used tags according to https://taginfo.openstreetmap.org/keys/opening_hours#values 52 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "24/7"), isEmpty());53 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 08:30-20:00"), isEmpty());54 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr sunrise-sunset"), isEmpty());55 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "09:00-21:00"), isEmpty());56 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise"), isEmpty());57 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise"), hasSize(1));58 assertEquals(Severity.OTHER, OPENING_HOUR_TEST.checkOpeningHourSyntax(62 assertThat(openingHourTest.checkOpeningHourSyntax(key, "24/7"), isEmpty()); 63 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 08:30-20:00"), isEmpty()); 64 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr sunrise-sunset"), isEmpty()); 65 assertThat(openingHourTest.checkOpeningHourSyntax(key, "09:00-21:00"), isEmpty()); 66 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise"), isEmpty()); 67 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise"), hasSize(1)); 68 assertEquals(Severity.OTHER, openingHourTest.checkOpeningHourSyntax( 59 69 key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise").get(0).getSeverity()); 60 assertEquals("Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise", OPENING_HOUR_TEST.checkOpeningHourSyntax(70 assertEquals("Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise", openingHourTest.checkOpeningHourSyntax( 61 71 key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise").get(0).getPrettifiedValue()); 62 72 } … … 64 74 @Test 65 75 public void testI18n() { 66 assertTrue( OPENING_HOUR_TEST.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "de")76 assertTrue(openingHourTest.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "de") 67 77 .get(0).toString().contains("Unerwartetes Zeichen")); 68 assertFalse( OPENING_HOUR_TEST.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "en")78 assertFalse(openingHourTest.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "en") 69 79 .get(0).toString().contains("Unerwartetes Zeichen")); 70 80 } … … 76 86 public void testCheckOpeningHourSyntax2() { 77 87 final String key = "opening_hours"; 78 final List<OpeningHourTest.OpeningHoursTestError> errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Tue");88 final List<OpeningHourTest.OpeningHoursTestError> errors = openingHourTest.checkOpeningHourSyntax(key, "Mo-Tue"); 79 89 assertThat(errors, hasSize(2)); 80 90 assertEquals(key + " - Mo-Tue <--- (Please use the abbreviation \"Tu\" for \"tue\".)", errors.get(0).getMessage()); … … 92 102 public void testCheckOpeningHourSyntax3() { 93 103 final String key = "opening_hours"; 94 final List<OpeningHourTest.OpeningHoursTestError> errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Sa-Su 10.00-20.00");104 final List<OpeningHourTest.OpeningHoursTestError> errors = openingHourTest.checkOpeningHourSyntax(key, "Sa-Su 10.00-20.00"); 95 105 assertThat(errors, hasSize(2)); 96 106 assertEquals(key + " - Sa-Su 10. <--- (Please use \":\" as hour/minute-separator)", errors.get(0).getMessage()); … … 106 116 @Test 107 117 public void testCheckOpeningHourSyntax4() { 108 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(null, null), isEmpty());109 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(null, ""), isEmpty());110 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(null, " "), isEmpty());118 assertThat(openingHourTest.checkOpeningHourSyntax(null, null), isEmpty()); 119 assertThat(openingHourTest.checkOpeningHourSyntax(null, ""), isEmpty()); 120 assertThat(openingHourTest.checkOpeningHourSyntax(null, " "), isEmpty()); 111 121 } 112 122 … … 117 127 public void testCheckOpeningHourSyntax5() { 118 128 final String key = "opening_hours"; 119 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "badtext"), hasSize(1));129 assertThat(openingHourTest.checkOpeningHourSyntax(key, "badtext"), hasSize(1)); 120 130 assertEquals(key + " - ba <--- (Unexpected token: \"b\" Invalid/unsupported syntax.)", 121 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "badtext").get(0).getMessage());122 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m"), hasSize(1));131 openingHourTest.checkOpeningHourSyntax(key, "badtext").get(0).getMessage()); 132 assertThat(openingHourTest.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m"), hasSize(1)); 123 133 assertEquals(key + " - 5.00 p <--- (hyphen (-) or open end (+) in time range expected. " 124 134 + "For working with points in time, the mode for opening_hours.js has to be altered. Maybe wrong tag?)", 125 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m").get(0).getMessage());135 openingHourTest.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m").get(0).getMessage()); 126 136 } 127 137 … … 132 142 public void testCheckOpeningHourSyntax6() { 133 143 final String key = "opening_hours"; 134 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "PH open \"always open on public holidays\""), isEmpty());144 assertThat(openingHourTest.checkOpeningHourSyntax(key, "PH open \"always open on public holidays\""), isEmpty()); 135 145 } 136 146 … … 141 151 public void testCheckOpeningHourSyntax7() { 142 152 final String key = "opening_hours"; 143 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00"), hasSize(1));144 assertEquals(Severity.OTHER, OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getSeverity());145 assertEquals("09:00-18:00", OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getPrettifiedValue());153 assertThat(openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00"), hasSize(1)); 154 assertEquals(Severity.OTHER, openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getSeverity()); 155 assertEquals("09:00-18:00", openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getPrettifiedValue()); 146 156 } 147 157 … … 152 162 public void testCheckOpeningHourSyntaxTicket9367() { 153 163 final String key = "opening_hours"; 154 assertEquals(Severity.WARNING, OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getSeverity());164 assertEquals(Severity.WARNING, openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getSeverity()); 155 165 assertEquals(key + " - Mo,Tu 04-17 <--- (Time range without minutes specified. " 156 166 + "Not very explicit! Please use this syntax instead \"04:00-17:00\".)", 157 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getMessage());158 assertEquals("Mo,Tu 04:00-17:00", OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getPrettifiedValue());167 openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getMessage()); 168 assertEquals("Mo,Tu 04:00-17:00", openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getPrettifiedValue()); 159 169 } 160 170 … … 166 176 final String key = "service_times"; 167 177 // frequently used tags according to https://taginfo.openstreetmap.org/keys/service_times#values 168 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su 10:00", OpeningHourTest.CheckMode.BOTH), isEmpty());169 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "automatic", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));170 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Sa 09:00-18:00", OpeningHourTest.CheckMode.BOTH), isEmpty());171 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su 09:30; We 19:30", OpeningHourTest.CheckMode.BOTH), isEmpty());172 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00",178 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su 10:00", OpeningHourTest.CheckMode.BOTH), isEmpty()); 179 assertThat(openingHourTest.checkOpeningHourSyntax(key, "automatic", OpeningHourTest.CheckMode.BOTH), not(isEmpty())); 180 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Sa 09:00-18:00", OpeningHourTest.CheckMode.BOTH), isEmpty()); 181 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su 09:30; We 19:30", OpeningHourTest.CheckMode.BOTH), isEmpty()); 182 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00", 173 183 OpeningHourTest.CheckMode.BOTH), isEmpty()); 174 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",184 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00", 175 185 OpeningHourTest.CheckMode.BOTH), hasSize(1)); 176 186 assertEquals("Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00", 177 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",187 openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00", 178 188 OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue()); 179 189 assertEquals("Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00", 180 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",190 openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00", 181 191 OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue()); 182 192 } … … 189 199 final String key = "collection_times"; 190 200 // frequently used tags according to https://taginfo.openstreetmap.org/keys/collection_times#values 191 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Sa 09:00", OpeningHourTest.CheckMode.BOTH), isEmpty());192 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "fixme", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));193 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "daily", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));194 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00",201 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Sa 09:00", OpeningHourTest.CheckMode.BOTH), isEmpty()); 202 assertThat(openingHourTest.checkOpeningHourSyntax(key, "fixme", OpeningHourTest.CheckMode.BOTH), not(isEmpty())); 203 assertThat(openingHourTest.checkOpeningHourSyntax(key, "daily", OpeningHourTest.CheckMode.BOTH), not(isEmpty())); 204 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00", 195 205 OpeningHourTest.CheckMode.BOTH), isEmpty()); 196 assertThat( OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",206 assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00", 197 207 OpeningHourTest.CheckMode.BOTH), hasSize(1)); 198 208 assertEquals(Severity.OTHER, 199 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",209 openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00", 200 210 OpeningHourTest.CheckMode.BOTH).get(0).getSeverity()); 201 211 assertEquals("Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00", 202 OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",212 openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00", 203 213 OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue()); 204 214 } … … 222 232 } 223 233 for (final Tag t : values) { 224 final List<OpeningHourTest.OpeningHoursTestError> errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(t.getKey(), t.getValue());234 final List<OpeningHourTest.OpeningHoursTestError> errors = openingHourTest.checkOpeningHourSyntax(t.getKey(), t.getValue()); 225 235 assertThat(t + " is valid", errors, isEmpty()); 226 236 }
Note:
See TracChangeset
for help on using the changeset viewer.