2 * Copyright (c) 2016 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.java.api.generator;
10 import static org.junit.Assert.assertTrue;
13 import java.io.IOException;
14 import java.util.Arrays;
15 import java.util.List;
16 import org.eclipse.jdt.annotation.NonNullByDefault;
17 import org.junit.Test;
18 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
19 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
20 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
21 import org.opendaylight.mdsal.binding.model.util.BindingTypes;
22 import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTypeBuilder;
24 public class GeneratorJavaFileTest extends BaseCompilationTest {
25 private static final String FS = File.separator;
26 private static final String PATH = "target/test/test-dir";
29 public void test() throws IOException {
30 final GeneratedTypeBuilder gtb = new CodegenGeneratedTypeBuilder(JavaTypeName.create(
31 "org.opendaylight.controller.gen", "Type4"));
32 gtb.addImplementsType(BindingTypes.augmentable(gtb));
34 generateTestSources(Arrays.asList(
35 createGeneratedType("org.opendaylight.controller.gen", "Type1"),
36 createGeneratedType("org.opendaylight.controller.gen", "Type2"),
37 createGeneratedType("org.opendaylight.controller.gen", "Type3"),
38 gtb.build()), new File(PATH));
40 List<String> filesList = Arrays.asList(
41 new File(PATH + FS + "org" + FS + "opendaylight" + FS + "controller" + FS + "gen").list());
43 // assertEquals(5, files.length);
44 assertTrue(filesList.contains("Type1.java"));
45 assertTrue(filesList.contains("Type2.java"));
46 assertTrue(filesList.contains("Type3.java"));
47 assertTrue(filesList.contains("Type4.java"));
48 assertTrue(filesList.contains("Type4Builder.java"));
52 private static GeneratedType createGeneratedType(final String pkgName, final String name) {
53 GeneratedTypeBuilder builder = new CodegenGeneratedTypeBuilder(JavaTypeName.create(pkgName, name));
54 builder.addImplementsType(BindingTypes.DATA_OBJECT);
55 return builder.build();