JAL-3446 post-merge unit test fixes, formatting
[jalview.git] / test / jalview / datamodel / features / FeatureAttributesTest.java
index e47c787..d9efa23 100644 (file)
@@ -23,7 +23,7 @@ public class FeatureAttributesTest
   /**
    * clear down attributes map before tests
    */
-  @BeforeClass
+  @BeforeClass(alwaysRun = true)
   public void setUp()
   {
     FeatureAttributes fa = FeatureAttributes.getInstance();
@@ -33,7 +33,7 @@ public class FeatureAttributesTest
   /**
    * clear down attributes map after tests
    */
-  @AfterMethod
+  @AfterMethod(alwaysRun = true)
   public void tearDown()
   {
     FeatureAttributes fa = FeatureAttributes.getInstance();
@@ -44,7 +44,7 @@ public class FeatureAttributesTest
    * Test the method that keeps attribute names in non-case-sensitive order,
    * including handling of 'compound' names
    */
-  @Test(groups="Functional")
+  @Test(groups = "Functional")
   public void testAttributeNameComparator()
   {
     FeatureAttributes fa = FeatureAttributes.getInstance();
@@ -52,19 +52,24 @@ public class FeatureAttributesTest
             "comparator");
 
     assertEquals(
-            comp.compare(new String[] { "CSQ" }, new String[] { "csq" }), 0);
+            comp.compare(new String[]
+            { "CSQ" }, new String[] { "csq" }), 0);
 
-    assertTrue(comp.compare(new String[] { "CSQ", "a" },
-            new String[] { "csq" }) > 0);
+    assertTrue(
+            comp.compare(new String[]
+            { "CSQ", "a" }, new String[] { "csq" }) > 0);
 
-    assertTrue(comp.compare(new String[] { "CSQ" }, new String[] { "csq",
-        "b" }) < 0);
+    assertTrue(
+            comp.compare(new String[]
+            { "CSQ" }, new String[] { "csq", "b" }) < 0);
 
-    assertTrue(comp.compare(new String[] { "CSQ", "AF" }, new String[] {
-        "csq", "ac" }) > 0);
+    assertTrue(
+            comp.compare(new String[]
+            { "CSQ", "AF" }, new String[] { "csq", "ac" }) > 0);
 
-    assertTrue(comp.compare(new String[] { "CSQ", "ac" }, new String[] {
-        "csq", "AF" }) < 0);
+    assertTrue(
+            comp.compare(new String[]
+            { "CSQ", "ac" }, new String[] { "csq", "AF" }) < 0);
   }
 
   @Test(groups = "Functional")
@@ -76,12 +81,14 @@ public class FeatureAttributesTest
     assertNull(fa.getMinMax("Pfam", "kd"));
     sf.setValue("domain", "xyz");
     assertNull(fa.getMinMax("Pfam", "kd"));
-    sf.setValue("kd", "some text");
-    assertNull(fa.getMinMax("Pfam", "kd"));
     sf.setValue("kd", "1.3");
     assertEquals(fa.getMinMax("Pfam", "kd"), new float[] { 1.3f, 1.3f });
     sf.setValue("kd", "-2.6");
     assertEquals(fa.getMinMax("Pfam", "kd"), new float[] { -2.6f, 1.3f });
+    // setting 'mixed' character and numeric values wipes the min/max value
+    sf.setValue("kd", "some text");
+    assertNull(fa.getMinMax("Pfam", "kd"));
+
     Map<String, String> csq = new HashMap<>();
     csq.put("AF", "-3");
     sf.setValue("CSQ", csq);
@@ -122,10 +129,13 @@ public class FeatureAttributesTest
             "group");
     sf.setValue("kd", "-1");
     sf.setValue("domain", "Metal");
+    sf.setValue("foo", " ");
     sf.setValue("phase", "1");
-    sf.setValue("phase", "reverse");
+    sf.setValue("phase", "1reverse");
     assertEquals(fa.getDatatype("Pfam", "kd"), Datatype.Number);
     assertEquals(fa.getDatatype("Pfam", "domain"), Datatype.Character);
     assertEquals(fa.getDatatype("Pfam", "phase"), Datatype.Mixed);
+    assertNull(fa.getDatatype("Pfam", "unobserved"));
+    assertNull(fa.getDatatype("Pfam", "foo"));// empty values are ignored
   }
 }