Integrate JavaTypeName as Identifier
[mdsal.git] / binding / mdsal-binding-generator-util / src / test / java / org / opendaylight / mdsal / binding / model / util / generated / type / builder / GeneratedTOBuilderTest.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
9
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
13
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.type.builder.GeneratedPropertyBuilder;
18 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
19
20 public class GeneratedTOBuilderTest {
21
22     @Test
23     public void testBuilder() {
24         final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder(
25             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
26
27         genTypeBuilder.setSUID(genTypeBuilder.addProperty("SUID"));
28         genTypeBuilder.addMethod("addCount");
29
30         GeneratedTransferObject genTO = genTypeBuilder.build();
31         genTypeBuilder.setExtendsType(genTO);
32
33         GeneratedPropertyBuilder property = genTypeBuilder
34                 .addProperty("customProperty");
35         genTypeBuilder.addHashIdentity(property);
36
37         genTypeBuilder.addEqualsIdentity(property);
38
39         genTypeBuilder.addToStringProperty(property);
40
41         assertNotNull(genTO);
42         assertNotNull(genTO.getProperties());
43     }
44
45     @Test
46     public void testToString() {
47         final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder(
48             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
49         String toString = genTypeBuilder.toString();
50         assertTrue(toString.contains("GeneratedTransferObject"));
51     }
52
53     @Test
54     public void testTransferBuilderToString() {
55         final GeneratedTOBuilder genTypeBuilder1 = new CodegenGeneratedTOBuilder(
56             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
57
58         genTypeBuilder1.setTypedef(true);
59         GeneratedTransferObject genTO = genTypeBuilder1.build();
60         String toString = genTO.toString();
61         assertFalse(toString.contains("GeneratedTransferObject"));
62
63         final GeneratedTOBuilder genTypeBuilder2 = new CodegenGeneratedTOBuilder(
64             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
65
66         genTypeBuilder2.setTypedef(false);
67         genTO = genTypeBuilder2.build();
68         toString = genTO.toString();
69
70         assertTrue(toString.contains("GeneratedTransferObject"));
71     }
72 }