+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
+ * Copyright (C) 2015 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.assertSame;
import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.assertNull;
-import org.testng.annotations.Test;
-import org.testng.annotations.BeforeMethod;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
+
import java.util.Arrays;
import java.util.List;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
public class SequenceTest
{
SequenceI seq;
- @BeforeMethod
+ @BeforeMethod(alwaysRun = true)
public void setUp()
{
seq = new Sequence("FER1", "AKPNGVL");
}
- @Test
+
+ @Test(groups = { "Functional" })
public void testInsertGapsAndGapmaps()
{
SequenceI aseq = seq.deriveSequence();
assertEquals("Gap interval 2 end wrong", 8, gapInt.get(1)[1]);
}
- @Test
+ @Test(groups = { "Functional" })
public void testGetAnnotation()
{
// initial state returns null not an empty array
assertNull(seq.getAnnotation());
}
- @Test
+ @Test(groups = { "Functional" })
public void testGetAnnotation_forLabel()
{
- AlignmentAnnotation ann1 = addAnnotation("label1", "desc1", "calcId1", 1f);
- AlignmentAnnotation ann2 = addAnnotation("label2", "desc2", "calcId2", 1f);
- AlignmentAnnotation ann3 = addAnnotation("label1", "desc3", "calcId3", 1f);
+ AlignmentAnnotation ann1 = addAnnotation("label1", "desc1", "calcId1",
+ 1f);
+ AlignmentAnnotation ann2 = addAnnotation("label2", "desc2", "calcId2",
+ 1f);
+ AlignmentAnnotation ann3 = addAnnotation("label1", "desc3", "calcId3",
+ 1f);
AlignmentAnnotation[] anns = seq.getAnnotation("label1");
assertEquals(2, anns.length);
assertSame(ann1, anns[0]);
}
private AlignmentAnnotation addAnnotation(String label,
- String description, String calcId,
- float value)
+ String description, String calcId, float value)
{
- final AlignmentAnnotation annotation = new AlignmentAnnotation(label, description,
- value);
+ final AlignmentAnnotation annotation = new AlignmentAnnotation(label,
+ description, value);
annotation.setCalcId(calcId);
seq.addAlignmentAnnotation(annotation);
return annotation;
}
- @Test
+ @Test(groups = { "Functional" })
public void testGetAlignmentAnnotations_forCalcIdAndLabel()
{
AlignmentAnnotation ann1 = addAnnotation("label1", "desc1", "calcId1",
1f);
AlignmentAnnotation ann4 = addAnnotation("label2", "desc3", "calcId2",
1f);
- AlignmentAnnotation ann5 = addAnnotation("label5", "desc3", null,
- 1f);
- AlignmentAnnotation ann6 = addAnnotation(null, "desc3", "calcId3",
- 1f);
+ AlignmentAnnotation ann5 = addAnnotation("label5", "desc3", null, 1f);
+ AlignmentAnnotation ann6 = addAnnotation(null, "desc3", "calcId3", 1f);
List<AlignmentAnnotation> anns = seq.getAlignmentAnnotations("calcId2",
"label2");
assertEquals(2, anns.size());
assertSame(ann2, anns.get(0));
assertSame(ann4, anns.get(1));
-
+
assertTrue(seq.getAlignmentAnnotations("calcId2", "label3").isEmpty());
assertTrue(seq.getAlignmentAnnotations("calcId3", "label5").isEmpty());
assertTrue(seq.getAlignmentAnnotations("calcId2", null).isEmpty());
* setting the sequenceRef on the annotation. Adding the same annotation twice
* should be ignored.
*/
- @Test
+ @Test(groups = { "Functional" })
public void testAddAlignmentAnnotation()
{
assertNull(seq.getAnnotation());
}
- @Test
+ @Test(groups = { "Functional" })
public void testGetStartGetEnd()
{
SequenceI seq = new Sequence("test", "ABCDEF");
* Tests for the method that returns an alignment column position (base 1) for
* a given sequence position (base 1).
*/
- @Test
+ @Test(groups = { "Functional" })
public void testFindIndex()
{
SequenceI seq = new Sequence("test", "ABCDEF");
* Tests for the method that returns a dataset sequence position (base 1) for
* an aligned column position (base 0).
*/
- @Test
+ @Test(groups = { "Functional" })
public void testFindPosition()
{
SequenceI seq = new Sequence("test", "ABCDEF");
assertEquals(7, seq.findPosition(11));
}
- @Test
+ @Test(groups = { "Functional" })
public void testDeleteChars()
{
SequenceI seq = new Sequence("test", "ABCDEF");
assertEquals(6, seq.getEnd());
}
- @Test
+ @Test(groups = { "Functional" })
public void testInsertCharAt()
{
// non-static methods:
* Test the method that returns an array of aligned sequence positions where
* the array index is the data sequence position (both base 0).
*/
- @Test
+ @Test(groups = { "Functional" })
public void testGapMap()
{
SequenceI seq = new Sequence("test", "-A--B-CD-E--F-");
* Test the method that gets sequence features, either from the sequence or
* its dataset.
*/
- @Test
+ @Test(groups = { "Functional" })
public void testGetSequenceFeatures()
{
SequenceI seq = new Sequence("test", "GATCAT");
* entries are the residue positions at the sequence position (or to the right
* if a gap)
*/
- @Test
+ @Test(groups = { "Functional" })
public void testFindPositionMap()
{
/*
*/
Sequence seq = new Sequence("TestSeq", "AB.C-D E.");
int[] map = seq.findPositionMap();
- assertEquals(Arrays.toString(new int[]
- { 1, 2, 3, 3, 4, 4, 5, 5, 6 }), Arrays.toString(map));
+ assertEquals(Arrays.toString(new int[] { 1, 2, 3, 3, 4, 4, 5, 5, 6 }),
+ Arrays.toString(map));
}
/**
* Test for getSubsequence
*/
- @Test
+ @Test(groups = { "Functional" })
public void testGetSubsequence()
{
SequenceI seq = new Sequence("TestSeq", "ABCDEFG");
/**
* Test for deriveSequence applied to a sequence with a dataset
*/
- @Test
+ @Test(groups = { "Functional" })
public void testDeriveSequence_existingDataset()
{
SequenceI seq = new Sequence("Seq1", "CD");
/**
* Test for deriveSequence applied to an ungapped sequence with no dataset
*/
- @Test
+ @Test(groups = { "Functional" })
public void testDeriveSequence_noDatasetUngapped()
{
SequenceI seq = new Sequence("Seq1", "ABCDEF");
/**
* Test for deriveSequence applied to a gapped sequence with no dataset
*/
- @Test
+ @Test(groups = { "Functional" })
public void testDeriveSequence_noDatasetGapped()
{
SequenceI seq = new Sequence("Seq1", "AB-C.D EF");