Bug 5200: Yang parser doesn't fill error-app-tag and error-message in constraints
[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 com.google.common.base.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'.", "test description", patternConstraint.getDescription());
37         assertEquals("Error app tag shouldn't be null.", "invalid-regular-expression", patternConstraint.getErrorAppTag());
38         assertNotNull(patternConstraint.getErrorMessage());
39         assertEquals("Reference should be equals 'RFC 6020'.", "RFC 6020", patternConstraint.getReference());
40         assertEquals("Regular expression should be equls '\\D'.", "\\D", patternConstraint.getRegularExpression());
41         assertNotEquals("Hash codes shouldn't be equals.", patternConstraint.hashCode(), patternConstraint2.hashCode());
42         assertFalse("String representation shouldn't be empty.", patternConstraint.toString().isEmpty());
43
44         assertTrue("Objects should be equals.", patternConstraint.equals(patternConstraint3));
45         assertFalse("Objects shouldn't be equals.", patternConstraint.equals(patternConstraint2));
46         assertFalse("Objects shouldn't be equals.", patternConstraint4.equals(patternConstraint));
47         assertFalse("Objects shouldn't be equals.", patternConstraint5.equals(patternConstraint));
48         assertFalse("Objects shouldn't be equals.", patternConstraint.equals("test"));
49         assertFalse("Objects shouldn't be equals.", patternConstraint.equals(null));
50     }
51 }