1 package io.github.reggert.reb4j; 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.Literal; 9 import io.github.reggert.reb4j.StringLiteral; 10 11 import java.util.HashSet; 12 13 import org.junit.Test; 14 15 16 public class StringLiteralTest 17 { 18 19 @Test 20 public void testHashCodeAndEquals() 21 { 22 final StringLiteral literal1 = Literal.literal("abc"); 23 final StringLiteral literal2 = Literal.literal("abc"); 24 final StringLiteral literal3 = Literal.literal("123"); 25 final StringLiteral literal4 = Literal.literal("xyz"); 26 final HashSet<Expression> set = new HashSet<Expression>(); 27 set.add(literal1); 28 set.add(literal3); 29 assertThat(set.size(), is(2)); 30 assertThat(set.contains(literal1), is(true)); 31 assertThat(set.contains(literal2), is(true)); 32 assertThat(set.contains(literal3), is(true)); 33 assertThat(set.contains(literal4), is(false)); 34 assertThat(literal1.equals(literal1), is(true)); 35 assertThat(literal1.equals(null), is(false)); 36 assertThat(literal1.equals(Entity.ANY_CHAR), is(false)); 37 } 38 39 }