+/*
+ * 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.analysis;
import static org.testng.Assert.assertEquals;
import jalview.datamodel.SearchResultsI;
import jalview.datamodel.Sequence;
import jalview.gui.AlignFrame;
+import jalview.gui.JvOptionPane;
+import jalview.io.DataSourceType;
import jalview.io.FileLoader;
-import jalview.io.FormatAdapter;
+
+import java.util.List;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class FinderTest
{
+ @BeforeClass(alwaysRun = true)
+ public void setUpJvOptionPane()
+ {
+ JvOptionPane.setInteractiveMode(false);
+ JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+ }
+
private AlignFrame af;
private AlignmentI al;
String seqData = "seq1 ABCD--EF-GHI\n" + "seq2 A--BCDefHI\n"
+ "seq3 --bcdEFH\n" + "seq4 aa---aMMMMMaaa\n";
af = new FileLoader().LoadFileWaitTillLoaded(seqData,
- FormatAdapter.PASTE);
+ DataSourceType.PASTE);
al = af.getViewport().getAlignment();
}
// should match seq2 efH and seq3 EFH
SearchResultsI sr = f.getSearchResults();
assertEquals(sr.getSize(), 2);
- assertSame(al.getSequenceAt(1), sr.getResultSequence(0));
- assertSame(al.getSequenceAt(2), sr.getResultSequence(1));
- assertEquals(sr.getResultStart(0), 5);
- assertEquals(sr.getResultEnd(0), 7);
- assertEquals(sr.getResultStart(1), 4);
- assertEquals(sr.getResultEnd(1), 6);
+ List<SearchResultMatchI> matches = sr.getResults();
+ assertSame(al.getSequenceAt(1), matches.get(0).getSequence());
+ assertSame(al.getSequenceAt(2), matches.get(1).getSequence());
+ assertEquals(matches.get(0).getStart(), 5);
+ assertEquals(matches.get(0).getEnd(), 7);
+ assertEquals(matches.get(1).getStart(), 4);
+ assertEquals(matches.get(1).getEnd(), 6);
}
/**
// seq1 and seq4 have 9 residues; no match in other sequences
SearchResultsI sr = f.getSearchResults();
assertEquals(sr.getSize(), 2);
- assertSame(al.getSequenceAt(0), sr.getResultSequence(0));
- assertSame(al.getSequenceAt(3), sr.getResultSequence(1));
- assertEquals(sr.getResultStart(0), 9);
- assertEquals(sr.getResultEnd(0), 9);
- assertEquals(sr.getResultStart(1), 9);
- assertEquals(sr.getResultEnd(1), 9);
+ List<SearchResultMatchI> matches = sr.getResults();
+ assertSame(al.getSequenceAt(0), matches.get(0).getSequence());
+ assertSame(al.getSequenceAt(3), matches.get(1).getSequence());
+ assertEquals(matches.get(0).getStart(), 9);
+ assertEquals(matches.get(0).getEnd(), 9);
+ assertEquals(matches.get(1).getStart(), 9);
+ assertEquals(matches.get(1).getEnd(), 9);
}
/**
f.find("e"); // matches in sequence
assertTrue(f.getIdMatch().isEmpty());
assertEquals(f.getSearchResults().getSize(), 1);
- assertEquals(f.getSearchResults().getResultStart(0), 5);
- assertEquals(f.getSearchResults().getResultEnd(0), 5);
- assertSame(f.getSearchResults().getResultSequence(0),
- al.getSequenceAt(1));
+ List<SearchResultMatchI> matches = f.getSearchResults().getResults();
+ assertEquals(matches.get(0).getStart(), 5);
+ assertEquals(matches.get(0).getEnd(), 5);
+ assertSame(matches.get(0).getSequence(), al.getSequenceAt(1));
// still in the second sequence
assertEquals(f.getSeqIndex(), 1);
// next residue position to search from is 5