c4425325cba7a7a3342ee89d1d5d124030e14216
[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 com.google.common.base.Optional;
14 import org.junit.Test;
15
16 public class MustDefinitionImplTest {
17
18     @Test
19     public void test() {
20         MustDefinitionImpl mdiA;
21         MustDefinitionImpl mdiB;
22         mdiA = MustDefinitionImpl.create("mustStrA", Optional.of("descriptionA"), Optional.of("referenceA"), Optional.of("errorAppTagA"), Optional.of("errorMessageA"));
23
24         assertEquals("mdiA should equals to itsefl", mdiA, mdiA);
25         assertFalse("mdiA shouldn't equal to null", mdiA.equals(null));
26         assertFalse("mdiA shouldn't equal to object of other type", mdiA.equals(new String("str")));
27
28         // test of equals method
29
30         Optional<String> description = Optional.of("description");
31         Optional<String> reference = Optional.of("reference");
32         Optional<String> errorAppTag = Optional.of("errorAppTag");
33         Optional<String> errorMessage = Optional.of("errorMesage");
34         // //confirmation of equality
35         mdiA = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
36         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
37         assertEquals("mdiA should equal to mdiB", mdiA, mdiB);
38
39         // // mustStr
40         mdiA = MustDefinitionImpl.create("mstr", description, reference, errorAppTag, errorMessage);
41         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
42         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
43
44         mdiA = MustDefinitionImpl.create("mustStrA", description, reference, errorAppTag, errorMessage);
45         mdiB = MustDefinitionImpl.create("mustStrB", description, reference, errorAppTag, errorMessage);
46         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
47
48         // //description
49         mdiA = MustDefinitionImpl.create("mustStr", Optional.<String>absent(), reference, errorAppTag, errorMessage);
50         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
51         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
52
53         mdiA = MustDefinitionImpl.create("mustStr", Optional.of("descriptionA"), reference, errorAppTag, errorMessage);
54         mdiB = MustDefinitionImpl.create("mustStr", Optional.of("descriptionB"), reference, errorAppTag, errorMessage);
55         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
56
57         // //reference
58         mdiA = MustDefinitionImpl.create("mustStr", description, Optional.<String>absent(), errorAppTag, errorMessage);
59         mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
60         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
61
62         mdiA = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceA"), errorAppTag, errorMessage);
63         mdiB = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceB"), errorAppTag, errorMessage);
64         assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
65
66         assertEquals(description.get(), mdiA.getDescription());
67         assertEquals(errorAppTag.get(), mdiA.getErrorAppTag());
68         assertEquals(errorMessage.get(), mdiA.getErrorMessage());
69         assertEquals("referenceA", mdiA.getReference());
70         assertEquals(null, mdiA.getXpath());
71     }
72 }