Skip to content

Commit b1a781a

Browse files
committed
Add tests
Signed-off-by: Itay Dafna <[email protected]>
1 parent 2219054 commit b1a781a

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

tests/test_datagrid.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,72 @@ def mock_get_visible_data():
153153
datagrid.select(1, 0, 2, 1) # Select 1A to 2B
154154

155155
assert datagrid.selected_cell_values == [2, 5, 3, 6]
156+
157+
def test_dataframe_index_name(dataframe):
158+
# Setting a custom index name
159+
dataframe.index.name = "custom_index"
160+
grid = DataGrid(dataframe)
161+
162+
# Making sure no value is set for index_name
163+
assert grid._index_name is None
164+
165+
# Checking index name matches DataFrame retrieved from grid
166+
data = grid.get_visible_data()
167+
assert(data.index.name == "custom_index")
168+
169+
def test_user_defined_index_name(dataframe):
170+
# Setting a custom index name
171+
dataframe.index.name = "unused_index"
172+
grid = DataGrid(dataframe, index_name="custom_index")
173+
174+
# Making sure index_name is set
175+
assert grid._index_name is not None
176+
177+
# Checking index name matches DataFrame retrieved from grid
178+
index_key = grid.get_dataframe_index(dataframe)
179+
data_obj = grid.generate_data_object(
180+
dataframe, "ipydguuid", index_key
181+
)
182+
183+
# Default and unused keys should not be in schema
184+
assert "key" not in data_obj['schema']['primaryKey']
185+
assert "unused_index" not in data_obj['schema']['primaryKey']
186+
187+
# User defined key should be in primary key schema
188+
assert "custom_index" in data_obj['schema']['primaryKey']
189+
190+
def test_named_dataframe_index(dataframe):
191+
# Setting a custom index name
192+
dataframe.index.name = "my_used_index"
193+
grid = DataGrid(dataframe)
194+
195+
# Making sure index_name is set
196+
assert grid._index_name is None
197+
198+
# Generate primary key schema object
199+
index_key = grid.get_dataframe_index(dataframe)
200+
data_obj = grid.generate_data_object(
201+
dataframe, "ipydguuid", index_key
202+
)
203+
204+
# Default and unused keys should not be in schema
205+
assert "key" not in data_obj['schema']['primaryKey']
206+
207+
# User named dataframe index should be in schema
208+
assert "my_used_index" in data_obj['schema']['primaryKey']
209+
210+
def test_default_dataframe_index(dataframe):
211+
# Setting a custom index name
212+
grid = DataGrid(dataframe)
213+
214+
# Making sure index_name is set
215+
assert grid._index_name is None
216+
217+
# Generate primary key schema object
218+
index_key = grid.get_dataframe_index(dataframe)
219+
data_obj = grid.generate_data_object(
220+
dataframe, "ipydguuid", index_key
221+
)
222+
223+
# Default and unused keys should not be in schema
224+
assert "key" in data_obj['schema']['primaryKey']

0 commit comments

Comments
 (0)