source: orange/Orange/testing/unit/tests/test_instance.py @ 10750:995a621bbf56

Revision 10750:995a621bbf56, 1.9 KB checked in by Ales Erjavec <ales.erjavec@…>, 2 years ago (diff)

Added Instance unittests

RevLine 
[10750]1try:
2    import unittest2 as unittest
3except ImportError:
4    import unittest
5
6import Orange
7
8class TestInstance(unittest.TestCase):
9    def test_empty_domain(self):
10        domain = Orange.data.Domain([])
11        instance = Orange.data.Instance(domain)
12        instance = Orange.data.Instance(domain, [])
13
14    def test_constructors(self):
15        features = [Orange.feature.Continuous("a"),
16                    Orange.feature.Discrete("b", values=["1", "2"])
17                    ]
18        domain = Orange.data.Domain(features)
19        instance = Orange.data.Instance(domain)
20        self.assertTrue(all(v.is_special() for v in instance))
21
22        copy_instance = Orange.data.Instance(instance)
23        self.assertTrue(all(v1 == v2 for v1, v2 in zip(instance, copy_instance)))
24
25        instance = Orange.data.Instance(domain, ["?", "?"])
26        self.assertTrue(all(v.is_special() for v in instance))
27
28        copy_instance = Orange.data.Instance(instance)
29        self.assertTrue(all(v1 == v2 for v1, v2 in zip(instance, copy_instance)))
30
31        instance = Orange.data.Instance(domain, ["1.0", "1"])
32        self.assertTrue(all(not v.is_special() for v in instance))
33
34        copy_instance = Orange.data.Instance(instance)
35        self.assertTrue(all(v1 == v2 for v1, v2 in zip(instance, copy_instance)))
36
37        self.assertRaises(TypeError, Orange.data.Instance, (domain, ["?"]))
38       
39        class_vars = [Orange.feature.Discrete("C1", values=["1", "2"]),
40                      Orange.feature.Discrete("C2", values=["1", "2"])
41                      ]
42
43        domain = Orange.data.Domain(features, class_vars=class_vars)
44
45        instance = Orange.data.Instance(domain)
46
47        instance = Orange.data.Instance(domain, ["?", "?", "?", "?"])
48
49        self.assertRaises(TypeError, Orange.data.Instance, (domain, ["?", "?", "?"]))
50        self.assertRaises(TypeError, Orange.data.Instance, (domain, ["?", "?"]))
51
52
53if __name__ == "__main__":
54    unittest.main()
Note: See TracBrowser for help on using the repository browser.