JAL-2189 format tests
[jalview.git] / test / jalview / datamodel / SearchResultsTest.java
index ae9512f..f9a0a4f 100644 (file)
@@ -1,15 +1,38 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.datamodel;
 
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertSame;
 import static org.testng.AssertJUnit.assertTrue;
 
+import jalview.datamodel.SearchResults.Match;
+
 import org.testng.annotations.Test;
 
 public class SearchResultsTest
 {
 
-  @Test(groups ={ "Functional" })
+  @Test(groups = { "Functional" })
   public void testToString()
   {
     SequenceI seq = new Sequence("", "abcdefghijklm");
@@ -146,4 +169,24 @@ public class SearchResultsTest
     sr2.addResult(seq1, 6, 8);
     assertEquals(sr1.hashCode(), sr2.hashCode());
   }
+
+  /**
+   * Verify that SearchResults$Match constructor normalises start/end to the
+   * 'forwards' direction
+   */
+  @Test(groups = { "Functional" })
+  public void testMatchConstructor()
+  {
+    SequenceI seq1 = new Sequence("", "abcdefghijklm");
+    Match m = new SearchResults().new Match(seq1, 2, 5);
+    assertSame(seq1, m.getSequence());
+    assertEquals(2, m.getStart());
+    assertEquals(5, m.getEnd());
+
+    // now a reverse mapping:
+    m = new SearchResults().new Match(seq1, 5, 2);
+    assertSame(seq1, m.getSequence());
+    assertEquals(2, m.getStart());
+    assertEquals(5, m.getEnd());
+  }
 }