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 {
20 MustDefinitionImpl mdiA;
21 MustDefinitionImpl mdiB;
22 mdiA = MustDefinitionImpl.create("mustStrA", Optional.of("descriptionA"), Optional.of("referenceA"), Optional.of("errorAppTagA"), Optional.of("errorMessageA"));
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")));
28 // test of equals method
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);
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));
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));
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));
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));
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));
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));
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());