package querqy;
import static org.junit.Assert.*;
import org.junit.Test;
public class CharSequenceUtilTest {
@Test
public void testNullDoesNotCauseExceptionInEquals() {
assertTrue(CharSequenceUtil.equals(null, null));
assertFalse(CharSequenceUtil.equals("", null));
assertFalse(CharSequenceUtil.equals(null, ""));
}
@Test
public void testEqualSubstring() throws Exception {
assertFalse(CharSequenceUtil.equals("", "a"));
assertFalse(CharSequenceUtil.equals("a", ""));
assertFalse(CharSequenceUtil.equals("ab", "abc"));
assertFalse(CharSequenceUtil.equals("abc", "ab"));
}
@Test
public void testEqualStrings() throws Exception {
assertTrue(CharSequenceUtil.equals("abc", "abc"));
assertTrue(CharSequenceUtil.equals("", ""));
}
@Test
public void testEqualIsCaseSensitive() throws Exception {
assertFalse(CharSequenceUtil.equals("ABC", "abc"));
assertFalse(CharSequenceUtil.equals("abc", "ABC"));
}
@Test
public void testClassHandling() throws Exception {
assertTrue(CharSequenceUtil.equals("abc", new LowerCaseCharSequence("ABC")));
assertTrue(CharSequenceUtil.equals(new LowerCaseCharSequence("ABC"), "abc"));
assertFalse(CharSequenceUtil.equals("abc", new Object() {@Override
public String toString() {
return "abc";
}}));
}
}