def test_dataset_index_by_duplicated_rows(): ds = Dataset(DUPLICATED_ROWS) ds.index_by('k1') assert ds.index('k1').items() == [ ('v11', [0, 1]), ]
def test_inner_join(): ds_left = Dataset(LEFT_ROWS2) ds_right = Dataset(RIGHT_ROWS2) assert list(join.inner_join(ds_left, 'lk1', ds_right, 'rk1')) == [ {"lk1": "v1", "lk2": "lv2", "lk3": "lv3", "rk1": "v1", "rk2": "rv2", "rk3": "rv3"}, {"lk1": "v2", "lk2": "lv2", "lk3": "lv3", "rk1": "v2", "rk2": "rv2", "rk3": "rv3"}, ]
def test_inner_join_overwrite_values(): ds_left = Dataset([ '{"lk1": "v1", "lk2": "lv2", "lk3": "lv3"}', ]) ds_right = Dataset([ '{"lk1": "v1", "lk2": "lv3", "lk3": "lv4"}', ]) assert list(join.inner_join(ds_left, 'lk1', ds_right, 'lk1')) == [ {"lk1": "v1", "lk2": "lv3", "lk3": "lv4"} ]
def test_dataset_index_by_second_attempt(): ds = Dataset(ROWS) ds.index_by('k1') assert ds.index('k1').items() == [('v11', [0]), ('v21', [1]), ('v31', [2]), ('v41', [3]), ('v51', [4])] ds.index_by('k1') assert ds.index('k1').items() == [('v11', [0]), ('v21', [1]), ('v31', [2]), ('v41', [3]), ('v51', [4])]
def test_dataset_index_by(): ds = Dataset(ROWS) ds.index_by('k1') assert isinstance(ds.index('k1'), SqliteDict) assert ds.index('k1').items() == [('v11', [0]), ('v21', [1]), ('v31', [2]), ('v41', [3]), ('v51', [4])]
def test_dataset_get_by(): ds = Dataset(ROWS) assert ds.get_by(1) == {"k1": "v21", "k2": "v22"}
def test_dataset_scan_for_empty_row(): ds = Dataset([ "", ]) assert list(ds.scan()) == []
def test_dataset_scan(): ds = Dataset(SINGLE_ROW) assert list(ds.scan()) == [(0, {'k1': 'v11', 'k2': 'v12'})]
def test_dataset_create(): ds = Dataset(SINGLE_ROW) assert isinstance(ds, Dataset)