Introduce top-level pom file.
[mdsal.git] / binding / mdsal-binding-generator-util / src / test / java / org / opendaylight / yangtools / binding / generator / util / generated / type / builder / GeneratedPropertyImplTest.java
1 /**
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  */
4 package org.opendaylight.yangtools.binding.generator.util.generated.type.builder;
5
6 import static org.junit.Assert.*;
7
8 import org.junit.Test;
9 import org.opendaylight.yangtools.binding.generator.util.Types;
10 import org.opendaylight.yangtools.sal.binding.model.api.AccessModifier;
11 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedProperty;
12
13 public class GeneratedPropertyImplTest {
14
15     @Test
16     public void generatedPropertyImplTest() {
17         GeneratedPropertyBuilderImpl generatedPropertyBuilderImpl = new GeneratedPropertyBuilderImpl("myPropertyName");
18         generatedPropertyBuilderImpl.setValue("myValue");
19         generatedPropertyBuilderImpl.setReadOnly(false);
20         generatedPropertyBuilderImpl.setStatic(true);
21         generatedPropertyBuilderImpl.setComment("myComment");
22         generatedPropertyBuilderImpl.setFinal(true);
23         generatedPropertyBuilderImpl.setAccessModifier(AccessModifier.PUBLIC);
24         generatedPropertyBuilderImpl.setReturnType(Types.BOOLEAN);
25
26         GeneratedProperty instance = generatedPropertyBuilderImpl.toInstance(new GeneratedTypeBuilderImpl("my.package",
27                 "myTypeName").toInstance());
28
29         assertNotNull(instance);
30
31         assertTrue(instance.isFinal());
32         assertTrue(instance.isStatic());
33         assertFalse(instance.isReadOnly());
34         assertEquals("myValue", instance.getValue());
35         assertEquals("myComment", instance.getComment());
36         assertEquals(AccessModifier.PUBLIC, instance.getAccessModifier());
37         assertEquals(Types.BOOLEAN, instance.getReturnType());
38
39         assertEquals(
40                 "GeneratedPropertyImpl [name=myPropertyName, annotations=[], comment=myComment, parent=my.package.myTypeName, returnType=Type (java.lang.Boolean), isFinal=true, isReadOnly=false, modifier=PUBLIC]",
41                 instance.toString());
42
43     }
44
45     @Test
46     public void generatedPropertyImplEqualsAndHashCodeTest() {
47         GeneratedPropertyBuilderImpl generatedPropertyBuilderImpl = new GeneratedPropertyBuilderImpl("myPropertyName");
48         GeneratedPropertyBuilderImpl generatedPropertyBuilderImpl2 = new GeneratedPropertyBuilderImpl("myPropertyName");
49         GeneratedPropertyBuilderImpl generatedPropertyBuilderImpl3 = new GeneratedPropertyBuilderImpl("myPropertyName3");
50         GeneratedPropertyBuilderImpl generatedPropertyBuilderImpl4 = new GeneratedPropertyBuilderImpl("myPropertyName");
51
52         generatedPropertyBuilderImpl.setReturnType(Types.BOOLEAN);
53         generatedPropertyBuilderImpl2.setReturnType(Types.BOOLEAN);
54         generatedPropertyBuilderImpl3.setReturnType(Types.BOOLEAN);
55         generatedPropertyBuilderImpl4.setReturnType(Types.STRING);
56
57         GeneratedProperty property = generatedPropertyBuilderImpl.toInstance(null);
58         GeneratedProperty property2 = generatedPropertyBuilderImpl2.toInstance(null);
59         GeneratedProperty property3 = generatedPropertyBuilderImpl3.toInstance(null);
60         GeneratedProperty property4 = generatedPropertyBuilderImpl4.toInstance(null);
61
62         assertNotNull(property);
63         assertNotNull(property2);
64         assertNotNull(property3);
65         assertNotNull(property4);
66
67         assertFalse(property.equals(null));
68         assertFalse(property.equals(new Object()));
69         assertTrue(property.equals(property));
70         assertTrue(property.equals(property2));
71         assertFalse(property.equals(property3));
72         assertFalse(property.equals(property4));
73
74         assertTrue(property.hashCode() == property.hashCode());
75         assertTrue(property.hashCode() == property2.hashCode());
76         assertFalse(property.hashCode() == property3.hashCode());
77         assertFalse(property.hashCode() == property4.hashCode());
78     }
79
80 }