JAL-1803 extracted class ChainId to jalview.util.CaseInsensitiveString,
[jalview.git] / test / jalview / util / CaseInsensitiveStringTest.java
diff --git a/test/jalview/util/CaseInsensitiveStringTest.java b/test/jalview/util/CaseInsensitiveStringTest.java
new file mode 100644 (file)
index 0000000..9a846e6
--- /dev/null
@@ -0,0 +1,43 @@
+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());
+  }
+}