BUG-4322: Leafref should not have a default value
[yangtools.git] / yang / yang-model-util / src / test / java / org / opendaylight / yangtools / yang / model / util / MustDefinitionImplTest.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.yangtools.yang.model.util;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12
13 import org.junit.Test;
14
15 import com.google.common.base.Optional;
16
17 public class MustDefinitionImplTest {
18
19     @Test
20     public void test() {
21         MustDefinitionImpl mdiA;
22         MustDefinitionImpl mdiB;
23         mdiA = MustDefinitionImpl.create("mustStrA", Optional.of("descriptionA"), Optional.of("referenceA"), Optional.of("errorAppTagA"), Optional.of("errorMessageA"));
24
25         assertEquals("mdiA should equals to itsefl", mdiA, mdiA);
26         assertFalse("mdiA shouldn't equal to null", mdiA.equals(null));
27         assertFalse("mdiA shouldn't equal to object of other type", mdiA.equals(new String("str")));
28
29         // test of equals method
30
31         Optional<String> description = Optional.of("description");
32         Optional<String> reference = Optional.of("reference");
33         Optional<String> errorAppTag = Optional.of("errorAppTag");
34         Optional<String> errorMessage = Optional.of("errorMesage");
35         // //confirmation of equality
36         mdiA = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
37         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
38         assertEquals("mdiA should equal to mdiB", mdiA, mdiB);
39
40         // // mustStr
41         mdiA = MustDefinitionImpl.create("mstr", description, reference, errorAppTag, errorMessage);
42         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
43         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
44
45         mdiA = MustDefinitionImpl.create("mustStrA", description, reference, errorAppTag, errorMessage);
46         mdiB = MustDefinitionImpl.create("mustStrB", description, reference, errorAppTag, errorMessage);
47         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
48
49         // //description
50         mdiA = MustDefinitionImpl.create("mustStr", Optional.<String>absent(), reference, errorAppTag, errorMessage);
51         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
52         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
53
54         mdiA = MustDefinitionImpl.create("mustStr", Optional.of("descriptionA"), reference, errorAppTag, errorMessage);
55         mdiB = MustDefinitionImpl.create("mustStr", Optional.of("descriptionB"), reference, errorAppTag, errorMessage);
56         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
57
58         // //reference
59         mdiA = MustDefinitionImpl.create("mustStr", description, Optional.<String>absent(), errorAppTag, errorMessage);
60         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
61         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
62
63         mdiA = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceA"), errorAppTag, errorMessage);
64         mdiB = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceB"), errorAppTag, errorMessage);
65         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
66
67     }
68
69 }