def test_filter_potential_blocks(self):
     collation = Collation()
     collation.add_plain_witness("W1", "a a")
     collation.add_plain_witness("w2", "a")
     extsufarr = collation.to_extended_suffix_array()
     potential_blocks = extsufarr.split_lcp_array_into_intervals()
     algorithm = Scorer(collation)
     algorithm.filter_potential_blocks(potential_blocks)
     self.assertFalse(potential_blocks)
 def test_lcp_intervals_number_of_witnesses_Hermans_case(self):
     collation = Collation()
     collation.add_plain_witness("W1", "a b c d F g h i ! K ! q r s t")
     collation.add_plain_witness("W2", "a b c d F g h i ! q r s t")
     collation.add_plain_witness("W3", "a b c d E g h i ! q r s t")
     extsufarr = collation.to_extended_suffix_array()
     intervals = extsufarr.split_lcp_array_into_intervals()
     potential_block = intervals[1] # ! q r s t
     self.assertEqual(3, potential_block.number_of_witnesses)
示例#3
0
 def test_filter_potential_blocks(self):
     collation = Collation()
     collation.add_witness("W1", "a a")
     collation.add_witness("w2", "a")
     extsufarr = collation.to_extended_suffix_array()
     potential_blocks = extsufarr.split_lcp_array_into_intervals()
     algorithm = DekkerSuffixAlgorithm(collation)
     algorithm.filter_potential_blocks(potential_blocks)
     self.assertFalse(potential_blocks)
示例#4
0
 def test_split_lcp_intervals_into_smaller_intervals(self):
     collation = Collation()
     collation.add_plain_witness("W1", "the cat")
     collation.add_plain_witness("W2", "the cat")
     collation.add_plain_witness("W3", "the cat")
     extsufarr = collation.to_extended_suffix_array()
     split_intervals = extsufarr.split_lcp_array_into_intervals()
     self.assertIntervalIn(0, 2, 3, split_intervals) # the cat
     self.assertIntervalIn(1, 1, 3, split_intervals) # cat
     self.assertEqual(2, len(split_intervals), "More items: "+str(split_intervals))
 def test_filter_potential_blocks(self):
     collation = Collation()
     collation.add_plain_witness("W1", "a a")
     collation.add_plain_witness("w2", "a")
     extsufarr = collation.to_extended_suffix_array()
     intervals = extsufarr.split_lcp_array_into_intervals()
     # expectations
     # There is one interval with length 1, number of occurrences 3, number of witnesses: 2
     a_interval = intervals[0] # a
     self.assertEqual(2, a_interval.number_of_witnesses)
     self.assertEqual(1, a_interval.length)
     self.assertEqual(3, a_interval.number_of_occurrences)