def test_raises_error_setting_time_index_tag_directly(sample_series): error_msg = re.escape("Cannot add 'time_index' tag directly. To set a column as the time index, " "use DataTable.set_time_index() instead.") with pytest.raises(ValueError, match=error_msg): DataColumn(sample_series, semantic_tags='time_index') data_col = DataColumn(sample_series) with pytest.raises(ValueError, match=error_msg): data_col.add_semantic_tags('time_index') with pytest.raises(ValueError, match=error_msg): data_col.set_semantic_tags('time_index')
def test_set_semantic_tags(sample_series): semantic_tags = {'tag1', 'tag2'} data_col = DataColumn(sample_series, semantic_tags=semantic_tags, use_standard_tags=False) assert data_col.semantic_tags == semantic_tags new_tags = ['new_tag'] new_col = data_col.set_semantic_tags(new_tags) assert new_col is not data_col assert new_col.semantic_tags == set(new_tags)
def test_set_semantic_tags_with_time_index(sample_datetime_series): semantic_tags = {'tag1', 'tag2'} data_col = DataColumn(sample_datetime_series, semantic_tags=semantic_tags, use_standard_tags=False) data_col._set_as_time_index() assert data_col.semantic_tags == {'tag1', 'tag2', 'time_index'} new_tags = ['new_tag'] new_col = data_col.set_semantic_tags(new_tags) assert new_col.semantic_tags == {'time_index', 'new_tag'} new_col2 = new_col.set_semantic_tags(new_tags, retain_index_tags=False) assert new_col2.semantic_tags == {'new_tag'}