JAL-2349 JAL-3855 experimenting with filtering columns based on mean of contact map...
[jalview.git] / test / jalview / datamodel / ColumnSelectionTest.java
index d581345..5cb8cf5 100644 (file)
@@ -25,12 +25,6 @@ import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 import static org.testng.AssertJUnit.fail;
 
-import jalview.analysis.AlignmentGenerator;
-import jalview.gui.JvOptionPane;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter.SearchableAnnotationField;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter.ThresholdType;
-
 import java.util.Arrays;
 import java.util.BitSet;
 import java.util.Collections;
@@ -41,6 +35,12 @@ import java.util.List;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import jalview.analysis.AlignmentGenerator;
+import jalview.gui.JvOptionPane;
+import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
+import jalview.viewmodel.annotationfilter.AnnotationFilterParameter.SearchableAnnotationField;
+import jalview.viewmodel.annotationfilter.AnnotationFilterParameter.ThresholdType;
+
 public class ColumnSelectionTest
 {
 
@@ -606,6 +606,8 @@ public class ColumnSelectionTest
   public void testFilterAnnotations()
   {
     ColumnSelection cs = new ColumnSelection();
+    AlignmentAnnotation alann = new AlignmentAnnotation("dummy",
+            "dummyDesc", null);
 
     /*
      * filter with no conditions clears the selection
@@ -613,7 +615,8 @@ public class ColumnSelectionTest
     Annotation[] anns = new Annotation[] { null };
     AnnotationFilterParameter filter = new AnnotationFilterParameter();
     cs.addElement(3);
-    int added = cs.filterAnnotations(anns, filter);
+    alann.annotations = anns;
+    int added = cs.filterAnnotations(alann, filter);
     assertEquals(0, added);
     assertTrue(cs.isEmpty());
 
@@ -624,8 +627,8 @@ public class ColumnSelectionTest
     filter.addRegexSearchField(SearchableAnnotationField.DESCRIPTION);
     Annotation helix = new Annotation("(", "hello", '<', 2f);
     Annotation sheet = new Annotation("(", "world", '<', 2f);
-    added = cs.filterAnnotations(new Annotation[] { null, helix, sheet },
-            filter);
+    alann.annotations = new Annotation[] { null, helix, sheet };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(1, added);
     assertTrue(cs.contains(2));
 
@@ -635,8 +638,8 @@ public class ColumnSelectionTest
     filter = new AnnotationFilterParameter();
     filter.setRegexString("(");
     filter.addRegexSearchField(SearchableAnnotationField.DISPLAY_STRING);
-    added = cs.filterAnnotations(new Annotation[] { null, helix, sheet },
-            filter);
+    alann.annotations = new Annotation[] { null, helix, sheet };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(2, added);
     assertTrue(cs.contains(1));
     assertTrue(cs.contains(2));
@@ -650,9 +653,8 @@ public class ColumnSelectionTest
     sheet = new Annotation("x", "desc", 'E', 1f);
     Annotation turn = new Annotation("x", "desc", 'S', 2f);
     Annotation ann4 = new Annotation("x", "desc", 'Y', 3f);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(1, added);
     assertTrue(cs.contains(1));
 
@@ -660,9 +662,8 @@ public class ColumnSelectionTest
      * select Helix and Sheet (E)
      */
     filter.setFilterBetaSheet(true);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(2, added);
     assertTrue(cs.contains(1));
     assertTrue(cs.contains(2));
@@ -672,9 +673,8 @@ public class ColumnSelectionTest
      */
     filter.setFilterAlphaHelix(false);
     filter.setFilterTurn(true);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(2, added);
     assertTrue(cs.contains(2));
     assertTrue(cs.contains(3));
@@ -685,9 +685,8 @@ public class ColumnSelectionTest
     filter = new AnnotationFilterParameter();
     filter.setThresholdType(ThresholdType.BELOW_THRESHOLD);
     filter.setThresholdValue(2f);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(2, added);
     assertTrue(cs.contains(1));
     assertTrue(cs.contains(2));
@@ -696,9 +695,8 @@ public class ColumnSelectionTest
      * select value > 2f (ann4 only)
      */
     filter.setThresholdType(ThresholdType.ABOVE_THRESHOLD);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(1, added);
     assertTrue(cs.contains(4));
 
@@ -706,9 +704,8 @@ public class ColumnSelectionTest
      * select >2f or Helix
      */
     filter.setFilterAlphaHelix(true);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(2, added);
     assertTrue(cs.contains(1));
     assertTrue(cs.contains(4));
@@ -719,9 +716,8 @@ public class ColumnSelectionTest
      */
     filter.setThresholdType(ThresholdType.BELOW_THRESHOLD);
     filter.setThresholdValue(1f);
-    added = cs
-            .filterAnnotations(new Annotation[]
-            { null, helix, sheet, turn, ann4 }, filter);
+    alann.annotations = new Annotation[] { null, helix, sheet, turn, ann4 };
+    added = cs.filterAnnotations(alann, filter);
     assertEquals(1, added);
     assertTrue(cs.contains(1));
   }