1+ /*
2+ * Copyright (c) 2016 Patrick Scheibe
3+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4+ * of this software and associated documentation files (the "Software"), to deal
5+ * in the Software without restriction, including without limitation the rights
6+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+ * copies of the Software, and to permit persons to whom the Software is
8+ * furnished to do so, subject to the following conditions:
9+ *
10+ * The above copyright notice and this permission notice shall be included in
11+ * all copies or substantial portions of the Software.
12+ *
13+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+ * THE SOFTWARE.
20+ */
21+
22+ package de .halirutan .mathematica .refactoring ;
23+
24+ import org .junit .Test ;
25+
26+ import java .util .ResourceBundle ;
27+
28+ import static org .junit .Assert .assertFalse ;
29+ import static org .junit .Assert .assertTrue ;
30+
31+ /**
32+ * @author patrick (27.12.16).
33+ */
34+ public class MathematicaNamesValidatorTest {
35+
36+ private ResourceBundle myNamedCharacters = ResourceBundle .getBundle ("de.halirutan.mathematica.codeinsight.completion.namedCharacters" );
37+ private ResourceBundle mySymbols = ResourceBundle .getBundle ("de.halirutan.mathematica.codeinsight.completion.symbolInformationV11_0_1" );
38+
39+ private String myCounterExamples [] = {
40+ "Internal`" ,
41+ "0Symbol" ,
42+ "Internal`3" ,
43+ "Developer`ToPacketArray`"
44+ };
45+
46+ @ Test
47+ public void testIsIdentifier () throws Exception {
48+ MathematicaNamesValidator validator = new MathematicaNamesValidator ();
49+ for (String nc : myNamedCharacters .keySet ()) {
50+ assertTrue (validator .isIdentifier ("\\ [" + nc + "]" , null ));
51+ }
52+
53+ for (String symbol : mySymbols .keySet ()) {
54+ assertTrue (symbol , validator .isIdentifier (symbol , null ));
55+ }
56+
57+ for (String badSymbol : myCounterExamples ) {
58+ assertFalse (badSymbol , validator .isIdentifier (badSymbol , null ));
59+ }
60+
61+ assertTrue (validator .isIdentifier ("Internal`testvar" ,null ));
62+ }
63+
64+ }
0 commit comments