public class FeatureStoreJSTest
{
+ private int intervalStoreOption = FeatureStore.intervalStoreJSOption;
+
@Test(groups = "Functional")
public void testFindFeatures_nonNested()
{
overlaps = fs.findOverlappingFeatures(12, 16);
assertEquals(overlaps.size(), 3);
- // BH note, this is reversed from IS-NCList 2 1 0, not 0 1 2
- assertEquals(overlaps.get(2).getEnd(), 20);
+ assertEquals(overlaps.get(2).getEnd(), 25);
assertEquals(overlaps.get(1).getEnd(), 20);
- assertEquals(overlaps.get(0).getEnd(), 25);
+ assertEquals(overlaps.get(0).getEnd(), 20);
overlaps = fs.findOverlappingFeatures(33, 33);
assertEquals(overlaps.size(), 1);
private FeatureStoreI newFeatureStore()
{
- return new FeatureStoreJS();
- // return new FeatureStoreImpl();
+ return new FeatureStoreJS(intervalStoreOption);
}
@Test(groups = "Functional")
assertTrue(overlaps.contains(sf4));
}
+ private void testFind()
+ {
+ FeatureStoreI fs1 = newFeatureStore();
+
+ SequenceFeature sf = addFeature(fs1, 1, 3000);
+
+ for (int i = 1; i < 1000; i++)
+
+ {
+
+ addFeature(fs1, 1 + i, 1000 + i);
+
+ }
+
+ // 1.......3000
+ // 2....1001
+ // 3....1002
+ // 4....1003
+ // ...
+ // 1000..1999
+
+ List<SequenceFeature> overlaps1 = fs1.findOverlappingFeatures(2000,
+ 2001);
+
+ assertEquals(overlaps1.size(), 1);
+
+ assertTrue(overlaps1.contains(sf));
+
+ }
+
@Test(groups = "Functional")
public void testFindFeatures_mixed()
{
+ testFind();
+
FeatureStoreI fs = newFeatureStore();
SequenceFeature sf1 = addFeature(fs, 10, 50);
SequenceFeature sf2 = addFeature(fs, 1, 15);