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.generated.type.builder;
10 import static org.junit.Assert.assertNotNull;
11 import static org.junit.Assert.assertTrue;
12 import org.junit.Test;
13 import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration;
14 import org.opendaylight.yangtools.yang.model.api.Status;
16 public class EnumerationBuilderImplTest {
19 public void enumTest() {
20 final EnumerationBuilderImpl enumerationBuilderImpl =
21 new EnumerationBuilderImpl("package.test", "test**");
22 enumerationBuilderImpl.addValue("value", 1, "des", "ref", Status.CURRENT);
23 final Enumeration enumeration = enumerationBuilderImpl.toInstance(enumerationBuilderImpl);
24 final String formattedString = enumeration.toFormattedString();
26 assertNotNull(formattedString);
27 assertTrue(!formattedString.isEmpty());
28 assertTrue(formattedString.contains("public enum TestAsteriskAsterisk {"));
29 assertTrue(formattedString.contains("VALUE"));
33 public void enumUniqueTest() {
34 final EnumerationBuilderImpl enumerationBuilderImpl = new EnumerationBuilderImpl("package.test", "test");
35 enumerationBuilderImpl.addValue("foo", 1, "des", "ref", Status.CURRENT);
36 enumerationBuilderImpl.addValue("Foo", 1, "des", "ref", Status.CURRENT);
37 enumerationBuilderImpl.addValue("foo1", 1, "des", "ref", Status.CURRENT);
38 enumerationBuilderImpl.addValue("Foo1", 1, "des", "ref", Status.CURRENT);
39 enumerationBuilderImpl.addValue("FOO1", 1, "des", "ref", Status.CURRENT);
40 enumerationBuilderImpl.addValue("FOO", 1, "des", "ref", Status.CURRENT);
41 enumerationBuilderImpl.addValue("foO1", 1, "des", "ref", Status.CURRENT);
42 enumerationBuilderImpl.addValue("foO2", 1, "des", "ref", Status.CURRENT);
43 enumerationBuilderImpl.addValue("foO2", 1, "des", "ref", Status.CURRENT);
44 enumerationBuilderImpl.addValue("Foo*", 1, "des", "ref", Status.CURRENT);
45 enumerationBuilderImpl.addValue("foo*", 1, "des", "ref", Status.CURRENT);
47 enumerationBuilderImpl.addValue("f__11", 1, "des", "ref", Status.CURRENT);
48 enumerationBuilderImpl.addValue("f__1_1", 1, "des", "ref", Status.CURRENT);
49 enumerationBuilderImpl.addValue("f__1", 1, "des", "ref", Status.CURRENT);
50 enumerationBuilderImpl.addValue("F__1", 1, "des", "ref", Status.CURRENT);
51 enumerationBuilderImpl.addValue("f_1_1", 1, "des", "ref", Status.CURRENT);
52 enumerationBuilderImpl.addValue("F_1_1", 1, "des", "ref", Status.CURRENT);
54 enumerationBuilderImpl.addValue("fo", 1, "des", "ref", Status.CURRENT);
55 enumerationBuilderImpl.addValue("Fo", 1, "des", "ref", Status.CURRENT);
56 enumerationBuilderImpl.addValue("fO", 1, "des", "ref", Status.CURRENT);
57 enumerationBuilderImpl.addValue("FO", 1, "des", "ref", Status.CURRENT);
59 final Enumeration enumeration = enumerationBuilderImpl.toInstance(enumerationBuilderImpl);
60 final String formattedString = enumeration.toFormattedString();
62 assertNotNull(formattedString);
63 assertTrue(!formattedString.isEmpty());
64 assertTrue(formattedString.contains("FOO"));
65 assertTrue(formattedString.contains("FOO_1"));
66 assertTrue(formattedString.contains("FOO1"));
67 assertTrue(formattedString.contains("FOO1_1"));
68 assertTrue(formattedString.contains("FOO1_2"));
69 assertTrue(formattedString.contains("FOO_2"));
70 assertTrue(formattedString.contains("FOO1_3"));
71 assertTrue(formattedString.contains("FOO2"));
72 assertTrue(formattedString.contains("FOO2_1"));
73 assertTrue(formattedString.contains("FOO_ASTERISK"));
74 assertTrue(formattedString.contains("FOO_ASTERISK_1"));
76 assertTrue(formattedString.contains("F_11"));
77 assertTrue(formattedString.contains("F_1_1"));
78 assertTrue(formattedString.contains("F_1"));
79 assertTrue(formattedString.contains("F_1_2"));
80 assertTrue(formattedString.contains("F_1_1_1"));
81 assertTrue(formattedString.contains("F_1_1_2"));
83 assertTrue(formattedString.contains("FO"));
84 assertTrue(formattedString.contains("FO_1"));
85 assertTrue(formattedString.contains("FO_2"));
86 assertTrue(formattedString.contains("FO_3"));
90 public void asteriskInEnumTest() {
91 final EnumerationBuilderImpl enumerationBuilderImpl =
92 new EnumerationBuilderImpl("package.test", "test**");
93 enumerationBuilderImpl.addValue("val**ue", 1, "des", "ref", Status.CURRENT);
94 enumerationBuilderImpl.addValue("val*ue", 1, "des", "ref", Status.CURRENT);
95 enumerationBuilderImpl.addValue("*value*", 1, "des", "ref", Status.CURRENT);
96 enumerationBuilderImpl.addValue("*", 1, "des", "ref", Status.CURRENT);
97 final Enumeration enumeration = enumerationBuilderImpl.toInstance(enumerationBuilderImpl);
98 final String formattedString = enumeration.toFormattedString();
100 assertNotNull(formattedString);
101 assertTrue(!formattedString.isEmpty());
102 assertTrue(formattedString.contains("public enum TestAsteriskAsterisk {"));
103 assertTrue(formattedString.contains("VAL_ASTERISK_ASTERISK_UE"));
104 assertTrue(formattedString.contains("VAL_ASTERISK_UE"));
105 assertTrue(formattedString.contains("ASTERISK_VALUE_ASTERISK"));
106 assertTrue(formattedString.contains("ASTERISK"));
110 public void reverseSolidusInEnumTest() {
111 final EnumerationBuilderImpl enumerationBuilderImpl =
112 new EnumerationBuilderImpl("package.test", "test\\\\");
113 enumerationBuilderImpl.addValue("val\\\\ue", 1, "des", "ref", Status.CURRENT);
114 enumerationBuilderImpl.addValue("val\\ue", 1, "des", "ref", Status.CURRENT);
115 enumerationBuilderImpl.addValue("\\value\\", 1, "des", "ref", Status.CURRENT);
116 enumerationBuilderImpl.addValue("\\", 1, "des", "ref", Status.CURRENT);
117 final Enumeration enumeration = enumerationBuilderImpl.toInstance(enumerationBuilderImpl);
118 final String formattedString = enumeration.toFormattedString();
119 assertNotNull(formattedString);
120 assertTrue(!formattedString.isEmpty());
121 assertTrue(formattedString.contains("public enum TestReverseSolidusReverseSolidus {"));
122 assertTrue(formattedString.contains("VAL_REVERSE_SOLIDUS_REVERSE_SOLIDUS_UE"));
123 assertTrue(formattedString.contains("VAL_REVERSE_SOLIDUS_UE"));
124 assertTrue(formattedString.contains("REVERSE_SOLIDUS_VALUE_REVERSE_SOLIDUS"));
125 assertTrue(formattedString.contains("REVERSE_SOLIDUS"));