source: orange/Orange/OrangeCanvas/registry/tests/test_discovery.py @ 11284:535f25d626c4

Revision 11284:535f25d626c4, 2.3 KB checked in by Ales Erjavec <ales.erjavec@…>, 15 months ago (diff)

Fixed two tests.

Line 
1"""
2Test widget discovery
3
4"""
5
6import os
7import logging
8
9import unittest
10
11from ..discovery import WidgetDiscovery, widget_descriptions_from_package
12
13from ..description import CategoryDescription, WidgetDescription
14
15
16class TestDiscovery(unittest.TestCase):
17
18    def setUp(self):
19        logging.basicConfig()
20
21    def discovery_class(self):
22        return WidgetDiscovery()
23
24    def test_handle(self):
25        disc = self.discovery_class()
26
27        desc = CategoryDescription(name="C", qualified_name="M.C")
28        disc.handle_category(desc)
29
30        desc = WidgetDescription(name="SomeWidget", id="some.widget",
31                                 qualified_name="Some.Widget",
32                                 category="C",)
33        disc.handle_widget(desc)
34
35    def test_file(self):
36        from Orange.OrangeWidgets.Data import OWFile
37        disc = self.discovery_class()
38        disc.process_file(OWFile.__file__)
39
40    def test_process_directory(self):
41        from Orange.OrangeWidgets import Data, Visualize
42        data_dirname = os.path.dirname(Data.__file__)
43        visualize_dirname = os.path.dirname(Visualize.__file__)
44
45        disc = self.discovery_class()
46        disc.process_directory(data_dirname)
47        disc.process_directory(visualize_dirname)
48
49    def test_process_module(self):
50        disc = self.discovery_class()
51        disc.process_category_package(
52            "Orange.OrangeWidgets.Data"
53        )
54        disc.process_widget_module(
55            "Orange.OrangeWidgets.Classify.OWNaiveBayes"
56        )
57
58    def test_process_loader(self):
59        disc = self.discovery_class()
60
61        def callable(discovery):
62            desc = CategoryDescription(
63                name="Data", qualified_name="Data")
64
65            discovery.handle_category(desc)
66
67            desc = WidgetDescription.from_module(
68                "Orange.OrangeWidgets.Data.OWFile"
69            )
70            discovery.handle_widget(desc)
71
72        disc.process_loader(callable)
73
74    def test_process_iter(self):
75        disc = self.discovery_class()
76        cat_desc = CategoryDescription.from_package(
77            "Orange.OrangeWidgets.Data"
78        )
79        wid_desc = widget_descriptions_from_package(
80            "Orange.OrangeWidgets.Data"
81        )
82        disc.process_iter([cat_desc] + wid_desc)
83
84    def test_run(self):
85        disc = self.discovery_class()
86        disc.run()
Note: See TracBrowser for help on using the repository browser.