def test_with_label(): table = Table(valid_schema) table.append(bob) rows = table.rows row = rows.pop() assert row['name'].label is None harry = (17, ('Harry', 'Big Man')) table.append(harry) row = rows.pop() assert row['age'].value == 17 assert row['name'].value == 'Harry' assert row['name'].label == 'Big Man'
def test_cell_options(): table = Table(valid_schema) jack = [17, ('Jack', 'Beanstalk', dict(key='value'))] table.append(jack) row = table.rows.pop() assert row['name'].options == {'key':'value'} kate = [26, dict(value='Kate', options={'hair':'long'})] table.append(kate) row = table.rows.pop() assert row['name'].value == 'Kate' assert row['name'].label == None assert row['name'].options == {'hair':'long'}
def test_insert_row(): table = Table(valid_schema) table.append(bob) row = table.rows.pop() assert row['age'].value == 18 assert row['name'].value == 'Bob'
def test_insert_row_no_columns(): table = Table() with pytest.raises(ValueError): table.append(('Bob', ))
def test_add_column_with_existing_data(): table = Table(valid_schema) table.append(bob) with pytest.raises(ValueError): table.add_column('size', str)
def test_invalid_row(): table = Table(valid_schema) with pytest.raises(ValueError): table.append([1, 2, 3])