1 package jalview.datamodel;
3 import static org.testng.AssertJUnit.assertEquals;
4 import static org.testng.AssertJUnit.assertNull;
5 import static org.testng.AssertJUnit.assertSame;
7 import org.testng.annotations.Test;
9 public class SequenceFeatureTest
11 @Test(groups = { "Functional" })
12 public void testCopyConstructor()
14 SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33,
16 sf1.setValue("STRAND", "+");
17 sf1.setValue("Note", "Testing");
18 Integer count = new Integer(7);
19 sf1.setValue("Count", count);
21 SequenceFeature sf2 = new SequenceFeature(sf1);
22 assertEquals("type", sf2.getType());
23 assertEquals("desc", sf2.getDescription());
24 assertEquals(22, sf2.getBegin());
25 assertEquals(33, sf2.getEnd());
26 assertEquals("+", sf2.getValue("STRAND"));
27 assertEquals("Testing", sf2.getValue("Note"));
28 // shallow clone of otherDetails map - contains the same object values!
29 assertSame(count, sf2.getValue("Count"));
33 * Tests for retrieving a 'miscellaneous details' property value, with or
34 * without a supplied default
36 @Test(groups = { "Functional" })
37 public void testGetValue()
39 SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33,
41 sf1.setValue("STRAND", "+");
42 assertEquals("+", sf1.getValue("STRAND"));
43 assertNull(sf1.getValue("strand")); // case-sensitive
44 assertEquals(".", sf1.getValue("unknown", "."));
45 Integer i = new Integer(27);
46 assertSame(i, sf1.getValue("Unknown", i));
50 * Tests the method that returns 1 / -1 / 0 for strand "+" / "-" / other
52 @Test(groups = { "Functional" })
53 public void testGetStrand()
55 SequenceFeature sf = new SequenceFeature("type", "desc", 22, 33, 12.5f,
57 assertEquals(0, sf.getStrand());
58 sf.setValue("STRAND", "+");
59 assertEquals(1, sf.getStrand());
60 sf.setValue("STRAND", "-");
61 assertEquals(-1, sf.getStrand());
62 sf.setValue("STRAND", ".");
63 assertEquals(0, sf.getStrand());