2 * Copyright (c) 2017 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.mdsal.binding.javav2.generator.util;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
14 import org.junit.Test;
16 public class NonJavaCharsConverterTest {
19 public void acceptableCharsEnumTest() throws Exception {
20 assertTest("Acceptable", "Acceptable", JavaIdentifier.ENUM);
24 * Is the same test for class and interface identifiers
27 public void nonAcceptableCharsEnumTest() throws Exception {
28 assertTest("acceptable", "Acceptable", JavaIdentifier.ENUM);
29 assertTest("acc*", "AccAsterisk", JavaIdentifier.ENUM);
30 assertTest("Acc*", "AccAsterisk", JavaIdentifier.ENUM);
31 assertTest("Acc*acc", "AccAsteriskAcc", JavaIdentifier.ENUM);
32 assertTest("*acc", "AsteriskAcc", JavaIdentifier.ENUM);
33 assertTest("*Acc", "AsteriskAcc", JavaIdentifier.ENUM);
34 assertTest("*", "Asterisk", JavaIdentifier.ENUM);
35 assertTest("\\acc", "ReverseSolidusAcc", JavaIdentifier.ENUM);
36 assertTest("\\Acc", "ReverseSolidusAcc", JavaIdentifier.ENUM);
37 assertTest("\\", "ReverseSolidus", JavaIdentifier.ENUM);
38 assertTest("/acc", "SolidusAcc", JavaIdentifier.ENUM);
39 assertTest("/Acc", "SolidusAcc", JavaIdentifier.ENUM);
40 assertTest("/", "Solidus", JavaIdentifier.ENUM);
41 assertTest("1acc", "DigitOneAcc", JavaIdentifier.ENUM);
42 assertTest("1Acc", "DigitOneAcc", JavaIdentifier.ENUM);
43 assertTest("acc1", "Acc1", JavaIdentifier.ENUM);
44 assertTest("Acc1", "Acc1", JavaIdentifier.ENUM);
45 assertTest("1", "DigitOne", JavaIdentifier.ENUM);
46 assertTest("%", "PercentSign", JavaIdentifier.ENUM);
50 public void acceptableCharsEnumValueTest() throws Exception {
51 assertTest("ACCEPTABLE", "ACCEPTABLE", JavaIdentifier.ENUM_VALUE);
55 public void nonAcceptableCharsEnumValueTest() throws Exception {
56 assertTest("acceptable", "ACCEPTABLE", JavaIdentifier.ENUM_VALUE);
57 assertTest("Acceptable", "ACCEPTABLE", JavaIdentifier.ENUM_VALUE);
58 assertTest("Acce_ptable", "ACCE_PTABLE", JavaIdentifier.ENUM_VALUE);
59 assertTest("acc*", "ACC_ASTERISK", JavaIdentifier.ENUM_VALUE);
60 assertTest("Acc*", "ACC_ASTERISK", JavaIdentifier.ENUM_VALUE);
61 assertTest("*acc", "ASTERISK_ACC", JavaIdentifier.ENUM_VALUE);
62 assertTest("*Acc", "ASTERISK_ACC", JavaIdentifier.ENUM_VALUE);
63 assertTest("*", "ASTERISK", JavaIdentifier.ENUM_VALUE);
64 assertTest("\\acc", "REVERSE_SOLIDUS_ACC", JavaIdentifier.ENUM_VALUE);
65 assertTest("\\Acc", "REVERSE_SOLIDUS_ACC", JavaIdentifier.ENUM_VALUE);
66 assertTest("\\", "REVERSE_SOLIDUS", JavaIdentifier.ENUM_VALUE);
67 assertTest("/acc", "SOLIDUS_ACC", JavaIdentifier.ENUM_VALUE);
68 assertTest("/Acc", "SOLIDUS_ACC", JavaIdentifier.ENUM_VALUE);
69 assertTest("/", "SOLIDUS", JavaIdentifier.ENUM_VALUE);
70 assertTest("1acc", "DIGIT_ONE_ACC", JavaIdentifier.ENUM_VALUE);
71 assertTest("1Acc", "DIGIT_ONE_ACC", JavaIdentifier.ENUM_VALUE);
72 assertTest("acc1", "ACC1", JavaIdentifier.ENUM_VALUE);
73 assertTest("Acc1", "ACC1", JavaIdentifier.ENUM_VALUE);
74 assertTest("1", "DIGIT_ONE", JavaIdentifier.ENUM_VALUE);
75 assertTest("%", "PERCENT_SIGN", JavaIdentifier.ENUM_VALUE);
79 public void acceptableCharsMethodTest() throws Exception {
80 assertTest("acceptable", "acceptable", JavaIdentifier.METHOD);
84 * Is the same test for variables identifiers
87 public void nonAcceptableCharsMethodTest() throws Exception {
88 assertTest("acc*", "accAsterisk", JavaIdentifier.METHOD);
89 assertTest("Acc*", "accAsterisk", JavaIdentifier.METHOD);
90 assertTest("*acc", "asteriskAcc", JavaIdentifier.METHOD);
91 assertTest("*Acc", "asteriskAcc", JavaIdentifier.METHOD);
92 assertTest("*", "asterisk", JavaIdentifier.METHOD);
93 assertTest("\\acc", "reverseSolidusAcc", JavaIdentifier.METHOD);
94 assertTest("\\Acc", "reverseSolidusAcc", JavaIdentifier.METHOD);
95 assertTest("\\", "reverseSolidus", JavaIdentifier.METHOD);
96 assertTest("/acc", "solidusAcc", JavaIdentifier.METHOD);
97 assertTest("/Acc", "solidusAcc", JavaIdentifier.METHOD);
98 assertTest("/", "solidus", JavaIdentifier.METHOD);
99 assertTest("1acc", "digitOneAcc", JavaIdentifier.METHOD);
100 assertTest("1Acc", "digitOneAcc", JavaIdentifier.METHOD);
101 assertTest("acc1", "acc1", JavaIdentifier.METHOD);
102 assertTest("Acc1", "acc1", JavaIdentifier.METHOD);
103 assertTest("1", "digitOne", JavaIdentifier.METHOD);
104 assertTest("%", "percentSign", JavaIdentifier.METHOD);
107 private void assertTest(final String testedIdentifier, final String acceptable,
108 final JavaIdentifier javaTypeOfIdentifier) {
109 final String convertedIdentifier =
110 NonJavaCharsConverter.convertIdentifier(testedIdentifier, javaTypeOfIdentifier);
111 assertNotNull(convertedIdentifier);
112 assertTrue(!convertedIdentifier.isEmpty());
113 assertEquals(acceptable, convertedIdentifier);