25277136813ef51490d1a13b133070726f7a21be
[smo/teiv.git] /
1 /*
2  *  ============LICENSE_START=======================================================
3  *  Copyright (C) 2024 Ericsson
4  *  Modifications Copyright (C) 2024-2025 OpenInfra Foundation Europe
5  *  ================================================================================
6  *  Licensed under the Apache License, Version 2.0 (the "License");
7  *  you may not use this file except in compliance with the License.
8  *  You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License.
17  *
18  *  SPDX-License-Identifier: Apache-2.0
19  *  ============LICENSE_END=========================================================
20  */
21 package org.oran.smo.yangtools.parser.data.util.test;
22
23 import static org.junit.Assert.assertTrue;
24
25 import org.junit.Test;
26
27 import org.oran.smo.yangtools.parser.PrefixResolver;
28 import org.oran.smo.yangtools.parser.data.util.IdentityRefValue;
29
30 public class IdentityRefValueTest {
31
32     @SuppressWarnings("unlikely-arg-type")
33     @Test
34     public void test_identity_ref_value_type() {
35
36         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").getIdentityNamespace().equals("ns1"));
37         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").getIdentityModuleName().equals("module1"));
38         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").getIdentityName().equals("identity1"));
39
40         new IdentityRefValue("ns1", "module1", "identity1").toString();
41
42         /*
43          * For XML
44          */
45         final PrefixResolver prefixResolver = new PrefixResolver();
46         prefixResolver.addMapping("ns1", "urn:namespace1");
47         prefixResolver.addMapping("ns2", "urn:namespace2");
48
49         assertTrue(new IdentityRefValue("ns1:identity1", prefixResolver, "urn:namespace99").getIdentityNamespace().equals(
50                 "urn:namespace1"));
51         assertTrue(new IdentityRefValue("ns1:identity1", prefixResolver, "urn:namespace99")
52                 .getIdentityModuleName() == null);
53         assertTrue(new IdentityRefValue("ns1:identity1", prefixResolver, "urn:namespace99").getIdentityName().equals(
54                 "identity1"));
55
56         assertTrue(new IdentityRefValue("identity1", prefixResolver, "urn:namespace99").getIdentityNamespace().equals(
57                 "urn:namespace99"));
58         assertTrue(new IdentityRefValue("identity1", prefixResolver, "urn:namespace99").getIdentityModuleName() == null);
59         assertTrue(new IdentityRefValue("identity1", prefixResolver, "urn:namespace99").getIdentityName().equals(
60                 "identity1"));
61
62         assertTrue(new IdentityRefValue("ns99:identity1", prefixResolver, "urn:namespace99")
63                 .getIdentityNamespace() == null);
64         assertTrue(new IdentityRefValue("ns99:identity1", prefixResolver, "urn:namespace99")
65                 .getIdentityModuleName() == null);
66         assertTrue(new IdentityRefValue("ns99:identity1", prefixResolver, "urn:namespace99").getIdentityName().equals(
67                 "identity1"));
68
69         /*
70          * For JSON
71          */
72         assertTrue(new IdentityRefValue("module1:identity1", "module99").getIdentityNamespace() == null);
73         assertTrue(new IdentityRefValue("module1:identity1", "module99").getIdentityModuleName().equals("module1"));
74         assertTrue(new IdentityRefValue("module1:identity1", "module99").getIdentityName().equals("identity1"));
75
76         assertTrue(new IdentityRefValue("identity1", "module99").getIdentityNamespace() == null);
77         assertTrue(new IdentityRefValue("identity1", "module99").getIdentityModuleName().equals("module99"));
78         assertTrue(new IdentityRefValue("identity1", "module99").getIdentityName().equals("identity1"));
79
80         /*
81          * Equality
82          */
83         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(null) == false);
84         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new Integer(1)) == false);
85
86         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue("ns1", "module1",
87                 "identityXXX")) == false);
88         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue("ns1", "moduleXXX",
89                 "identity1")) == false);
90         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue("nsXXX", "module1",
91                 "identity1")) == false);
92
93         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue("ns1", "module1",
94                 "identity1")) == true);
95         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue("ns1", (String) null,
96                 "identity1")) == true);
97         assertTrue(new IdentityRefValue("ns1", "module1", "identity1").equals(new IdentityRefValue(null, "module1",
98                 "identity1")) == true);
99
100         assertTrue(new IdentityRefValue(null, "module1", "identity1").equals(new IdentityRefValue("ns1", (String) null,
101                 "identity1")) == false);
102     }
103 }