blob: 5d5858f6816c42bf60f242e0a77bd4f675681694 [file] [log] [blame]
b.janani0d4517a2016-02-25 12:25:55 +05301/*
Brian O'Connor0f7908b2016-04-09 01:19:45 -07002 * Copyright 2016-present Open Networking Laboratory
b.janani0d4517a2016-02-25 12:25:55 +05303 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package org.onosproject.yangutils.translator.tojava.utils;
18
Bharat saraswal9fab16b2016-09-23 23:27:24 +053019import org.junit.Rule;
20import org.junit.Test;
21import org.junit.rules.ExpectedException;
22import org.onosproject.yangutils.datamodel.YangRevision;
23import org.onosproject.yangutils.translator.exception.TranslatorException;
24import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
25
Gaurav Agrawalde75bea2016-06-16 13:09:53 +053026import java.io.File;
27import java.io.IOException;
b.janani0d4517a2016-02-25 12:25:55 +053028import java.lang.reflect.Constructor;
29import java.lang.reflect.InvocationTargetException;
Vidyashree Rama13b4c552016-06-20 15:12:43 +053030import java.text.ParseException;
31import java.text.SimpleDateFormat;
32import java.util.Date;
Bharat saraswal1edde622016-09-06 10:18:04 +053033
Gaurav Agrawalde75bea2016-06-16 13:09:53 +053034import static org.apache.commons.io.FileUtils.deleteDirectory;
Bharat saraswald532a4c2016-03-25 18:19:46 +053035import static org.hamcrest.core.Is.is;
Bharat saraswal780eca32016-04-05 12:45:45 +053036import static org.hamcrest.core.IsNot.not;
Bharat saraswald532a4c2016-03-25 18:19:46 +053037import static org.junit.Assert.assertThat;
Gaurav Agrawalde75bea2016-06-16 13:09:53 +053038import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.doesPackageExist;
39import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage;
40import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG;
41import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
42import static org.onosproject.yangutils.utils.UtilConstants.SLASH;
Gaurav Agrawalbfce9342016-06-15 13:58:01 +053043import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
44import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
45import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getJavaPackageFromPackagePath;
46import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage;
Gaurav Agrawalbfce9342016-06-15 13:58:01 +053047import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase;
Vinod Kumar S9f26ae52016-03-23 15:30:27 +053048
b.janani0d4517a2016-02-25 12:25:55 +053049/**
50 * Unit tests for java identifier syntax.
51 */
52public final class JavaIdentifierSyntaxTest {
53
janani b3e357f62016-05-19 17:39:50 +053054 @Rule
55 public ExpectedException thrown = ExpectedException.none();
56
Bharat saraswald532a4c2016-03-25 18:19:46 +053057 private static final String PARENT_PACKAGE = "test5/test6/test7";
58 private static final String CHILD_PACKAGE = "test1:test2:test3";
59 private static final String DATE1 = "2000-1-5";
60 private static final String DATE2 = "1992-01-25";
61 private static final String PARENT_WITH_PERIOD = "test5.test6.test7";
62 private static final String CHILD_WITH_PERIOD = "test1.test2.test3";
63 private static final String DATE_WITH_REV1 = "rev20000105";
64 private static final String DATE_WITH_REV2 = "rev19920125";
65 private static final String VERSION_NUMBER = "v1";
janani b3e357f62016-05-19 17:39:50 +053066 private static final String VALID_PREFIX = "123add-prefix";
67 private static final String INVALID_PREFIX = "-*()&^&#$%";
68 private static final String INVALID_PREFIX1 = "abc~!@#$%^&*()_+}{:<>?`1234567890-=[]''|,./SS";
69 private static final String INVALID_NAME_SPACE_FOR_INVALID_PREFIX = "try:#test3:9case3";
Bharat saraswald532a4c2016-03-25 18:19:46 +053070 private static final String INVALID_NAME_SPACE1 = "byte:#test2:9test3";
71 private static final String INVALID_NAME_SPACE2 = "const:#test2://9test3";
janani b3e357f62016-05-19 17:39:50 +053072 private static final String INVALID_NAME_SPACE3 = "CONST:TRY://9test3";
73 private static final String VALID_NAME_SPACE1 = "123addprefixbyte.test2.123addprefix9test3";
janani b1c6acc42016-04-15 16:18:30 +053074 private static final String VALID_NAME_SPACE2 = "yangautoprefixconst.test2.yangautoprefix9test3";
janani b3e357f62016-05-19 17:39:50 +053075 private static final String VALID_NAME_SPACE3 = "abc1234567890ssconst.test2.abc1234567890ss9test3";
76 private static final String VALID_NAME_SPACE4 = "yangautoprefixconst.yangautoprefixtry.yangautoprefix9test3";
Bharat saraswald532a4c2016-03-25 18:19:46 +053077 private static final String WITHOUT_CAMEL_CASE = "test-camel-case-identifier";
78 private static final String WITH_CAMEL_CASE = "testCamelCaseIdentifier";
janani b1c6acc42016-04-15 16:18:30 +053079 private static final String WITHOUT_CAMEL_CASE1 = ".-_try-._-.123";
80 private static final String WITH_CAMEL_CASE1 = "try123";
81 private static final String WITHOUT_CAMEL_CASE2 = "_try";
82 private static final String WITH_CAMEL_CASE2 = "yangAutoPrefixTry";
83 private static final String WITHOUT_CAMEL_CASE3 = "-1-123g-123ga-a";
84 private static final String WITH_CAMEL_CASE3 = "yangAutoPrefix1123G123Gaa";
85 private static final String WITHOUT_CAMEL_CASE4 = "a-b-c-d-e-f-g-h";
86 private static final String WITH_CAMEL_CASE4 = "aBcDeFgh";
janani b703cfe42016-05-17 13:12:22 +053087 private static final String WITHOUT_CAMEL_CASE5 = "TestName";
88 private static final String WITH_CAMEL_CASE5 = "testName";
89 private static final String WITHOUT_CAMEL_CASE6 = "TEST-NAME";
90 private static final String WITH_CAMEL_CASE6 = "testName";
91 private static final String WITHOUT_CAMEL_CASE7 = "TESTNAME";
92 private static final String WITH_CAMEL_CASE7 = "testname";
93 private static final String WITHOUT_CAMEL_CASE8 = "TE-ST-NA-ME";
94 private static final String WITH_CAMEL_CASE8 = "teStNaMe";
95 private static final String WITHOUT_CAMEL_CASE9 = "TEST3NAME";
96 private static final String WITH_CAMEL_CASE9 = "test3Name";
97 private static final String WITHOUT_CAMEL_CASE10 = "TEST3";
98 private static final String WITH_CAMEL_CASE10 = "test3";
99 private static final String WITHOUT_CAMEL_CASE11 = "TEST3nAMe";
100 private static final String WITH_CAMEL_CASE11 = "test3Name";
101 private static final String WITHOUT_CAMEL_CASE12 = "TEST3name";
102 private static final String WITH_CAMEL_CASE12 = "test3Name";
janani b3e357f62016-05-19 17:39:50 +0530103 private static final String WITHOUT_CAMEL_CASE13 = "t-RY";
104 private static final String WITH_CAMEL_CASE13 = "tRy";
105 private static final String WITHOUT_CAMEL_CASE14 = "TRY";
106 private static final String WITH_CAMEL_CASE14 = "yangAutoPrefixTry";
Bharat saraswald532a4c2016-03-25 18:19:46 +0530107 private static final String WITHOUT_CAPITAL = "test_this";
108 private static final String WITH_CAPITAL = "Test_this";
109 private static final String WITH_SMALL = "test_this";
janani b3e357f62016-05-19 17:39:50 +0530110 private static final String WITH_CAMEL_CASE_WITH_PREFIX = "123addPrefixTry";
111 private static final String WITH_CAMEL_CASE_WITH_PREFIX1 = "abc1234567890Ss1123G123Gaa";
Vidyashree Rama13b4c552016-06-20 15:12:43 +0530112 private static final String DATE_FORMAT = "yyyy-MM-dd";
113 private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATE_FORMAT);
janani b3e357f62016-05-19 17:39:50 +0530114 private static YangToJavaNamingConflictUtil conflictResolver = new YangToJavaNamingConflictUtil();
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530115 private static final String BASE_DIR_PKG = "target.UnitTestCase.";
116 private static final String DIR_PATH = "exist1.exist2.exist3";
117 private static final String PKG_INFO = "package-info.java";
b.jananie6d43af2016-03-04 12:29:05 +0530118
b.janani0d4517a2016-02-25 12:25:55 +0530119 /**
120 * Unit test for private constructor.
121 *
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530122 * @throws SecurityException if any security violation is observed.
123 * @throws NoSuchMethodException if when the method is not found.
124 * @throws IllegalArgumentException if there is illegal argument found.
125 * @throws InstantiationException if instantiation is provoked for the
126 * private constructor.
127 * @throws IllegalAccessException if instance is provoked or a method is
128 * provoked.
Vinod Kumar S9f26ae52016-03-23 15:30:27 +0530129 * @throws InvocationTargetException when an exception occurs by the method
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530130 * or constructor.
b.janani0d4517a2016-02-25 12:25:55 +0530131 */
b.jananie6d43af2016-03-04 12:29:05 +0530132 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530133 public void callPrivateConstructors()
134 throws SecurityException, NoSuchMethodException, IllegalArgumentException,
Bharat saraswal9fab16b2016-09-23 23:27:24 +0530135 InstantiationException, IllegalAccessException, InvocationTargetException {
Bharat saraswald532a4c2016-03-25 18:19:46 +0530136
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530137 Class<?>[] classesToConstruct = {JavaIdentifierSyntax.class};
b.janani0d4517a2016-02-25 12:25:55 +0530138 for (Class<?> clazz : classesToConstruct) {
139 Constructor<?> constructor = clazz.getDeclaredConstructor();
140 constructor.setAccessible(true);
Bharat saraswal780eca32016-04-05 12:45:45 +0530141 assertThat(null, not(constructor.newInstance()));
b.janani0d4517a2016-02-25 12:25:55 +0530142 }
143 }
144
145 /**
b.janani0d4517a2016-02-25 12:25:55 +0530146 * Unit test for root package generation with revision complexity.
147 */
148 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530149 public void getRootPackageTest()
150 throws ParseException {
janani b3e357f62016-05-19 17:39:50 +0530151 conflictResolver.setPrefixForIdentifier(null);
Bharat saraswal1edde622016-09-06 10:18:04 +0530152 String rootPackage = getRootPackage((byte) 1, CHILD_PACKAGE, getYangRevision(DATE1), conflictResolver);
Bharat saraswald532a4c2016-03-25 18:19:46 +0530153 assertThat(rootPackage.equals(DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER
Bharat saraswal1edde622016-09-06 10:18:04 +0530154 + PERIOD + CHILD_WITH_PERIOD + PERIOD + DATE_WITH_REV1), is(true));
b.janani0d4517a2016-02-25 12:25:55 +0530155 }
156
157 /**
janani b3e357f62016-05-19 17:39:50 +0530158 * Unit test for root package generation with invalid prefix.
159 */
160 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530161 public void getRootPackageWithInvalidPrefix()
162 throws TranslatorException, ParseException {
janani b3e357f62016-05-19 17:39:50 +0530163 thrown.expect(TranslatorException.class);
164 thrown.expectMessage("The given prefix in pom.xml is invalid.");
165 conflictResolver.setPrefixForIdentifier(INVALID_PREFIX);
Bharat saraswal1edde622016-09-06 10:18:04 +0530166 String rootPackage1 = getRootPackage((byte) 1, INVALID_NAME_SPACE_FOR_INVALID_PREFIX, getYangRevision(DATE1),
167 conflictResolver);
janani b3e357f62016-05-19 17:39:50 +0530168 }
169
170 /**
b.jananie6d43af2016-03-04 12:29:05 +0530171 * Unit test for root package generation with special characters presence.
172 */
173 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530174 public void getRootPackageWithSpecialCharactersTest()
175 throws ParseException {
janani b3e357f62016-05-19 17:39:50 +0530176 conflictResolver.setPrefixForIdentifier(VALID_PREFIX);
Bharat saraswal1edde622016-09-06 10:18:04 +0530177 String rootPackage = getRootPackage((byte) 1, INVALID_NAME_SPACE1, getYangRevision(DATE1), conflictResolver);
Bharat saraswald532a4c2016-03-25 18:19:46 +0530178 assertThat(rootPackage.equals(DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER
Bharat saraswal1edde622016-09-06 10:18:04 +0530179 + PERIOD + VALID_NAME_SPACE1 + PERIOD + DATE_WITH_REV1), is(true));
janani b3e357f62016-05-19 17:39:50 +0530180 conflictResolver.setPrefixForIdentifier(null);
Bharat saraswal1edde622016-09-06 10:18:04 +0530181 String rootPackage1 = getRootPackage((byte) 1, INVALID_NAME_SPACE2, getYangRevision(DATE1), conflictResolver);
Bharat saraswald532a4c2016-03-25 18:19:46 +0530182 assertThat(rootPackage1.equals(DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER
Bharat saraswal1edde622016-09-06 10:18:04 +0530183 + PERIOD + VALID_NAME_SPACE2 + PERIOD + DATE_WITH_REV1), is(true));
184 String rootPackage2 = getRootPackage((byte) 1, INVALID_NAME_SPACE3, getYangRevision(DATE1), conflictResolver);
janani b3e357f62016-05-19 17:39:50 +0530185 assertThat(rootPackage2.equals(DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER
Bharat saraswal1edde622016-09-06 10:18:04 +0530186 + PERIOD + VALID_NAME_SPACE4 + PERIOD + DATE_WITH_REV1), is(true));
janani b3e357f62016-05-19 17:39:50 +0530187 conflictResolver.setPrefixForIdentifier(INVALID_PREFIX1);
Bharat saraswal1edde622016-09-06 10:18:04 +0530188 String rootPackage3 = getRootPackage((byte) 1, INVALID_NAME_SPACE2, getYangRevision(DATE1), conflictResolver);
janani b3e357f62016-05-19 17:39:50 +0530189 assertThat(rootPackage3.equals(DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER
Bharat saraswal1edde622016-09-06 10:18:04 +0530190 + PERIOD + VALID_NAME_SPACE3 + PERIOD + DATE_WITH_REV1), is(true));
janani b3e357f62016-05-19 17:39:50 +0530191
b.jananie6d43af2016-03-04 12:29:05 +0530192 }
193
194 /**
195 * Unit test for root package generation without complexity in revision.
b.janani0d4517a2016-02-25 12:25:55 +0530196 */
197 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530198 public void getRootPackageWithRevTest()
199 throws ParseException {
Vidyashree Rama13b4c552016-06-20 15:12:43 +0530200 Date date = simpleDateFormat.parse(DATE2);
Bharat saraswal1edde622016-09-06 10:18:04 +0530201 String rootPkgWithRev = getRootPackage((byte) 1, CHILD_PACKAGE, getYangRevision(DATE2), null);
Bharat saraswald532a4c2016-03-25 18:19:46 +0530202 assertThat(rootPkgWithRev.equals(
203 DEFAULT_BASE_PKG + PERIOD + VERSION_NUMBER + PERIOD + CHILD_WITH_PERIOD + PERIOD + DATE_WITH_REV2),
Bharat saraswal1edde622016-09-06 10:18:04 +0530204 is(true));
b.janani0d4517a2016-02-25 12:25:55 +0530205 }
206
207 /**
208 * Unit test for capitalizing the incoming string.
209 */
210 @Test
211 public void getCapitalCaseTest() {
janani b703cfe42016-05-17 13:12:22 +0530212 String capitalCase = getCapitalCase(WITHOUT_CAPITAL);
b.jananie6d43af2016-03-04 12:29:05 +0530213 assertThat(capitalCase.equals(WITH_CAPITAL), is(true));
b.janani0d4517a2016-02-25 12:25:55 +0530214 }
215
216 /**
217 * Unit test for getting the camel case for the received string.
218 */
219 @Test
220 public void getCamelCaseTest() {
janani b3e357f62016-05-19 17:39:50 +0530221 conflictResolver.setPrefixForIdentifier(null);
222 String camelCase = getCamelCase(WITHOUT_CAMEL_CASE, conflictResolver);
b.jananie6d43af2016-03-04 12:29:05 +0530223 assertThat(camelCase.equals(WITH_CAMEL_CASE), is(true));
janani b3e357f62016-05-19 17:39:50 +0530224 String camelCase1 = getCamelCase(WITHOUT_CAMEL_CASE1, conflictResolver);
janani b1c6acc42016-04-15 16:18:30 +0530225 assertThat(camelCase1.equals(WITH_CAMEL_CASE1), is(true));
janani b3e357f62016-05-19 17:39:50 +0530226 String camelCase2 = getCamelCase(WITHOUT_CAMEL_CASE2, conflictResolver);
janani b1c6acc42016-04-15 16:18:30 +0530227 assertThat(camelCase2.equals(WITH_CAMEL_CASE2), is(true));
janani b3e357f62016-05-19 17:39:50 +0530228 String camelCase3 = getCamelCase(WITHOUT_CAMEL_CASE3, conflictResolver);
janani b1c6acc42016-04-15 16:18:30 +0530229 assertThat(camelCase3.equals(WITH_CAMEL_CASE3), is(true));
janani b3e357f62016-05-19 17:39:50 +0530230 String camelCase4 = getCamelCase(WITHOUT_CAMEL_CASE4, conflictResolver);
janani b1c6acc42016-04-15 16:18:30 +0530231 assertThat(camelCase4.equals(WITH_CAMEL_CASE4), is(true));
janani b3e357f62016-05-19 17:39:50 +0530232 String camelCase5 = getCamelCase(WITHOUT_CAMEL_CASE5, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530233 assertThat(camelCase5.equals(WITH_CAMEL_CASE5), is(true));
janani b3e357f62016-05-19 17:39:50 +0530234 String camelCase6 = getCamelCase(WITHOUT_CAMEL_CASE6, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530235 assertThat(camelCase6.equals(WITH_CAMEL_CASE6), is(true));
janani b3e357f62016-05-19 17:39:50 +0530236 String camelCase7 = getCamelCase(WITHOUT_CAMEL_CASE7, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530237 assertThat(camelCase7.equals(WITH_CAMEL_CASE7), is(true));
janani b3e357f62016-05-19 17:39:50 +0530238 String camelCase8 = getCamelCase(WITHOUT_CAMEL_CASE8, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530239 assertThat(camelCase8.equals(WITH_CAMEL_CASE8), is(true));
janani b3e357f62016-05-19 17:39:50 +0530240 String camelCase9 = getCamelCase(WITHOUT_CAMEL_CASE9, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530241 assertThat(camelCase9.equals(WITH_CAMEL_CASE9), is(true));
janani b3e357f62016-05-19 17:39:50 +0530242 String camelCase10 = getCamelCase(WITHOUT_CAMEL_CASE10, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530243 assertThat(camelCase10.equals(WITH_CAMEL_CASE10), is(true));
janani b3e357f62016-05-19 17:39:50 +0530244 String camelCase11 = getCamelCase(WITHOUT_CAMEL_CASE11, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530245 assertThat(camelCase11.equals(WITH_CAMEL_CASE11), is(true));
janani b3e357f62016-05-19 17:39:50 +0530246 String camelCase12 = getCamelCase(WITHOUT_CAMEL_CASE12, conflictResolver);
janani b703cfe42016-05-17 13:12:22 +0530247 assertThat(camelCase12.equals(WITH_CAMEL_CASE12), is(true));
janani b3e357f62016-05-19 17:39:50 +0530248 String camelCase13 = getCamelCase(WITHOUT_CAMEL_CASE13, conflictResolver);
249 assertThat(camelCase13.equals(WITH_CAMEL_CASE13), is(true));
250 String camelCase14 = getCamelCase(WITHOUT_CAMEL_CASE14, conflictResolver);
251 assertThat(camelCase14.equals(WITH_CAMEL_CASE14), is(true));
252 }
253
254 /**
255 * Unit test for getting the camel case along with the prefix provided.
256 */
257 @Test
258 public void getCamelCaseWithPrefixTest() {
259
260 conflictResolver.setPrefixForIdentifier(VALID_PREFIX);
261 String camelCase = getCamelCase(WITHOUT_CAMEL_CASE2, conflictResolver);
262 assertThat(camelCase.equals(WITH_CAMEL_CASE_WITH_PREFIX), is(true));
263 conflictResolver.setPrefixForIdentifier(INVALID_PREFIX1);
264 String camelCase2 = getCamelCase(WITHOUT_CAMEL_CASE3, conflictResolver);
265 assertThat(camelCase2.equals(WITH_CAMEL_CASE_WITH_PREFIX1), is(true));
266 }
267
268 /**
269 * Unit test for getting the camel case along with the invalid prefix provided.
270 */
271 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530272 public void getCamelCaseWithInvalidPrefixTest()
273 throws TranslatorException {
janani b3e357f62016-05-19 17:39:50 +0530274
275 thrown.expect(TranslatorException.class);
276 thrown.expectMessage("The given prefix in pom.xml is invalid.");
277 conflictResolver.setPrefixForIdentifier(INVALID_PREFIX);
278 String camelCase = getCamelCase(WITHOUT_CAMEL_CASE3, conflictResolver);
b.janani0d4517a2016-02-25 12:25:55 +0530279 }
Bharat saraswald532a4c2016-03-25 18:19:46 +0530280
281 /**
282 * Unit test for getting the camel case for the received string.
283 */
284 @Test
285 public void getSmallCaseTest() {
Bharat saraswald532a4c2016-03-25 18:19:46 +0530286 String smallCase = getSmallCase(WITHOUT_CAPITAL);
287 assertThat(smallCase.equals(WITH_SMALL), is(true));
288 }
289
290 /**
291 * Unit test for getting the camel case for the received string.
292 */
293 @Test
294 public void getPackageFromPathTest() {
Bharat saraswald532a4c2016-03-25 18:19:46 +0530295 String pkg = getJavaPackageFromPackagePath(PARENT_PACKAGE);
296 assertThat(pkg.equals(PARENT_WITH_PERIOD), is(true));
297 }
298
299 /**
300 * Unit test for getting the camel case for the received string.
301 */
302 @Test
303 public void getPathFromPackageTest() {
Bharat saraswald532a4c2016-03-25 18:19:46 +0530304 String path = getPackageDirPathFromJavaJPackage(PARENT_WITH_PERIOD);
305 assertThat(path.equals(PARENT_PACKAGE), is(true));
306 }
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530307
308
309 /**
310 * This test case checks whether the package is existing.
311 *
312 * @throws IOException when failed to create a test file
313 */
314 @Test
Bharat saraswal1edde622016-09-06 10:18:04 +0530315 public void packageExistTest()
316 throws IOException {
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530317
318 String strPath = BASE_DIR_PKG + DIR_PATH;
319 File createDir = new File(strPath.replace(PERIOD, SLASH));
320 createDir.mkdirs();
321 File createFile = new File(createDir + SLASH + PKG_INFO);
322 createFile.createNewFile();
323 assertThat(true, is(doesPackageExist(strPath)));
324 createDir.delete();
325 deleteDirectory(createDir);
Bharat saraswalaf413b82016-07-14 15:18:20 +0530326 deleteDirectory(new File(BASE_DIR_PKG.replace(PERIOD, SLASH)));
Gaurav Agrawalde75bea2016-06-16 13:09:53 +0530327 }
Bharat saraswal1edde622016-09-06 10:18:04 +0530328
329 private YangRevision getYangRevision(String date) {
330 YangRevision revision = new YangRevision();
331 try {
332 revision.setRevDate(simpleDateFormat.parse(date));
333 } catch (ParseException e) {
334 e.printStackTrace();
335 }
336 return revision;
337 }
b.janani0d4517a2016-02-25 12:25:55 +0530338}