X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2Ffeatures%2FFeatureAttributesTest.java;h=a172a8a4b881f8d8b3961a66a913245d38fe4d71;hb=2b830243eed0188ae6704640bd24b7f99f61bc1b;hp=4b7a435cafd236f06e6a169b27cd7435a1b4603e;hpb=680885310ca5bca2a9b1bfd1c2dd79147d6f4b8d;p=jalview.git diff --git a/test/jalview/datamodel/features/FeatureAttributesTest.java b/test/jalview/datamodel/features/FeatureAttributesTest.java index 4b7a435..a172a8a 100644 --- a/test/jalview/datamodel/features/FeatureAttributesTest.java +++ b/test/jalview/datamodel/features/FeatureAttributesTest.java @@ -1,3 +1,23 @@ +/* + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.datamodel.features; import static org.testng.Assert.assertEquals; @@ -12,6 +32,7 @@ import java.util.HashMap; import java.util.Map; import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import junit.extensions.PA; @@ -20,9 +41,19 @@ public class FeatureAttributesTest { /** + * 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(); @@ -33,7 +64,7 @@ public class FeatureAttributesTest * 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(); @@ -41,22 +72,27 @@ public class FeatureAttributesTest "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, @@ -65,12 +101,14 @@ public class FeatureAttributesTest 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 csq = new HashMap<>(); csq.put("AF", "-3"); sf.setValue("CSQ", csq); @@ -88,7 +126,7 @@ public class FeatureAttributesTest * 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(); @@ -102,7 +140,7 @@ public class FeatureAttributesTest assertNull(fa.getDescription("Pfam", "kd")); } - @Test + @Test(groups = "Functional") public void testDatatype() { FeatureAttributes fa = FeatureAttributes.getInstance();