Package nltk_lite :: Package contrib :: Package classifier_tests :: Module discretisedattributetests
[hide private]
[frames] | no frames]

Source Code for Module nltk_lite.contrib.classifier_tests.discretisedattributetests

 1  # Natural Language Toolkit Discretized attribute tests 
 2  # 
 3  # Author: Sumukh Ghodke <sumukh dot ghodke at gmail dot com> 
 4  # 
 5  # URL: <http://nltk.sf.net> 
 6  # This software is distributed under GPL, for license information see LICENSE.TXT 
 7  from nltk_lite.contrib.classifier import discretisedattribute as da, numrange as nr, attribute as attr 
 8  from nltk_lite.contrib.classifier.exceptions import invaliddataerror as inv 
 9  from nltk_lite.contrib.classifier_tests import * 
10   
11 -class DiscretisedAttributeTestCase(unittest.TestCase):
12 - def test_binary_search(self):
13 ranges = [nr.Range(2, 4), nr.Range(4, 6), nr.Range(6, 8), nr.Range(8, 10, True)] 14 self.assertEqual(0, da.binary_search(ranges, 2)) 15 self.assertEqual(1, da.binary_search(ranges, 4)) 16 self.assertEqual(3, da.binary_search(ranges, 10)) 17 self.assertEqual(-1, da.binary_search(ranges, 1)) 18 self.assertEqual(-1, da.binary_search(ranges, 11)) 19 20 ranges = [nr.Range(2, 4), nr.Range(4, 6), nr.Range(6, 8, True)] 21 self.assertEqual(-1, da.binary_search(ranges, 9)) 22 self.assertEqual(2, da.binary_search(ranges, 8)) 23 24 ranges = nr.Range(6, 32, True).split(3) 25 self.assertEqual(0, da.binary_search(ranges, 12)) 26 27 ranges = nr.Range(0, 2, True).split(2) 28 self.assertEqual(0, da.binary_search(ranges, 0))
29
31 ranges = nr.Range(-10, 40, True).split(5) 32 disc_attr = da.DiscretisedAttribute('temperature', ranges, 1) 33 self.assertEqual('temperature', disc_attr.name) 34 self.assertEqual(['a', 'b', 'c', 'd', 'e'], disc_attr.values) 35 self.assertEqual(ranges, disc_attr.ranges) 36 self.assertEqual(1, disc_attr.index) 37 self.assertEqual(attr.DISCRETE, disc_attr.type)
38
40 ranges = nr.Range(-10, 40, True).split(5) 41 disc_attr = da.DiscretisedAttribute('temperature', ranges, 1) 42 self.assertEqual('a', disc_attr.mapping(-10)) 43 self.assertEqual('b', disc_attr.mapping(0)) 44 self.assertEqual('b', disc_attr.mapping(1)) 45 self.assertEqual('c', disc_attr.mapping(10)) 46 self.assertEqual('e', disc_attr.mapping(40))
47
49 ranges = nr.Range(-10, 40, True).split(5) 50 disc_attr = da.DiscretisedAttribute('temperature', ranges, 1) 51 try: 52 disc_attr.mapping(50) 53 self.fail('should throw error') 54 except inv.InvalidDataError: 55 pass
56