Cleanup DocumentedNode
[yangtools.git] / yang / yang-model-util / src / test / java / org / opendaylight / yangtools / yang / model / util / PatternConstraintImplTest.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 import static org.junit.Assert.assertNotEquals;
13 import static org.junit.Assert.assertNotNull;
14 import static org.junit.Assert.assertTrue;
15
16 import java.util.Optional;
17 import org.junit.Test;
18
19 public class PatternConstraintImplTest {
20
21     @Test
22     public void testMethodsOfPatternConstraintImpl() {
23         final String regexExp = "\\D";
24         final Optional<String> description = Optional.of("test description");
25         final Optional<String> reference = Optional.of("RFC 6020");
26         final PatternConstraintImpl patternConstraint = new PatternConstraintImpl(regexExp, description, reference);
27         final String regexExp2 = "\\s";
28         final Optional<String> description2 = Optional.of("test description2");
29         final Optional<String> reference2 = Optional.of("RFC 6020 http://tools.ietf.org/html/rfc6020#page-23");
30         final PatternConstraintImpl patternConstraint2 = new PatternConstraintImpl(regexExp2, description2, reference2);
31         final PatternConstraintImpl patternConstraint3 = patternConstraint;
32         final PatternConstraintImpl patternConstraint4 = new PatternConstraintImpl(regexExp, description2, reference);
33         final PatternConstraintImpl patternConstraint5 = new PatternConstraintImpl(regexExp2, description2, reference2);
34
35         assertNotNull("Object of PatternConstraintImpl shouldn't be null.", patternConstraint);
36         assertEquals("Description should be 'test description'.", Optional.of("test description"),
37                 patternConstraint.getDescription());
38         assertEquals(Optional.of("invalid-regular-expression"), patternConstraint.getErrorAppTag());
39         assertTrue(patternConstraint.getErrorMessage().isPresent());
40         assertEquals(Optional.of("RFC 6020"), patternConstraint.getReference());
41         assertEquals("Regular expression should be equls '\\D'.", "\\D", patternConstraint.getRegularExpression());
42         assertNotEquals("Hash codes shouldn't be equals.", patternConstraint.hashCode(), patternConstraint2.hashCode());
43         assertFalse("String representation shouldn't be empty.", patternConstraint.toString().isEmpty());
44
45         assertTrue("Objects should be equals.", patternConstraint.equals(patternConstraint3));
46         assertFalse("Objects shouldn't be equals.", patternConstraint.equals(patternConstraint2));
47         assertFalse("Objects shouldn't be equals.", patternConstraint4.equals(patternConstraint));
48         assertFalse("Objects shouldn't be equals.", patternConstraint5.equals(patternConstraint));
49         assertFalse("Objects shouldn't be equals.", patternConstraint.equals("test"));
50         assertFalse("Objects shouldn't be equals.", patternConstraint.equals(null));
51     }
52 }