def test_int_as_param(self):
     '''
     Test using an int instead of a tuple (common mistake)
     '''
     value = boundary_similarity([11], [5, 6])
     self.assertEqual(Decimal('0'), value)
     value = boundary_similarity([5, 6], [11])
     self.assertEqual(Decimal('0'), value)
 def test_weight_t(self):
     '''
     Test transposition weighting.
     '''
     value = boundary_similarity([2, 3, 6], [5, 6],
                                 weight=(weight_a, weight_s, weight_t))
     self.assertEqual(0.5, value)
 def test_positions(self):
     '''
     Test position-format.
     '''
     a = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
     b = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3]
     value = boundary_similarity(a, b, boundary_format=
                                 BoundaryFormat.position)
     self.assertEqual(Decimal('0'), value)
 def test_boundary_format_nltk(self):
     '''
     Test the nltk boundary format.
     '''
     value = boundary_similarity(
         '01001000000',
         '01010000000',
         boundary_format=BoundaryFormat.nltk)
     self.assertAlmostEqual(Decimal('0.75'), value)
 def test_multiple_boundary_types(self):
     '''
     Test multiple boundary types with auto boundary type identification.
     '''
     value = summarize(boundary_similarity(MULTIPLE_BOUNDARY_TYPES))
     self.assertEqual((Decimal('0.50'),
                       Decimal('0.25'),
                       Decimal('0.0625'),
                       Decimal('0.1767766952966368811002110906'),
                       2),
                      value)
    def test_b_datasets(self):
        '''
        Test B upon two datasets.
        '''
        hypothesis = HYPOTHESIS_STARGAZER
        reference = HEARST_1997_STARGAZER
        value = boundary_similarity(hypothesis, reference)

        # Precision
        self.assertAlmostEquals(float(value['stargazer,h1,1']), 0.57142857)
        self.assertAlmostEquals(float(value['stargazer,h2,1']), 0.38888888)
        self.assertAlmostEquals(float(value['stargazer,h1,2']), 0.42857142)
        self.assertAlmostEquals(float(value['stargazer,h2,2']), 0.33333333)
 def test_clustered_fps(self):
     '''
     Test clustered fps.
     '''
     value = boundary_similarity([2, 3, 6], [1, 1, 3, 1, 5])
     self.assertEqual(Decimal('0.5'), value)
 def test_one_minus(self):
     '''
     Test one minus.
     '''
     value = boundary_similarity([2, 3, 6], [2, 2, 7], one_minus=True)
     self.assertEqual(Decimal('0.25'), value)
 def test_near_miss(self):
     '''
     Test near miss.
     '''
     value = boundary_similarity([2, 3, 6], [2, 2, 7])
     self.assertEqual(Decimal('0.75'), value)
 def test_fp(self):
     '''
     Test false negative.
     '''
     value = boundary_similarity([2, 3, 6], [2, 3, 3, 3])
     self.assertAlmostEquals(Decimal('0.66666'), value, 4)
 def test_fn(self):
     '''
     Test false negative.
     '''
     value = boundary_similarity([2, 3, 6], [5, 6])
     self.assertEqual(Decimal('0.5'), value)