2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.yang.model.util;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
13 import com.google.common.base.Optional;
14 import org.junit.Test;
16 public class MustDefinitionImplTest {
19 // We're testing equals()
20 @SuppressWarnings({"ObjectEqualsNull", "EqualsBetweenInconvertibleTypes"})
22 MustDefinitionImpl mdiA;
23 MustDefinitionImpl mdiB;
24 mdiA = MustDefinitionImpl.create("mustStrA", Optional.of("descriptionA"), Optional.of("referenceA"), Optional.of("errorAppTagA"), Optional.of("errorMessageA"));
26 assertEquals("mdiA should equals to itsefl", mdiA, mdiA);
27 assertFalse("mdiA shouldn't equal to null", mdiA.equals(null));
28 assertFalse("mdiA shouldn't equal to object of other type", mdiA.equals("str"));
30 // test of equals method
32 Optional<String> description = Optional.of("description");
33 Optional<String> reference = Optional.of("reference");
34 Optional<String> errorAppTag = Optional.of("errorAppTag");
35 Optional<String> errorMessage = Optional.of("errorMesage");
36 // //confirmation of equality
37 mdiA = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
38 mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
39 assertEquals("mdiA should equal to mdiB", mdiA, mdiB);
42 mdiA = MustDefinitionImpl.create("mstr", description, reference, errorAppTag, errorMessage);
43 mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
44 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
46 mdiA = MustDefinitionImpl.create("mustStrA", description, reference, errorAppTag, errorMessage);
47 mdiB = MustDefinitionImpl.create("mustStrB", description, reference, errorAppTag, errorMessage);
48 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
51 mdiA = MustDefinitionImpl.create("mustStr", Optional.absent(), reference, errorAppTag, errorMessage);
52 mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
53 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
55 mdiA = MustDefinitionImpl.create("mustStr", Optional.of("descriptionA"), reference, errorAppTag, errorMessage);
56 mdiB = MustDefinitionImpl.create("mustStr", Optional.of("descriptionB"), reference, errorAppTag, errorMessage);
57 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
60 mdiA = MustDefinitionImpl.create("mustStr", description, Optional.absent(), errorAppTag, errorMessage);
61 mdiB = MustDefinitionImpl.create("mustStr", description, reference, errorAppTag, errorMessage);
62 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
64 mdiA = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceA"), errorAppTag, errorMessage);
65 mdiB = MustDefinitionImpl.create("mustStr", description, Optional.of("referenceB"), errorAppTag, errorMessage);
66 assertFalse("mdiA shouldn't equal to mdiB", mdiA.equals(mdiB));
68 assertEquals(description.get(), mdiA.getDescription());
69 assertEquals(errorAppTag.get(), mdiA.getErrorAppTag());
70 assertEquals(errorMessage.get(), mdiA.getErrorMessage());
71 assertEquals("referenceA", mdiA.getReference());
72 assertEquals(null, mdiA.getXpath());