2 * Copyright (c) 2013 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.yangtools.sal.java.api.generator.test;
10 import static org.junit.Assert.assertTrue;
13 import java.io.IOException;
14 import java.util.Arrays;
15 import java.util.HashSet;
16 import java.util.List;
19 import org.junit.Test;
20 import org.opendaylight.yangtools.binding.generator.util.BindingTypes;
21 import org.opendaylight.yangtools.binding.generator.util.Types;
22 import org.opendaylight.yangtools.binding.generator.util.generated.type.builder.GeneratedTypeBuilderImpl;
23 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;
24 import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedTypeBuilder;
25 import org.opendaylight.yangtools.sal.java.api.generator.GeneratorJavaFile;
27 public class GeneratorJavaFileTest {
28 private static final String FS = File.separator;
29 private static final String PATH = "target/test/test-dir";
32 public void test() throws IOException {
33 final Set<GeneratedType> types = new HashSet<GeneratedType>();
34 GeneratedType t1 = createGeneratedType("org.opendaylight.controller.gen", "Type1");
35 GeneratedType t2 = createGeneratedType("org.opendaylight.controller.gen", "Type2");
36 GeneratedType t3 = createGeneratedType("org.opendaylight.controller.gen", "Type3");
40 GeneratedTypeBuilder gtb = new GeneratedTypeBuilderImpl("org.opendaylight.controller.gen", "Type4");
41 gtb.addImplementsType(Types.augmentableTypeFor(gtb));
42 types.add(gtb.toInstance());
43 GeneratorJavaFile generator = new GeneratorJavaFile(types);
44 generator.generateToFile(new File(PATH));
46 String[] files = new File(PATH + FS + "org" + FS + "opendaylight" + FS + "controller" + FS + "gen").list();
47 List<String> filesList = Arrays.asList(files);
49 // assertEquals(5, files.length);
50 assertTrue(filesList.contains("Type1.java"));
51 assertTrue(filesList.contains("Type2.java"));
52 assertTrue(filesList.contains("Type3.java"));
53 assertTrue(filesList.contains("Type4.java"));
54 assertTrue(filesList.contains("Type4Builder.java"));
57 private static GeneratedType createGeneratedType(String pkgName, String name) {
58 GeneratedTypeBuilder builder = new GeneratedTypeBuilderImpl(pkgName, name);
59 builder.addImplementsType(BindingTypes.DATA_OBJECT);
60 return builder.toInstance();