+/*
+ * 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.datamodel.features;
import static org.testng.Assert.assertEquals;
import java.util.Map;
import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import junit.extensions.PA;
{
/**
+ * clear down attributes map before tests
+ */
+ @BeforeClass(alwaysRun = true)
+ public void setUp()
+ {
+ FeatureAttributes fa = FeatureAttributes.getInstance();
+ ((Map<?, ?>) PA.getValue(fa, "attributes")).clear();
+ }
+
+ /**
* clear down attributes map after tests
*/
- @AfterMethod
+ @AfterMethod(alwaysRun = true)
public void tearDown()
{
FeatureAttributes fa = FeatureAttributes.getInstance();
* Test the method that keeps attribute names in non-case-sensitive order,
* including handling of 'compound' names
*/
- @Test(groups="Functional")
+ @Test(groups = "Functional")
public void testAttributeNameComparator()
{
FeatureAttributes fa = FeatureAttributes.getInstance();
"comparator");
assertEquals(
- comp.compare(new String[] { "CSQ" }, new String[] { "csq" }), 0);
+ comp.compare(new String[]
+ { "CSQ" }, new String[] { "csq" }), 0);
- assertTrue(comp.compare(new String[] { "CSQ", "a" },
- new String[] { "csq" }) > 0);
+ assertTrue(
+ comp.compare(new String[]
+ { "CSQ", "a" }, new String[] { "csq" }) > 0);
- assertTrue(comp.compare(new String[] { "CSQ" }, new String[] { "csq",
- "b" }) < 0);
+ assertTrue(
+ comp.compare(new String[]
+ { "CSQ" }, new String[] { "csq", "b" }) < 0);
- assertTrue(comp.compare(new String[] { "CSQ", "AF" }, new String[] {
- "csq", "ac" }) > 0);
+ assertTrue(
+ comp.compare(new String[]
+ { "CSQ", "AF" }, new String[] { "csq", "ac" }) > 0);
- assertTrue(comp.compare(new String[] { "CSQ", "ac" }, new String[] {
- "csq", "AF" }) < 0);
+ assertTrue(
+ comp.compare(new String[]
+ { "CSQ", "ac" }, new String[] { "csq", "AF" }) < 0);
}
- @Test
+ @Test(groups = "Functional")
public void testGetMinMax()
{
SequenceFeature sf = new SequenceFeature("Pfam", "desc", 10, 20,
assertNull(fa.getMinMax("Pfam", "kd"));
sf.setValue("domain", "xyz");
assertNull(fa.getMinMax("Pfam", "kd"));
- sf.setValue("kd", "some text");
- assertNull(fa.getMinMax("Pfam", "kd"));
sf.setValue("kd", "1.3");
assertEquals(fa.getMinMax("Pfam", "kd"), new float[] { 1.3f, 1.3f });
sf.setValue("kd", "-2.6");
assertEquals(fa.getMinMax("Pfam", "kd"), new float[] { -2.6f, 1.3f });
+ // setting 'mixed' character and numeric values wipes the min/max value
+ sf.setValue("kd", "some text");
+ assertNull(fa.getMinMax("Pfam", "kd"));
+
Map<String, String> csq = new HashMap<>();
csq.put("AF", "-3");
sf.setValue("CSQ", csq);
* Test the method that returns an attribute description, provided it is
* recorded and unique
*/
- @Test
+ @Test(groups = "Functional")
public void testGetDescription()
{
FeatureAttributes fa = FeatureAttributes.getInstance();
assertNull(fa.getDescription("Pfam", "kd"));
}
- @Test
+ @Test(groups = "Functional")
public void testDatatype()
{
FeatureAttributes fa = FeatureAttributes.getInstance();