1 package io.github.reggert.reb4j.charclass; 2 3 import static org.hamcrest.CoreMatchers.is; 4 import static org.junit.Assert.assertThat; 5 6 import io.github.reggert.reb4j.Entity; 7 import io.github.reggert.reb4j.Expression; 8 import io.github.reggert.reb4j.charclass.CharClass; 9 10 import java.util.HashSet; 11 12 13 import org.junit.Test; 14 15 16 public class NamedPredefinedClassTest 17 { 18 19 @Test 20 public void testHashCodeAndEquals() 21 { 22 final HashSet<Expression> set = new HashSet<Expression>(); 23 set.add(CharClass.Posix.ALPHA); 24 set.add(CharClass.Posix.ALPHA.negated().negated()); 25 set.add(CharClass.Posix.BLANK); 26 assertThat(set.size(), is(2)); 27 assertThat(set.contains(CharClass.Posix.ALPHA), is(true)); 28 assertThat(set.contains(CharClass.Posix.CONTROL), is(false)); 29 assertThat(CharClass.Posix.ALPHA.equals(CharClass.Posix.ALPHA), is(true)); 30 assertThat(CharClass.Posix.ALPHA.equals(CharClass.Posix.ALPHA.negated().negated()), is(true)); 31 assertThat(CharClass.Posix.ALPHA.equals(CharClass.Posix.BLANK), is(false)); 32 assertThat(CharClass.Posix.ALPHA.equals(Entity.ANY_CHAR), is(false)); 33 assertThat(CharClass.Posix.ALPHA.equals(null), is(false)); 34 } 35 36 }