2 * Copyright (c) 2014 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.model.ri.generated.type.builder;
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;
15 import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
16 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
17 import org.opendaylight.mdsal.binding.model.api.Restrictions;
18 import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
19 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
21 public class GeneratedTOBuilderImplTest {
24 public void testCreateNewInstance() {
25 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
26 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
27 assertNotNull(genTOBuilder);
31 public void testSetExtendsType() {
32 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
33 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
34 final CodegenGeneratedTOBuilder extendedTypeBuilder = new CodegenGeneratedTOBuilder(
35 JavaTypeName.create("org.opendaylight.yangtools.test", "ExtendedType"));
36 final GeneratedTransferObject extendedType = extendedTypeBuilder.build();
37 genTOBuilder.setExtendsType(extendedType);
38 final GeneratedTransferObject genTO = genTOBuilder.build();
40 assertEquals("ExtendedType", genTO.getSuperType().getName());
44 public void testAddMethod() {
45 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
46 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
47 final MethodSignatureBuilder methodSignatureBuilder = genTOBuilder.addMethod("testMethod");
48 assertEquals(methodSignatureBuilder, genTOBuilder.getMethodDefinitions().get(0));
49 assertEquals("testMethod", genTOBuilder.getMethodDefinitions().get(0).getName());
53 public void testAddEqualsIdentity() {
54 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
55 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
56 final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
57 genTOBuilder.addEqualsIdentity(propertyBuilder);
59 final GeneratedTransferObject genTO = genTOBuilder.build();
60 assertEquals(1, genTO.getEqualsIdentifiers().size());
61 assertEquals("testProperty", genTO.getEqualsIdentifiers().get(0).getName());
65 public void testAddHashIdentity() {
66 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
67 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
68 final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
69 genTOBuilder.addHashIdentity(propertyBuilder);
71 final GeneratedTransferObject genTO = genTOBuilder.build();
72 assertEquals(1, genTO.getHashCodeIdentifiers().size());
73 assertEquals("testProperty", genTO.getHashCodeIdentifiers().get(0).getName());
77 public void testAddToStringProperty() {
78 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
79 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
80 final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
81 genTOBuilder.addToStringProperty(propertyBuilder);
83 final GeneratedTransferObject genTO = genTOBuilder.build();
84 assertEquals(1, genTO.getToStringIdentifiers().size());
85 assertEquals("testProperty", genTO.getToStringIdentifiers().get(0).getName());
89 public void testSetRestrictions() {
90 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
91 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
92 genTOBuilder.setRestrictions(Restrictions.empty());
93 final GeneratedTransferObject genTO = genTOBuilder.build();
95 assertNotNull(genTO.getRestrictions());
99 public void testSetSUID() {
100 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
101 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
102 final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
103 genTOBuilder.setSUID(propertyBuilder);
105 final GeneratedTransferObject genTO = genTOBuilder.build();
106 assertEquals("testProperty", genTO.getSUID().getName());
110 public void testToStringMethod() {
111 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
112 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
113 assertNotNull(genTOBuilder.toString());
117 public void testSetterMethods() {
118 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
119 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
120 genTOBuilder.setTypedef(true);
121 genTOBuilder.setIsUnion(true);
122 genTOBuilder.setDescription("test description");
123 genTOBuilder.setModuleName("test-module");
124 genTOBuilder.setReference("http://tools.ietf.org/html/rfc6020");
125 genTOBuilder.setSchemaPath(SchemaPath.ROOT);
127 final GeneratedTransferObject genTO = genTOBuilder.build();
129 assertTrue(genTO.isTypedef());
130 assertTrue(genTO.isUnionType());
131 assertEquals("test description", genTO.getDescription());
132 assertEquals("test-module", genTO.getModuleName());
133 assertEquals("http://tools.ietf.org/html/rfc6020", genTO.getReference());
134 assertEquals(SchemaPath.ROOT.getPathFromRoot(), genTO.getSchemaPath());
138 public void testMethodsOfGeneratedTransferObjectImpl() {
139 final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder(
140 JavaTypeName.create("org.opendaylight.yangtools.test", "Test"));
141 final GeneratedTransferObject genTO = genTOBuilder.build();
143 assertNotNull(genTO.toString());