1
2
3
4
5
6 from nltk_lite.contrib.classifier import numrange as r
7 from nltk_lite.contrib.classifier_tests import *
8
11 _range = r.Range(0, 4)
12 self.assertTrue(_range.includes(0))
13 self.assertTrue(_range.includes(1))
14 self.assertTrue(_range.includes(3))
15 self.assertTrue(_range.includes(3.9999))
16 self.assertFalse(_range.includes(4))
17 self.assertFalse(_range.includes(4.1))
18
19 _new_range = r.Range(0, 4, True)
20 self.assertTrue(_new_range.includes(4))
21 self.assertFalse(_range.includes(4.1))
22
24 _range = r.Range(0, 4)
25 _same = r.Range(0, 4)
26 self.assertEqual(_range, _same)
27 self.assertEqual(hash(_range), hash(_same))
28 _other = r.Range(0, 4.1)
29 self.assertNotEqual(_range, _other)
30
32 _range = r.Range()
33 _range.include(4)
34 self.assertFalse(_range.includes(0))
35 self.assertFalse(_range.includes(3.99999))
36 self.assertTrue(_range.includes(4))
37 self.assertFalse(_range.includes(4.000002))
38
39 _range.include(0)
40 self.assertTrue(_range.includes(0))
41 self.assertTrue(_range.includes(1))
42 self.assertTrue(_range.includes(4))
43
44 _other = r.Range(0, 4)
45 self.assertTrue(_range, _other)
46 _same = r.Range(0, 4, True)
47 self.assertTrue(_range, _same)
48
49 _other.include(4)
50 self.assertEqual(0, _other.lower)
51 self.assertEqual(4.000001, _other.upper)
52
53 _range.include(5)
54 self.assertTrue(_range.includes(4.1))
55 self.assertTrue(_range.includes(5))
56
58 _range = r.Range()
59 self.assertEquals(None, _range.split(2))
60
62 _range = r.Range(0, 0.000005)
63 self.assertEquals(None, _range.split(7))
64
66 _range = r.Range()
67 _range.include(0)
68 _range.include(4)
69 splits = _range.split(4)
70 self.assertEqual(0, splits[0].lower)
71 self.assertEqual(1, splits[0].upper)
72 self.assertEqual(1, splits[1].lower)
73 self.assertEqual(2, splits[1].upper)
74 self.assertEqual(2, splits[2].lower)
75 self.assertEqual(3, splits[2].upper)
76 self.assertEqual(3, splits[3].lower)
77 self.assertEqual(4.000001, splits[3].upper)
78
79 _range = r.Range()
80 _range.include(2)
81 _range.include(8)
82 splits = _range.split(2)
83 self.assertEqual(2, splits[0].lower)
84 self.assertEqual(5, splits[0].upper)
85 self.assertEqual(5, splits[1].lower)
86 self.assertAlmostEqual(8.000001, splits[1].upper, 6)
87
88
94
96 _range = r.Range(5,8.0)
97 self.assertFalse(_range.includes(8))
98
99 _range.include(8.0)
100 self.assertTrue(_range.includes(8))
101 self.assertAlmostEqual(8.000001, _range.upper)
102
103
104 if __name__ == '__main__':
105 runner = unittest.TextTestRunner()
106 runner.run(unittest.TestSuite(unittest.makeSuite(RangeTestCase)))
107