package jalview.datamodel; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertSame; import org.testng.annotations.Test; public class SequenceFeatureTest { @Test(groups = { "Functional" }) public void testCopyConstructor() { SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33, 12.5f, "group"); sf1.setValue("STRAND", "+"); sf1.setValue("Note", "Testing"); Integer count = new Integer(7); sf1.setValue("Count", count); SequenceFeature sf2 = new SequenceFeature(sf1); assertEquals("type", sf2.getType()); assertEquals("desc", sf2.getDescription()); assertEquals(22, sf2.getBegin()); assertEquals(33, sf2.getEnd()); assertEquals("+", sf2.getValue("STRAND")); assertEquals("Testing", sf2.getValue("Note")); // shallow clone of otherDetails map - contains the same object values! assertSame(count, sf2.getValue("Count")); } /** * Tests for retrieving a 'miscellaneous details' property value, with or * without a supplied default */ @Test(groups = { "Functional" }) public void testGetValue() { SequenceFeature sf1 = new SequenceFeature("type", "desc", 22, 33, 12.5f, "group"); sf1.setValue("STRAND", "+"); assertEquals("+", sf1.getValue("STRAND")); assertNull(sf1.getValue("strand")); // case-sensitive assertEquals(".", sf1.getValue("unknown", ".")); Integer i = new Integer(27); assertSame(i, sf1.getValue("Unknown", i)); } }