- Assert.assertEquals(sqset[0].getSequenceFeatures().length, 2);
- Assert.assertEquals(sqset2[0].getSequenceFeatures().length, 2);
- Assert.assertTrue(sqset[0].getSequenceFeatures()[0] == sqset2[0]
- .getSequenceFeatures()[0]);
- Assert.assertTrue(sqset[0].getSequenceFeatures()[1] == sqset2[0]
- .getSequenceFeatures()[1]);
+ Assert.assertEquals(sqset[0].getSequenceFeatures().size(), 2);
+ Assert.assertEquals(sqset2[0].getSequenceFeatures().size(), 2);
+ Assert.assertSame(sqset[0].getSequenceFeatures().get(0),
+ sqset2[0].getSequenceFeatures().get(0));
+ Assert.assertSame(sqset[0].getSequenceFeatures().get(1),
+ sqset2[0].getSequenceFeatures().get(1));
+ }
+
+ @DataProvider
+ public Object[][] sequenceAndMask()
+ {
+ return new Object[][] {
+ { "AAAABBBBCCCCDDDD", 0xFFFFL, "AAAABBBBCCCCDDDD" },
+ { "AAAABBBBCCCCDDDD", 0x000FL, "AAAA" },
+ { "---A---B---C---D", 0x8888L, "ABCD" },
+ { "---A---B---C---D", 0x9999L, "-A-B-C-D" },
+ { "ABCDABCDABCDABCD", 0xC5A3L, "ABBDACCD" },
+ { "", 0xFFFFL, "" },
+ { "AAAABBBBCCCCDDDD", 0x0000L, "" },
+ { "AAABBBCCC", 0xFFFF, "AAABBBCCC" },
+ { "AAAABBBB", 0xD000L, "" },
+ { "AAAABBBB", 0xAA0AL, "AA" },
+ };
+ }
+
+ @Test(groups = {"Functional"}, dataProvider = "sequenceAndMask")
+ public void testFilterSequence(String sequence, long mask, String expected)
+ {
+ BitSet bitMask = BitSet.valueOf(new long[] {mask});
+ var result = SeqsetUtils.filterSequence(sequence.toCharArray(), bitMask);
+ assertThat(result, equalTo(expected.toCharArray()));