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;
12 import static org.junit.Assert.assertNotEquals;
13 import static org.junit.Assert.assertNotNull;
14 import static org.junit.Assert.assertTrue;
16 import java.util.Optional;
17 import org.junit.Test;
19 public class PatternConstraintImplTest {
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);
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 assertFalse(patternConstraint.getErrorMessage().isPresent());
40 assertEquals(Optional.of("RFC 6020"), patternConstraint.getReference());
41 assertEquals("Regular expression should be equls '\\D'.", "\\D", patternConstraint.getJavaPatternString());
42 assertNotEquals("Hash codes shouldn't be equals.", patternConstraint.hashCode(), patternConstraint2.hashCode());
43 assertFalse("String representation shouldn't be empty.", patternConstraint.toString().isEmpty());
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));