source: orange/Orange/OrangeCanvas/scheme/tests/test_annotations.py @ 11111:8b86d1ff9919

Revision 11111:8b86d1ff9919, 1.4 KB checked in by Ales Erjavec <ales.erjavec@…>, 19 months ago (diff)

Fixed scheme's annotation signal signatures and added tests.

Line 
1"""
2Tests for scheme annotations.
3
4"""
5
6from ...gui import test
7
8
9from .. import SchemeArrowAnnotation, SchemeTextAnnotation
10
11
12class TestAnnotations(test.QCoreApplication):
13    def test_arrow(self):
14        arrow = SchemeArrowAnnotation((0, 0), (10, 10))
15        self.assertTrue(arrow.start_pos == (0, 0))
16        self.assertTrue(arrow.end_pos == (10, 10))
17
18        def count():
19            count.i += 1
20        count.i = 0
21
22        arrow.geometry_changed.connect(count)
23        arrow.set_line((10, 10), (0, 0))
24        self.assertTrue(arrow.start_pos == (10, 10))
25        self.assertTrue(arrow.end_pos == (0, 0))
26        self.assertTrue(count.i == 1)
27
28    def test_text(self):
29        text = SchemeTextAnnotation((0, 0, 10, 100), "--")
30        self.assertEqual(text.rect, (0, 0, 10, 100))
31        self.assertEqual(text.text, "--")
32
33        def count():
34            count.i += 1
35        count.i = 0
36
37        text.geometry_changed.connect(count)
38        text.set_rect((9, 9, 30, 30))
39        self.assertEqual(text.rect, (9, 9, 30, 30))
40        self.assertEqual(count.i == 1)
41
42        text.rect = (4, 4, 4, 4)
43        self.assertEqual(count.i == 2)
44
45        count.i = 0
46        text.text_changed.connect(count)
47
48        text.set_text("...")
49        self.assertEqual(text.text, "...")
50        self.assertTrue(count.i == 1)
51
52        text.text = '=='
53        self.assertEqual(text.text, "--")
54        self.assertTrue(count.i == 2)
Note: See TracBrowser for help on using the repository browser.