public class FeatureStoreLinkedTest
{
- private FeatureStoreI newFeatureStore()
+ private FeatureStore newFeatureStore()
{
- return new FeatureStoreImpl(
+ return new FeatureStore(
FeatureStore.INTERVAL_STORE_LINKED_LIST_PRESORT);
}
@Test(groups = "Functional")
public void testFindFeatures_nonNested()
{
- FeatureStoreI fs = newFeatureStore();
- fs.addFeature(new SequenceFeature("", "", 10, 20, Float.NaN,
- null));
+ FeatureStore fs = newFeatureStore();
+ SequenceFeature sf0 = new SequenceFeature("", "", 10, 20, Float.NaN,
+ null);
+ fs.addFeature(sf0);
// same range different description
- fs.addFeature(new SequenceFeature("", "desc", 10, 20, Float.NaN, null));
- fs.addFeature(new SequenceFeature("", "", 15, 25, Float.NaN, null));
- fs.addFeature(new SequenceFeature("", "", 20, 35, Float.NaN, null));
+ SequenceFeature sf1 = new SequenceFeature("", "desc", 10, 20, Float.NaN, null);
+ fs.addFeature(sf1);
+ SequenceFeature sf2 = new SequenceFeature("", "", 15, 25, Float.NaN, null);
+ fs.addFeature(sf2);
+ SequenceFeature sf3 = new SequenceFeature("", "", 20, 35, Float.NaN, null);
+ fs.addFeature(sf3);
List<SequenceFeature> overlaps = fs.findOverlappingFeatures(1, 9);
assertTrue(overlaps.isEmpty());
overlaps = fs.findOverlappingFeatures(8, 10);
assertEquals(overlaps.size(), 2);
- assertEquals(overlaps.get(0).getEnd(), 20);
- assertEquals(overlaps.get(1).getEnd(), 20);
+ assertTrue(overlaps.contains(sf0));
+ assertTrue(overlaps.contains(sf1));
overlaps = fs.findOverlappingFeatures(12, 16);
assertEquals(overlaps.size(), 3);
- assertEquals(overlaps.get(0).getEnd(), 20);
- assertEquals(overlaps.get(1).getEnd(), 20);
- assertEquals(overlaps.get(2).getEnd(), 25);
+ assertTrue(overlaps.contains(sf0));
+ assertTrue(overlaps.contains(sf1));
+ assertTrue(overlaps.contains(sf2));
overlaps = fs.findOverlappingFeatures(33, 33);
assertEquals(overlaps.size(), 1);
- assertEquals(overlaps.get(0).getEnd(), 35);
+ assertTrue(overlaps.contains(sf3));
}
@Test(groups = "Functional")
public void testFindFeatures_nested()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
SequenceFeature sf1 = addFeature(fs, 10, 50);
SequenceFeature sf2 = addFeature(fs, 10, 40);
SequenceFeature sf3 = addFeature(fs, 20, 30);
@Test(groups = "Functional")
public void testFindFeatures_mixed()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
SequenceFeature sf1 = addFeature(fs, 10, 50);
SequenceFeature sf2 = addFeature(fs, 1, 15);
SequenceFeature sf3 = addFeature(fs, 20, 30);
* @param to
* @return
*/
- SequenceFeature addFeature(FeatureStoreI fs, int from, int to)
+ SequenceFeature addFeature(FeatureStore fs, int from, int to)
{
SequenceFeature sf1 = new SequenceFeature("", "", from, to, Float.NaN,
null);
@Test(groups = "Functional")
public void testFindFeatures_contactFeatures()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
SequenceFeature sf = new SequenceFeature("disulphide bond", "bond", 10,
20, Float.NaN, null);
@Test(groups = "Functional")
public void testGetPositionalFeatures()
{
- FeatureStoreI store = newFeatureStore();
+ FeatureStore store = newFeatureStore();
SequenceFeature sf1 = new SequenceFeature("Metal", "desc", 10, 20,
Float.NaN, null);
store.addFeature(sf1);
@Test(groups = "Functional")
public void testDelete()
{
- FeatureStoreI store = newFeatureStore();
+ FeatureStore store = newFeatureStore();
SequenceFeature sf1 = addFeature(store, 10, 20);
assertTrue(store.getPositionalFeatures().contains(sf1));
@Test(groups = "Functional")
public void testAddFeature()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
SequenceFeature sf1 = new SequenceFeature("Cath", "", 10, 20,
Float.NaN, null);
@Test(groups = "Functional")
public void testIsEmpty()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
assertTrue(fs.isEmpty());
assertEquals(fs.getFeatureCount(true), 0);
@Test(groups = "Functional")
public void testGetFeatureGroups()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
assertTrue(fs.getFeatureGroups(true).isEmpty());
assertTrue(fs.getFeatureGroups(false).isEmpty());
@Test(groups = "Functional")
public void testGetTotalFeatureLength()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
assertEquals(fs.getTotalFeatureLength(), 0);
addFeature(fs, 10, 20); // 11
@Test(groups = "Functional")
public void testGetMinimumScore_getMaximumScore()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
assertEquals(fs.getMinimumScore(true), Float.NaN); // positional
assertEquals(fs.getMaximumScore(true), Float.NaN);
assertEquals(fs.getMinimumScore(false), Float.NaN); // non-positional
@Test(groups = "Functional")
public void testListContains()
{
- FeatureStoreI featureStore = newFeatureStore();
+ FeatureStore featureStore = newFeatureStore();
assertFalse(featureStore.listContains(null, null));
List<SequenceFeature> features = new ArrayList<>();
assertFalse(featureStore.listContains(features, null));
@Test(groups = "Functional")
public void testGetFeaturesForGroup()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
/*
* with no features
@Test(groups = "Functional")
public void testShiftFeatures()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
assertFalse(fs.shiftFeatures(0, 1)); // nothing to do
SequenceFeature sf1 = new SequenceFeature("Cath", "", 2, 5, 0f, null);
/*
* add a feature and a nested feature
*/
- FeatureStoreI store = newFeatureStore();
+ FeatureStore store = newFeatureStore();
SequenceFeature sf1 = addFeature(store, 10, 20);
// sf2 is nested in sf1 so will be stored in nestedFeatures
SequenceFeature sf2 = addFeature(store, 12, 14);
@Test(groups = "Functional")
public void testContains()
{
- FeatureStoreI fs = newFeatureStore();
+ FeatureStore fs = newFeatureStore();
SequenceFeature sf1 = new SequenceFeature("Cath", "", 10, 20,
Float.NaN, "group1");
SequenceFeature sf2 = new SequenceFeature("Cath", "", 10, 20,