--- /dev/null
+package jalview.util;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNotEquals;
+import static org.testng.Assert.assertTrue;
+
+import org.testng.annotations.Test;
+
+public class CaseInsensitiveStringTest
+{
+ @Test(groups = "Functional")
+ public void testEquals()
+ {
+ CaseInsensitiveString s1 = new CaseInsensitiveString(null);
+ CaseInsensitiveString s2 = new CaseInsensitiveString("a");
+ CaseInsensitiveString s3 = new CaseInsensitiveString("A");
+ CaseInsensitiveString s4 = new CaseInsensitiveString("b");
+
+ assertFalse(s1.equals(null));
+ assertTrue(s1.equals(s1));
+ assertFalse(s1.equals(s2));
+ assertTrue(s2.equals(s2));
+ assertFalse(s2.equals(s1));
+ assertTrue(s2.equals(s3));
+ assertTrue(s3.equals(s2));
+ assertFalse(s3.equals(s4));
+ assertFalse(s4.equals(s3));
+ }
+
+ @Test(groups = "Functional")
+ public void testHashcode()
+ {
+ CaseInsensitiveString s1 = new CaseInsensitiveString(null);
+ CaseInsensitiveString s2 = new CaseInsensitiveString("a");
+ CaseInsensitiveString s3 = new CaseInsensitiveString("A");
+ CaseInsensitiveString s4 = new CaseInsensitiveString("b");
+
+ assertNotEquals(s1.hashCode(), s2.hashCode());
+ assertEquals(s2.hashCode(), s3.hashCode());
+ assertNotEquals(s3.hashCode(), s4.hashCode());
+ }
+}