import jalview.datamodel.SequenceI;
import jalview.gui.JvOptionPane;
+import java.util.Arrays;
import java.util.List;
import org.testng.annotations.BeforeClass;
DBRefEntry ref2 = new DBRefEntry("UNIPROT", "1.2", "A12346");
// Source is converted to upper-case by this constructor!
DBRefEntry ref3 = new DBRefEntry("Uniprot", "1.2", "A12347");
- DBRefEntry[] dbrefs = new DBRefEntry[] { ref1, ref2, ref3 };
+ List<DBRefEntry> dbrefs = Arrays.asList(new DBRefEntry[] { ref1, ref2, ref3 });
String[] sources = new String[] { "EMBL", "UNIPROT" };
- DBRefEntry[] selected = DBRefUtils.selectRefs(dbrefs, sources);
- assertEquals(3, selected.length);
- assertSame(ref1, selected[0]);
- assertSame(ref2, selected[1]);
- assertSame(ref3, selected[2]);
+ List<DBRefEntry> selected = DBRefUtils.selectRefs(dbrefs, sources);
+ assertEquals(3, selected.size());
+ assertSame(ref1, selected.get(0));
+ assertSame(ref2, selected.get(1));
+ assertSame(ref3, selected.get(2));
sources = new String[] { "EMBL" };
selected = DBRefUtils.selectRefs(dbrefs, sources);
- assertEquals(1, selected.length);
- assertSame(ref1, selected[0]);
+ assertEquals(1, selected.size());
+ assertSame(ref1, selected.get(0));
sources = new String[] { "UNIPROT" };
selected = DBRefUtils.selectRefs(dbrefs, sources);
- assertEquals(2, selected.length);
- assertSame(ref2, selected[0]);
- assertSame(ref3, selected[1]);
+ assertEquals(2, selected.size());
+ assertSame(ref2, selected.get(0));
+ assertSame(ref3, selected.get(1));
sources = new String[] { "EMBLCDS" };
selected = DBRefUtils.selectRefs(dbrefs, sources);
sources = new String[] { "embl", "uniprot" };
selected = DBRefUtils.selectRefs(dbrefs, sources);
- assertEquals(3, selected.length);
- assertSame(ref1, selected[0]);
- assertSame(ref2, selected[1]);
- assertSame(ref3, selected[2]);
+ assertEquals(3, selected.size());
+ assertSame(ref1, selected.get(0));
+ assertSame(ref2, selected.get(1));
+ assertSame(ref3, selected.get(2));
}
/**
{
SequenceI seq = new Sequence("Seq1", "ABCD");
DBRefEntry ref = DBRefUtils.parseToDbRef(seq, "EMBL", "1.2", "a7890");
- DBRefEntry[] refs = seq.getDBRefs();
- assertEquals(1, refs.length);
- assertSame(ref, refs[0]);
+ List<DBRefEntry> refs = seq.getDBRefs();
+ assertEquals(1, refs.size());
+ assertSame(ref, refs.get(0));
assertEquals("EMBL", ref.getSource());
assertEquals("1.2", ref.getVersion());
assertEquals("a7890", ref.getAccessionId());
assertTrue(seq.getAllPDBEntries().isEmpty());
+ SequenceI seq2 = new Sequence("Seq2", "ABCD");
+ // Check that whitespace doesn't confuse parseToDbRef
+ DBRefEntry ref2 = DBRefUtils.parseToDbRef(seq2, "EMBL", "1.2",
+ " a7890");
+ assertEquals(ref, ref2);
}
/**
// TODO: correct PDBEntry and PDB DBRef accessions need to be generated for
// PDB ref in Stockholm
- DBRefEntry[] refs = seq.getDBRefs();
- assertEquals(1, refs.length);
- assertSame(ref, refs[0]);
+ List<DBRefEntry> refs = seq.getDBRefs();
+ assertEquals(1, refs.size());
+ assertSame(ref, refs.get(0));
assertEquals("PDB", ref.getSource());
assertEquals("1.2", ref.getVersion());
// DBRef id is pdbId + chain code
ref5.setMap(new Mapping(new MapList(new int[] { 1, 1 }, new int[] { 1,
1 }, 1, 1)));
- List<DBRefEntry> matches = DBRefUtils.searchRefs(new DBRefEntry[] {
- ref1, ref2, ref3, ref4, ref5 }, target);
+ List<DBRefEntry> matches = DBRefUtils.searchRefs(
+ Arrays.asList(new DBRefEntry[] {
+ ref1, ref2, ref3, ref4, ref5 }), target, DBRefUtils.SEARCH_MODE_FULL);
assertEquals(3, matches.size());
assertSame(ref1, matches.get(0));
assertSame(ref2, matches.get(1));
new int[] { 1, 1 }, 2, 2));
ref3.setMap(map3);
- List<DBRefEntry> matches = DBRefUtils.searchRefs(new DBRefEntry[] {
- ref1, ref2, ref3 }, target);
+ List<DBRefEntry> matches = DBRefUtils.searchRefs(
+ Arrays.asList(new DBRefEntry[] {
+ ref1, ref2, ref3 }), target, DBRefUtils.SEARCH_MODE_FULL);
assertEquals(2, matches.size());
assertSame(ref1, matches.get(0));
assertSame(ref2, matches.get(1));
ref5.setMap(new Mapping(new MapList(new int[] { 1, 1 }, new int[] { 1,
1 }, 1, 1)));
- DBRefEntry[] dbrefs = new DBRefEntry[] { ref1, ref2, ref3, ref4, ref5 };
+ List<DBRefEntry> dbrefs = Arrays.asList(new DBRefEntry[] {
+ ref1, ref2, ref3, ref4, ref5 });
List<DBRefEntry> matches = DBRefUtils.searchRefs(dbrefs, "A1234");
assertEquals(3, matches.size());
assertSame(ref1, matches.get(0));
ref5.setMap(new Mapping(new MapList(new int[] { 1, 1 }, new int[] { 1,
1 }, 1, 1)));
- List<DBRefEntry> matches = DBRefUtils.searchRefs(new DBRefEntry[] {
- ref1, ref2, ref3, ref4, ref5 }, target);
+ List<DBRefEntry> matches = DBRefUtils.searchRefs(
+ Arrays.asList(new DBRefEntry[] {
+ ref1, ref2, ref3, ref4, ref5 }), target, DBRefUtils.SEARCH_MODE_FULL);
assertEquals(4, matches.size());
assertSame(ref1, matches.get(0));
assertSame(ref2, matches.get(1));