Gridarta Editor
RegExParserTest.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.var.crossfire.model.validation.checks;
21 
22 import java.awt.Point;
32 import org.jetbrains.annotations.NotNull;
33 import org.junit.Assert;
34 import org.junit.Test;
35 
39 @SuppressWarnings("JavaDoc")
40 public class RegExParserTest {
41 
42  @Test
44  Assert.assertEquals("" + //
45  "non-ASCII character" + //
46  "", validateRegExErrors("รถ"));
47  }
48 
49  @Test
51  Assert.assertEquals("" + //
52  "non-ASCII character" + //
53  "", validateRegExErrors("\u001F"));
54  }
55 
56  @Test
58  Assert.assertEquals("" + //
59  "negated character range" + //
60  "", validateRegExErrors("[^a]"));
61  }
62 
63  @Test
65  Assert.assertEquals("" + //
66  "unterminated character range" + //
67  "", validateRegExErrors("["));
68  }
69 
70  @Test
72  Assert.assertEquals("" + //
73  "unterminated character range" + //
74  "", validateRegExErrors("[abc"));
75  }
76 
77  @Test
79  Assert.assertEquals("" + //
80  "unterminated character range" + //
81  "", validateRegExErrors("[-"));
82  }
83 
84  @Test
86  Assert.assertEquals("" + //
87  "unterminated character range" + //
88  "", validateRegExErrors("[a-"));
89  }
90 
91  @Test
93  Assert.assertEquals("" + //
94  "confusing trailing '-' in character range" + //
95  "", validateRegExErrors("[a-]"));
96  }
97 
98  @Test
100  Assert.assertEquals("" + //
101  "character ranges should use only a-z, A-Z, or 0-9" + //
102  "the word '[a-B]' checks for upper-case letters. Matches are case-insensitive, therefore matches should be specified in lower-case letters only" + //
103  "", validateRegExErrors("[a-B]"));
104  }
105 
106  @Test
108  Assert.assertEquals("" + //
109  "character ranges should use only a-z, A-Z, or 0-9" + //
110  "", validateRegExErrors("[0-a]"));
111  }
112 
113  @Test
115  Assert.assertEquals("", validateRegExErrors("[a-z]"));
116  }
117 
118  @Test
120  Assert.assertEquals("" + //
121  "the word '[A-Z]' checks for upper-case letters. Matches are case-insensitive, therefore matches should be specified in lower-case letters only" + //
122  "", validateRegExErrors("[A-Z]"));
123  }
124 
125  @Test
127  Assert.assertEquals("", validateRegExErrors("[0-9]"));
128  }
129 
130  @Test
132  Assert.assertEquals("" + //
133  "invalid character range" + //
134  "", validateRegExErrors("[b-a]"));
135  }
136 
137  @Test
139  Assert.assertEquals("" + //
140  "invalid character range" + //
141  "the word '[B-A]' checks for upper-case letters. Matches are case-insensitive, therefore matches should be specified in lower-case letters only", //
142  validateRegExErrors("[B-A]"));
143  }
144 
145  @Test
147  Assert.assertEquals("" + //
148  "invalid character range" + //
149  "", validateRegExErrors("[1-0]"));
150  }
151 
152  @Test
154  Assert.assertEquals("" + //
155  "single-character character range" + //
156  "", validateRegExErrors("[a-a]"));
157  }
158 
159  @Test
161  Assert.assertEquals("" + //
162  "single-character character range" + //
163  "", validateRegExErrors("[a-a]"));
164  }
165 
166  @Test
168  Assert.assertEquals("" + //
169  "duplicate character 'a' in character range" + //
170  "", validateRegExErrors("[aa]"));
171  }
172 
173  @Test
175  Assert.assertEquals("" + //
176  "duplicate character 'b' in character range" + //
177  "", validateRegExErrors("[abcbd]"));
178  }
179 
180  @Test
182  Assert.assertEquals("" + //
183  "duplicate character 'b' in character range" + //
184  "", validateRegExErrors("[a-cb]"));
185  }
186 
187  @Test
189  Assert.assertEquals("" + //
190  "duplicate character 'b' in character range" + //
191  "", validateRegExErrors("[ba-c]"));
192  }
193 
194  @Test
196  Assert.assertEquals("" + //
197  "duplicate character 'c' in character range" + //
198  "", validateRegExErrors("[a-ec-f]"));
199  }
200 
201  @Test
203  Assert.assertEquals("" + //
204  "empty character range" + //
205  "", validateRegExErrors("[]"));
206  }
207 
208  @Test
210  Assert.assertEquals("" + //
211  "the word 'ant[s]' is the same as 'ants' which is probably not what was intended" + //
212  "", validateRegExErrors("ant[s]"));
213  }
214 
215  @Test
217  Assert.assertEquals("" + //
218  "trailing \\" + //
219  "", validateRegExErrors("abc\\"));
220  }
221 
222  @Test
224  Assert.assertEquals("" + //
225  "use of regular expression operator '?'. This is usually not useful and therefore should be avoided" + //
226  "", validateRegExErrors("a?"));
227  }
228 
229  @Test
231  Assert.assertEquals("" + //
232  "use of regular expression operator '*'. This is usually not useful and therefore should be avoided" + //
233  "", validateRegExErrors("a*"));
234  }
235 
236  @Test
238  Assert.assertEquals("" + //
239  "use of regular expression operator '+'. This is usually not useful and therefore should be avoided" + //
240  "", validateRegExErrors("a+"));
241  }
242 
243  @Test
245  Assert.assertEquals("" + //
246  "use of regular expression operator '.'. This is usually not useful and therefore should be avoided" + //
247  "", validateRegExErrors("a."));
248  }
249 
250  @Test
252  Assert.assertEquals("" + //
253  "use of regular expression operator '\\'. This is usually not useful and therefore should be avoided" + //
254  "", validateRegExErrors("a\\."));
255  }
256 
257  @Test
259  Assert.assertEquals("", validateRegExErrors("^a"));
260  }
261 
262  @Test
264  Assert.assertEquals("", validateRegExErrors("a[a^]"));
265  }
266 
267  @Test
269  Assert.assertEquals("" + //
270  "the regular expression operator '^' must be used at the start of the word" + //
271  "", validateRegExErrors("a^"));
272  }
273 
274  @Test
276  Assert.assertEquals("" + //
277  "the regular expression operator '^' must be used at the start of the word" + //
278  "", validateRegExErrors("a^a"));
279  }
280 
281  @Test
283  Assert.assertEquals("", validateRegExErrors("a$"));
284  }
285 
286  @Test
288  Assert.assertEquals("", validateRegExErrors("[$a]a"));
289  }
290 
291  @Test
293  Assert.assertEquals("" + //
294  "the regular expression operator '$' must be used at the end of the word" + //
295  "", validateRegExErrors("$a"));
296  }
297 
298  @Test
300  Assert.assertEquals("" + //
301  "the regular expression operator '$' must be used at the end of the word" + //
302  "", validateRegExErrors("a$a"));
303  }
304 
305  @Test
307  Assert.assertEquals("" + //
308  "the word ' word' starts with a space" + //
309  "", validateRegExErrors(" word"));
310  }
311 
312  @Test
314  Assert.assertEquals("" + //
315  "the word ' word2' starts with a space" + //
316  "", validateRegExErrors("word1| word2"));
317  }
318 
319  @Test
321  Assert.assertEquals("" + //
322  "the word 'word ' ends with a space" + //
323  "", validateRegExErrors("word "));
324  }
325 
326  @Test
328  Assert.assertEquals("" + //
329  "the word 'word1 ' ends with a space" + //
330  "", validateRegExErrors("word1 |word2"));
331  }
332 
333  @Test
335  Assert.assertEquals("" + //
336  "the word 'word1 ' ends with a space" + //
337  "the word ' word2' starts with a space" + //
338  "", validateRegExErrors("word1 | word2"));
339  }
340 
341  @Test
343  Assert.assertEquals("" + //
344  "the word 'hEllo' checks for upper-case letters. Matches are case-insensitive, therefore matches should be specified in lower-case letters only" + //
345  "", validateRegExErrors("hi|hEllo"));
346  }
347 
354  @NotNull
355  private static String validateRegExErrors(@NotNull final String regEx) {
356  final RegExParser parser = new RegExParser();
357  final TestMapModelCreator creator = new TestMapModelCreator(false);
359  final TestGameObject gameObject = creator.newGameObject("test", "name");
361  mapModel.beginTransaction("test");
362  try {
363  mapModel.addGameObjectToMap(gameObject, new Point(0, 0), creator.getTopmostInsertionMode());
364  } finally {
365  mapModel.endTransaction();
366  }
367  final ErrorGenerator<?, ?, ?> generator = new ErrorGenerator<>(errorCollector, gameObject);
368  parser.parse(regEx, generator);
369  final StringBuilder sb = new StringBuilder();
371  if (error instanceof SuspiciousMsgRegExError) {
372  sb.append(error.getParameter(1));
373  } else {
374  Assert.fail("invalid validation error: " + error.getClass().getName() + ":" + error);
375  }
376  }
377  return sb.toString();
378  }
379 
380 }
net.sf.gridarta.model.archetype.TestArchetype
An Archetype implementation for testing purposes.
Definition: TestArchetype.java:30
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithUpperCaseLetter_reportsError
void validateRegEx_wordWithUpperCaseLetter_reportsError()
Definition: RegExParserTest.java:342
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_quotedEndOperator_reportsOk
void validateRegEx_quotedEndOperator_reportsOk()
Definition: RegExParserTest.java:287
net.sf.gridarta.var.crossfire.model.validation.errors.SuspiciousMsgRegExError
A @match line contains an invalid regular expression.
Definition: SuspiciousMsgRegExError.java:34
net.sf.gridarta.model.mapmodel.MapModel
A MapModel reflects the data of a map.
Definition: MapModel.java:75
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_unterminatedCharacterRange4_reportsError
void validateRegEx_unterminatedCharacterRange4_reportsError()
Definition: RegExParserTest.java:85
net.sf.gridarta.var.crossfire.model.validation.checks.ErrorGenerator
Generator for SuspiciousMsgChecker related error messages.
Definition: ErrorGenerator.java:38
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_trailingBackslash_reportsError
void validateRegEx_trailingBackslash_reportsError()
Definition: RegExParserTest.java:216
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.model.validation.errors.ValidationError
Super class of all errors that could occur during map validation.
Definition: ValidationError.java:45
net.sf.gridarta.model.mapmodel.MapModel.endTransaction
void endTransaction()
End a transaction.
net.sf.gridarta.model.gameobject.TestGameObject
A GameObject implementation for testing purposes.
Definition: TestGameObject.java:34
net.sf
net.sf.gridarta.model.mapmodel.MapModel.beginTransaction
void beginTransaction(@NotNull String name)
Starts a new transaction.
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_operator3_reportsError
void validateRegEx_operator3_reportsError()
Definition: RegExParserTest.java:237
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_operator1_reportsError
void validateRegEx_operator1_reportsError()
Definition: RegExParserTest.java:223
net.sf.gridarta.model.mapmodel
Definition: AboveFloorInsertionMode.java:20
net.sf.gridarta.model.validation.ErrorCollector.getErrors
Iterable< ValidationError< G, A, R > > getErrors()
Get all errors.
net.sf.gridarta.model.mapmodel.TestMapModelCreator
Helper class for regression tests to create MapModel instances.
Definition: TestMapModelCreator.java:63
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_duplicateCharacterInCharacterRange3_reportsError
void validateRegEx_duplicateCharacterInCharacterRange3_reportsError()
Definition: RegExParserTest.java:181
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParser
Parser for Crossfire regular expressions.
Definition: RegExParser.java:33
net.sf.gridarta.var
net.sf.gridarta.model.mapmodel.MapModel.addGameObjectToMap
void addGameObjectToMap(@NotNull G gameObject, @NotNull Point pos, @NotNull InsertionMode insertionMode)
Add a gameObject to the map.
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_lowerCaseLetterCharacterRange_reportsOk
void validateRegEx_lowerCaseLetterCharacterRange_reportsOk()
Definition: RegExParserTest.java:114
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_unterminatedCharacterRange1_reportsError
void validateRegEx_unterminatedCharacterRange1_reportsError()
Definition: RegExParserTest.java:64
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_nonAsciiCharacter2_reportsError
void validateRegEx_nonAsciiCharacter2_reportsError()
Definition: RegExParserTest.java:50
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParser.parse
void parse(@NotNull final String regEx, @NotNull final ErrorGenerator<?, ?, ?> generator)
Parses a regular expression.
Definition: RegExParser.java:53
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_singleCharacterInCharacterRange2_reportsError
void validateRegEx_singleCharacterInCharacterRange2_reportsError()
Definition: RegExParserTest.java:160
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_beginOperator_reportsOk
void validateRegEx_beginOperator_reportsOk()
Definition: RegExParserTest.java:258
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_endOperatorNotAtEnd2_reportsError
void validateRegEx_endOperatorNotAtEnd2_reportsError()
Definition: RegExParserTest.java:299
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_duplicateCharacterInCharacterRange1_reportsError
void validateRegEx_duplicateCharacterInCharacterRange1_reportsError()
Definition: RegExParserTest.java:167
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_operator5_reportsError
void validateRegEx_operator5_reportsError()
Definition: RegExParserTest.java:251
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_backwardCharacterRange2_reportsError
void validateRegEx_backwardCharacterRange2_reportsError()
Definition: RegExParserTest.java:138
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithLeadingSpace2_reportsError
void validateRegEx_wordWithLeadingSpace2_reportsError()
Definition: RegExParserTest.java:313
net
net.sf.gridarta.model.mapmodel.TestMapModelCreator.newMapModel
MapModel< TestGameObject, TestMapArchObject, TestArchetype > newMapModel(final int w, final int h)
Creates a new MapModel instance.
Definition: TestMapModelCreator.java:168
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest
Regression tests for RegExParser.
Definition: RegExParserTest.java:40
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_duplicateCharacterInCharacterRange2_reportsError
void validateRegEx_duplicateCharacterInCharacterRange2_reportsError()
Definition: RegExParserTest.java:174
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_singleCharacterInCharacterRange1_reportsError
void validateRegEx_singleCharacterInCharacterRange1_reportsError()
Definition: RegExParserTest.java:153
net.sf.gridarta.var.crossfire
Main package of Gridarta4Crossfire, contains all classes specific to the Crossfire version of the Gri...
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_emptyCharacterRange_reportsError
void validateRegEx_emptyCharacterRange_reportsError()
Definition: RegExParserTest.java:202
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_trailingMinusInCharacterRange_reportsError
void validateRegEx_trailingMinusInCharacterRange_reportsError()
Definition: RegExParserTest.java:92
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_endOperator_reportsOk
void validateRegEx_endOperator_reportsOk()
Definition: RegExParserTest.java:282
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithTrailingSpace1_reportsError
void validateRegEx_wordWithTrailingSpace1_reportsError()
Definition: RegExParserTest.java:320
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegExErrors
static String validateRegExErrors(@NotNull final String regEx)
Calls RegExParser#parse(String, ErrorGenerator) on a regular expression and returns all error message...
Definition: RegExParserTest.java:355
net.sf.gridarta.var.crossfire.model
net.sf.gridarta.model.validation.ErrorCollector
An interface for classes that collect errors.
Definition: ErrorCollector.java:33
net.sf.gridarta.model.validation
This package contains the framework for validating maps.
Definition: AbstractValidator.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithLeadingSpace1_reportsError
void validateRegEx_wordWithLeadingSpace1_reportsError()
Definition: RegExParserTest.java:306
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_operator2_reportsError
void validateRegEx_operator2_reportsError()
Definition: RegExParserTest.java:230
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_operator4_reportsError
void validateRegEx_operator4_reportsError()
Definition: RegExParserTest.java:244
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_negatedCharacterRange_reportsError
void validateRegEx_negatedCharacterRange_reportsError()
Definition: RegExParserTest.java:57
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_duplicateCharacterInCharacterRange5_reportsError
void validateRegEx_duplicateCharacterInCharacterRange5_reportsError()
Definition: RegExParserTest.java:195
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_unterminatedCharacterRange2_reportsError
void validateRegEx_unterminatedCharacterRange2_reportsError()
Definition: RegExParserTest.java:71
net.sf.gridarta.model.mapmodel.TestMapModelCreator.newGameObject
TestGameObject newGameObject(@NotNull final String archetypeName, @NotNull final String objectName)
Creates a new game object.
Definition: TestMapModelCreator.java:181
net.sf.gridarta.model.mapmodel.TestMapModelCreator.getTopmostInsertionMode
InsertionMode getTopmostInsertionMode()
Returns the "topmost" insertion mode.
Definition: TestMapModelCreator.java:239
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_invalidCharacterRange1_reportsError
void validateRegEx_invalidCharacterRange1_reportsError()
Definition: RegExParserTest.java:99
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_backwardCharacterRange1_reportsError
void validateRegEx_backwardCharacterRange1_reportsError()
Definition: RegExParserTest.java:131
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithTrailingSpace2_reportsError
void validateRegEx_wordWithTrailingSpace2_reportsError()
Definition: RegExParserTest.java:327
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_quotedBeginOperator_reportsOk
void validateRegEx_quotedBeginOperator_reportsOk()
Definition: RegExParserTest.java:263
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_backwardCharacterRange3_reportsError
void validateRegEx_backwardCharacterRange3_reportsError()
Definition: RegExParserTest.java:146
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_duplicateCharacterInCharacterRange4_reportsError
void validateRegEx_duplicateCharacterInCharacterRange4_reportsError()
Definition: RegExParserTest.java:188
net.sf.gridarta.model
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_beginOperatorNotAtStart1_reportsError
void validateRegEx_beginOperatorNotAtStart1_reportsError()
Definition: RegExParserTest.java:268
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_endOperatorNotAtEnd1_reportsError
void validateRegEx_endOperatorNotAtEnd1_reportsError()
Definition: RegExParserTest.java:292
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_beginOperatorNotAtStart2_reportsError
void validateRegEx_beginOperatorNotAtStart2_reportsError()
Definition: RegExParserTest.java:275
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_nonAsciiCharacter1_reportsError
void validateRegEx_nonAsciiCharacter1_reportsError()
Definition: RegExParserTest.java:43
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_invalidCharacterRange2_reportsError
void validateRegEx_invalidCharacterRange2_reportsError()
Definition: RegExParserTest.java:107
net.sf.gridarta.model.validation.errors
Definition: AttributeRangeError.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_unterminatedCharacterRange3_reportsError
void validateRegEx_unterminatedCharacterRange3_reportsError()
Definition: RegExParserTest.java:78
net.sf.gridarta.model.maparchobject.TestMapArchObject
A MapArchObject implementation for testing purposes.
Definition: TestMapArchObject.java:28
net.sf.gridarta.model.validation.DefaultErrorCollector
Simple error collector that just collects the error in a collection for later retrieval through itera...
Definition: DefaultErrorCollector.java:37
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_upperCaseLetterCharacterRange_reportsError
void validateRegEx_upperCaseLetterCharacterRange_reportsError()
Definition: RegExParserTest.java:119
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_digitCharacterRange_reportsOk
void validateRegEx_digitCharacterRange_reportsOk()
Definition: RegExParserTest.java:126
net.sf.gridarta.var.crossfire.model.validation.errors
Definition: AbstractSuspiciousMsgError.java:20
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_singleCharCharacterRange_reportsError
void validateRegEx_singleCharCharacterRange_reportsError()
Definition: RegExParserTest.java:209
net.sf.gridarta.var.crossfire.model.validation.checks.RegExParserTest.validateRegEx_wordWithLeadingAndTrailingSpace_reportsError
void validateRegEx_wordWithLeadingAndTrailingSpace_reportsError()
Definition: RegExParserTest.java:334
net.sf.gridarta.var.crossfire.model.validation