Fix javadoc formatting issues
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / parser / builder / impl / RpcDefinitionBuilderTest.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
3  * This program and the accompanying materials are made available under the
4  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
5  * and is available at http://www.eclipse.org/legal/epl-v10.html
6  */
7 package org.opendaylight.yangtools.yang.parser.builder.impl;
8
9 import static org.junit.Assert.assertEquals;
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertNotEquals;
12 import static org.junit.Assert.assertNotNull;
13 import static org.junit.Assert.assertNull;
14 import static org.junit.Assert.assertTrue;
15 import org.junit.Test;
16 import org.opendaylight.yangtools.yang.common.QName;
17 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
18 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
19 import org.opendaylight.yangtools.yang.model.api.Status;
20 import org.opendaylight.yangtools.yang.model.util.Uint16;
21 import org.opendaylight.yangtools.yang.parser.builder.api.GroupingBuilder;
22 import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder;
23 import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder;
24 /**
25  * Test suite for increasing of test coverage of RpcDefinitionBuilder implementation.
26  *
27  * @see org.opendaylight.yangtools.yang.parser.builder.impl.RpcDefinitionBuilder
28  *
29  * @author Lukas Sedlak <lsedlak@cisco.com>
30  *
31  * @deprecated Pre-Beryllium implementation, scheduled for removal.
32  */
33 @Deprecated
34 public class RpcDefinitionBuilderTest extends AbstractBuilderTest {
35
36     @Test
37     public void testBuild() {
38         final QName rpcQName = QName.create(module.getNamespace(), module.getRevision(), "send-message");
39         SchemaPath rpcPath = SchemaPath.create(true, rpcQName);
40         final RpcDefinitionBuilder rpcBuilder = new RpcDefinitionBuilder(module.getModuleName(), 10, rpcQName, rpcPath);
41
42         final QName testTypedef = QName.create(module.getNamespace(), module.getRevision(), "test-typedef");
43         final SchemaPath testTypedefPath = SchemaPath.create(true, rpcQName, testTypedef);
44         final TypeDefinitionBuilder typedefBuilder = new TypeDefinitionBuilderImpl(module.getModuleName(),
45             12, testTypedef, testTypedefPath);
46         typedefBuilder.setType(Uint16.getInstance());
47
48         rpcBuilder.addTypedef(typedefBuilder);
49
50         final QName testGroup = QName.create(module.getNamespace(), module.getRevision(), "test-group");
51         final SchemaPath groupPath = SchemaPath.create(true, rpcQName, testGroup);
52         final GroupingBuilder groupBuilder = new GroupingBuilderImpl(module.getModuleName(), 15, testGroup, groupPath);
53
54         rpcBuilder.addGrouping(groupBuilder);
55
56         final QName unknownNode = QName.create(module.getNamespace(), module.getRevision(), "unknown-ext-use");
57         final SchemaPath unknownNodePath = SchemaPath.create(true, rpcQName, unknownNode);
58         final UnknownSchemaNodeBuilder unknownNodeBuilder =  new UnknownSchemaNodeBuilderImpl(module.getModuleName(),
59             25, unknownNode, unknownNodePath);
60
61         rpcBuilder.addUnknownNodeBuilder(unknownNodeBuilder);
62
63         final RpcDefinitionBuilder rpcBuilder2 = new RpcDefinitionBuilder(module.getModuleName(), 10, rpcQName, rpcPath);
64         final RpcDefinitionBuilder rpcBuilder3 = new RpcDefinitionBuilder(module.getModuleName(), 10, unknownNode, rpcPath);
65         final RpcDefinitionBuilder rpcBuilder4 = new RpcDefinitionBuilder(module.getModuleName(), 10, rpcQName, unknownNodePath);
66
67         assertEquals(rpcBuilder, rpcBuilder2);
68         assertNotEquals(rpcBuilder, null);
69         assertNotEquals(rpcBuilder, rpcBuilder3);
70         assertNotEquals(rpcBuilder, rpcBuilder4);
71
72         assertEquals(rpcBuilder.toString(), "rpc send-message");
73
74         final RpcDefinition instance = rpcBuilder.build();
75
76         assertNotNull(instance);
77
78         final RpcDefinition sameInstance = rpcBuilder.build();
79         assertTrue(sameInstance == instance);
80         assertEquals(sameInstance, instance);
81
82         assertEquals(instance.getPath(), rpcPath);
83         assertEquals(instance.getStatus(), Status.CURRENT);
84         assertNull(instance.getOutput());
85         assertFalse(instance.getTypeDefinitions().isEmpty());
86         assertFalse(instance.getGroupings().isEmpty());
87         assertFalse(instance.getUnknownSchemaNodes().isEmpty());
88
89         assertEquals(instance.getTypeDefinitions().size(), 1);
90         assertEquals(instance.getGroupings().size(), 1);
91         assertEquals(instance.getUnknownSchemaNodes().size(), 1);
92
93         RpcDefinition instance2 = rpcBuilder2.build();
94         RpcDefinition instance3 = rpcBuilder3.build();
95         RpcDefinition instance4 = rpcBuilder4.build();
96
97         assertEquals(instance, instance2);
98         assertNotEquals(instance, null);
99         assertNotEquals(instance, instance3);
100         assertNotEquals(instance, instance4);
101
102         assertEquals(instance.toString(), "RpcDefinitionImpl[qname=(urn:opendaylight.rpc:def:test-model?" +
103             "revision=2014-01-06)send-message, path=AbsoluteSchemaPath{path=[(urn:opendaylight.rpc:def:test-model?" +
104             "revision=2014-01-06)send-message]}, input=null, output=null]");
105     }
106 }