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

Source Code for Module nltk_lite.contrib.classifier_tests.formattests

 1  # Natural Language Toolkit - Format 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_tests import * 
 8  from nltk_lite.contrib.classifier import format, instance as ins, attribute as a 
 9   
10 -class FormatTestCase(unittest.TestCase):
11 - def test_get_c45_name(self):
12 self.assertEqual('foo', format.C45_FORMAT.get_name('foo:a,b,c'))
13
14 - def test_get_c45_values(self):
15 self.assertEqual(['a', 'b', 'c'], format.C45_FORMAT.get_values('foo:a,b,c'))
16
17 - def test_attribute_creation(self):
18 attributes = format.C45_FORMAT.get_attributes(datasetsDir(self) + 'numerical' + SEP + 'person') 19 self.assertEqual(8, len(attributes), '8 attributes should be present') 20 self.assertEqual(a.Attribute('id', ['continuous'], 0), attributes[0]) 21 self.assertEqual(a.Attribute('creditrating', ['continuous'], 7), attributes[7])
22
24 instances = format.C45_FORMAT.get_training_instances(datasetsDir(self) + 'numerical' + SEP + 'person') 25 self.assertEqual(6, len(instances), '6 instances should be present') 26 self.assertEqual(ins.TrainingInstance(['0','25','salaried','single','0','0','65000','3'],'yes'), instances[0]) 27 self.assertEqual(ins.TrainingInstance(['5','42','salaried','married','2','6','65000','6'],'no'), instances[5])
28
30 instances = format.C45_FORMAT.get_test_instances(datasetsDir(self) + 'numerical' + SEP + 'weather') 31 self.assertEqual(1, len(instances), '1 instance should be present') 32 self.assertEqual(ins.TestInstance(['overcast','25.4','high','true']), instances[0])
33
35 instances = format.C45_FORMAT.get_gold_instances(datasetsDir(self) + 'numerical' + SEP + 'weather') 36 self.assertEqual(4, len(instances), '4 instances should be present') 37 self.assertEqual(ins.GoldInstance(['sunny','21','normal','true'],'yes'), instances[0]) 38 self.assertEqual(ins.GoldInstance(['rainy','17.9','high','true'],'no'), instances[3])
39
40 - def test_klass_creation(self):
41 klass = format.C45_FORMAT.get_klass(datasetsDir(self) + 'numerical' + SEP + 'weather') 42 self.assertEqual(2, len(klass)) 43 self.assertEqual(['yes', 'no'], klass)
44 45 if __name__ == '__main__': 46 runner = unittest.TextTestRunner() 47 runner.run(unittest.TestSuite(unittest.makeSuite(FormatTestCase))) 48