source: orange/testing/unittests/tests/test_demo.py @ 8136:718bda796fa3

Revision 8136:718bda796fa3, 1.8 KB checked in by ales_erjavec <ales.erjavec@…>, 3 years ago (diff)

Added tests for distance measures, io, knn, rules, table and variable.
Fixed some other tests.

Line 
1from Orange.misc import testing
2from Orange.misc.testing import data_driven, datasets_driven, test_on_data
3import unittest
4
5data = [("one", (1, )),
6        ("two", (2, ))]
7
8# Data driven with data_iter arg
9@data_driven(data_iter=data)
10class TestDemo(unittest.TestCase):
11    @testing.test_on_data
12    def test_instance_on(self, arg):
13        print arg
14        self.assertIsInstance(arg, int)
15       
16    @testing.test_on_data
17    def test_add(self, arg):
18        print arg
19        res = arg + arg
20       
21# data_driven without arg
22@data_driven 
23class TestDemo1(unittest.TestCase):
24    @test_on_data(data_iter=data)
25    def test_instance_on(self, arg):
26        self.assertIsInstance(arg, int)
27       
28    @test_on_data(data_iter=data)
29    def test_add(self, arg):
30        res = arg + arg
31
32# data_driven without arg, using a static data_iter method
33@data_driven 
34class TestDemo2(unittest.TestCase):
35    @test_on_data
36    def test_instance_on(self, arg):
37        self.assertIsInstance(arg, int)
38       
39    @test_on_data
40    def test_add(self, arg):
41        res = arg + arg
42       
43    @staticmethod
44    def data_iter():
45        return data
46   
47@datasets_driven(datasets=testing.CLASSIFICATION_DATASETS +\
48                 testing.CLASSLES_DATASETS)
49class TestDefaultLearner(unittest.TestCase):
50    @test_on_data(data_iter=testing.datasets_iter(testing.CLASSIFICATION_DATASETS))
51    def test_learner_on(self, dataset):
52        import Orange
53        Orange.classification.majority.MajorityLearner(dataset)
54       
55    # this overloads the class decorator's data_iter
56    @test_on_data(data_iter=testing.datasets_iter(testing.CLASSLES_DATASETS))
57    def test_raise_missing_class_on(self, dataset):
58        import Orange
59        self.assertRaises(Exception, Orange.classification.majority.MajorityLearner, dataset)
60       
61if __name__ == "__main__":
62    unittest.main()
63       
64       
65 
Note: See TracBrowser for help on using the repository browser.