File: composite_grid_model_test_case.py

package info (click to toggle)
enthought-traits-ui 2.0.5-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 15,204 kB
  • ctags: 9,623
  • sloc: python: 45,547; sh: 32; makefile: 19
file content (96 lines) | stat: -rw-r--r-- 3,559 bytes parent folder | download
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import unittest

from enthought.pyface.grid.api \
     import CompositeGridModel, GridRow, GridColumn, SimpleGridModel


class CompositeGridModelTestCase( unittest.TestCase ):

    def setUp(self):

        self.model_1 = SimpleGridModel(data=[[1,2],[3,4]],
                                       rows=[GridRow(label='foo'),
                                             GridRow(label='bar')],
                                       columns=[GridColumn(label='cfoo'),
                                                GridColumn(label='cbar')]
                                       )
        self.model_2 = SimpleGridModel(data=[[3,4,5],[6,7,8]],
                                       rows=[GridRow(label='baz'),
                                             GridRow(label='bat')],
                                       columns=[GridColumn(label='cfoo_2'),
                                                GridColumn(label='cbar_2'),
                                                GridColumn(label='cbaz_2')]
                                       )

        self.model = CompositeGridModel(data=[self.model_1, self.model_2])

        return

    def test_get_column_count(self):

        column_count_1 = self.model_1.get_column_count()
        column_count_2 = self.model_2.get_column_count()

        self.assertEqual(self.model.get_column_count(),
                         column_count_1 + column_count_2)

        return

    def test_get_row_count(self):

        self.assertEqual(self.model.get_row_count(), 2)

        return

    def test_get_row_name(self):

        # Regardless of the rows specified in the composed models, the
        # composite model returns its own rows.
        self.assertEqual(self.model.get_row_name(0), '1')
        self.assertEqual(self.model.get_row_name(1), '2')

        return

    def test_get_column_name(self):

        self.assertEqual(self.model.get_column_name(0), 'cfoo')
        self.assertEqual(self.model.get_column_name(1), 'cbar')
        self.assertEqual(self.model.get_column_name(2), 'cfoo_2')
        self.assertEqual(self.model.get_column_name(3), 'cbar_2')
        self.assertEqual(self.model.get_column_name(4), 'cbaz_2')

        return

    def test_get_value(self):

        self.assertEqual(self.model.get_value(0,0), 1)
        self.assertEqual(self.model.get_value(0,1), 2)
        self.assertEqual(self.model.get_value(0,2), 3)
        self.assertEqual(self.model.get_value(0,3), 4)
        self.assertEqual(self.model.get_value(0,4), 5)
        self.assertEqual(self.model.get_value(1,0), 3)
        self.assertEqual(self.model.get_value(1,1), 4)
        self.assertEqual(self.model.get_value(1,2), 6)
        self.assertEqual(self.model.get_value(1,3), 7)
        self.assertEqual(self.model.get_value(1,4), 8)

        return

    def test_is_cell_empty(self):

        rows = self.model.get_row_count()
        columns = self.model.get_column_count()

        self.assertEqual(self.model.is_cell_empty(0,0), False,
                         "Cell (0,0) should not be empty.")
        self.assertEqual(self.model.is_cell_empty(rows,0), True,
                         "Cell below the table should be empty.")
        self.assertEqual(self.model.is_cell_empty(0,columns), True,
                         "Cell right of the table should be empty.")
        self.assertEqual(self.model.is_cell_empty(rows,columns), True,
                         "Cell below and right of table should be empty.")

        return


#### EOF ######################################################################