summaryrefslogtreecommitdiff
path: root/tests/test_rectangle.py
blob: 0be89b0cac790b9a7f2a98119cdd14ac3a2a2b9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- Mode: Python -*-

import unittest

from common import gtk


class Tests(unittest.TestCase):

    def test_equal(self):
        self.assertEqual(gtk.gdk.Rectangle(0, 0, 1, 1), gtk.gdk.Rectangle(0, 0, 1, 1))

    def test_not_equal(self):
        self.assertNotEqual(gtk.gdk.Rectangle(1, 0, 10, 10), gtk.gdk.Rectangle(0, 0, 10, 10))
        self.assertNotEqual(gtk.gdk.Rectangle(0, 1, 10, 10), gtk.gdk.Rectangle(0, 0, 10, 10))
        self.assertNotEqual(gtk.gdk.Rectangle(0, 0, 11, 10), gtk.gdk.Rectangle(0, 0, 10, 10))
        self.assertNotEqual(gtk.gdk.Rectangle(0, 0, 10, 11), gtk.gdk.Rectangle(0, 0, 10, 10))

    def test_non_hashable(self):
        self.assertRaises(TypeError, lambda: hash(gtk.gdk.Rectangle()))

        def dict_key():
            {} [gtk.gdk.Rectangle()] = 'must raise'
        self.assertRaises(TypeError, dict_key)

    def test_repr(self):
        for rectangle in self._test_rectangle_list():
            self.assertEqual(rectangle, eval(repr(rectangle)))

    def _test_rectangle_list(self):
        return [gtk.gdk.Rectangle(),
                gtk.gdk.Rectangle(0, 0, 100, 100),
                gtk.gdk.Rectangle(-10, 10, 30, 50),
                gtk.gdk.Rectangle(-100, -100, 20, 25),
                gtk.gdk.Rectangle(0, 0, 0, 20),
                gtk.gdk.Rectangle(1, 1, 20, 0)]


if __name__ == '__main__':
    unittest.main()