@@ -84,6 +84,46 @@ def column(self):
8484 return _Column (None , None )
8585
8686
87+ class Describe_ColumnCellCollection (object ):
88+
89+ def it_knows_how_many_cells_it_contains (self , cells_fixture ):
90+ cells , cell_count = cells_fixture
91+ assert len (cells ) == cell_count
92+
93+ def it_can_iterate_over_its__Cell_instances (self , cells_fixture ):
94+ cells , cell_count = cells_fixture
95+ actual_count = 0
96+ for cell in cells :
97+ assert isinstance (cell , _Cell )
98+ actual_count += 1
99+ assert actual_count == cell_count
100+
101+ def it_provides_indexed_access_to_cells (self , cells_fixture ):
102+ cells , cell_count = cells_fixture
103+ for idx in range (- cell_count , cell_count ):
104+ cell = cells [idx ]
105+ assert isinstance (cell , _Cell )
106+
107+ def it_raises_on_indexed_access_out_of_range (self , cells_fixture ):
108+ cells , cell_count = cells_fixture
109+ too_low = - 1 - cell_count
110+ too_high = cell_count
111+ with pytest .raises (IndexError ):
112+ cells [too_low ]
113+ with pytest .raises (IndexError ):
114+ cells [too_high ]
115+
116+ # fixtures -------------------------------------------------------
117+
118+ @pytest .fixture
119+ def cells_fixture (self ):
120+ cell_count = 2
121+ tbl = _tbl_bldr (rows = cell_count , cols = 1 ).element
122+ gridCol = tbl .tblGrid .gridCol_lst [0 ]
123+ cells = _ColumnCellCollection (tbl , gridCol )
124+ return cells , cell_count
125+
126+
87127class Describe_ColumnCollection (object ):
88128
89129 def it_knows_how_many_columns_it_contains (self , columns_fixture ):
@@ -141,6 +181,10 @@ def cells_access_fixture(self):
141181
142182class Describe_RowCellCollection (object ):
143183
184+ def it_knows_how_many_cells_it_contains (self , cell_count_fixture ):
185+ cells , cell_count = cell_count_fixture
186+ assert len (cells ) == cell_count
187+
144188 def it_can_iterate_over_its__Cell_instances (self , cell_count_fixture ):
145189 cells , cell_count = cell_count_fixture
146190 actual_count = 0
@@ -149,10 +193,6 @@ def it_can_iterate_over_its__Cell_instances(self, cell_count_fixture):
149193 actual_count += 1
150194 assert actual_count == cell_count
151195
152- def it_knows_how_many_cells_it_contains (self , cell_count_fixture ):
153- cells , cell_count = cell_count_fixture
154- assert len (cells ) == cell_count
155-
156196 def it_provides_indexed_access_to_cells (self , cell_count_fixture ):
157197 cells , cell_count = cell_count_fixture
158198 for idx in range (- cell_count , cell_count ):
0 commit comments