Skip to content

Commit

Permalink
Update to table_name
Browse files Browse the repository at this point in the history
  • Loading branch information
fealho committed Oct 1, 2024
1 parent c421c40 commit 67203fd
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 25 deletions.
1 change: 1 addition & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ This release consolidates the `SingleTableMetadata` and `MultiTableMetadata` cla
* Enable multi table synthesizers to use new Metadata - Issue [#2129](https://github.com/sdv-dev/SDV/issues/2129) by @lajohn4747
* Enable single table synthesizers to use new Metadata - Issue [#2128](https://github.com/sdv-dev/SDV/issues/2128) by @lajohn4747
* Create unified Metadata class - Issue [#2104](https://github.com/sdv-dev/SDV/issues/2104) by @lajohn4747
* Make "table" default table name - Issue [#2245](https://github.com/sdv-dev/SDV/issues/2245) by @fealho

## v1.16.2 - 2024-09-25

Expand Down
2 changes: 1 addition & 1 deletion sdv/metadata/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class Metadata(MultiTableMetadata):
"""Metadata class that handles all metadata."""

METADATA_SPEC_VERSION = 'V1'
DEFAULT_SINGLE_TABLE_NAME = 'default_table_name'
DEFAULT_SINGLE_TABLE_NAME = 'table'

@classmethod
def load_from_json(cls, filepath, single_table_name=None):
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/metadata/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from sdv.multi_table.hma import HMASynthesizer
from sdv.single_table.copulas import GaussianCopulaSynthesizer

DEFAULT_TABLE_NAME = 'default_table_name'
DEFAULT_TABLE_NAME = 'table'


def test_metadata():
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/evaluation/test_single_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def test_evaluate_quality_metadata():
evaluate_quality(data1, data2, metadata)

# Assert
expected_metadata = metadata.tables['default_table_name'].to_dict()
expected_metadata = metadata.tables['table'].to_dict()
QualityReport.generate.assert_called_once_with(data1, data2, expected_metadata, True)


Expand Down Expand Up @@ -84,7 +84,7 @@ def test_run_diagnostic_metadata():
run_diagnostic(data1, data2, metadata)

# Assert
expected_metadata = metadata.tables['default_table_name'].to_dict()
expected_metadata = metadata.tables['table'].to_dict()
DiagnosticReport.generate.assert_called_once_with(data1, data2, expected_metadata, True)


Expand Down
42 changes: 21 additions & 21 deletions tests/unit/metadata/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ def test_load_from_json_single_table(self, mock_read_json):

expected_warning_with_table_name = re.escape(warning_message.format('filepath'))
expected_warning_without_table_name = re.escape(
warning_message.format('default_table_name')
warning_message.format('table')
)

# Run
Expand All @@ -138,7 +138,7 @@ def test_load_from_json_single_table(self, mock_read_json):
mock_read_json.assert_has_calls([call('filepath.json'), call('filepath.json')])
table_name_to_instance = {
'filepath': instance_with_table_name,
'default_table_name': instance_without_table_name,
'table': instance_without_table_name,
}
for table_name, instance in table_name_to_instance.items():
assert list(instance.tables.keys()) == [table_name]
Expand Down Expand Up @@ -363,13 +363,13 @@ def test_load_from_dict_single_table(self):
instance = Metadata.load_from_dict(my_metadata)

# Assert
assert list(instance.tables.keys()) == ['default_table_name']
assert instance.tables['default_table_name'].columns == {'my_column': 'value'}
assert instance.tables['default_table_name'].primary_key == 'pk'
assert instance.tables['default_table_name'].sequence_key is None
assert instance.tables['default_table_name'].alternate_keys == []
assert instance.tables['default_table_name'].sequence_index is None
assert instance.tables['default_table_name']._version == 'SINGLE_TABLE_V1'
assert list(instance.tables.keys()) == ['table']
assert instance.tables['table'].columns == {'my_column': 'value'}
assert instance.tables['table'].primary_key == 'pk'
assert instance.tables['table'].sequence_key is None
assert instance.tables['table'].alternate_keys == []
assert instance.tables['table'].sequence_index is None
assert instance.tables['table']._version == 'SINGLE_TABLE_V1'

def test_load_from_dict_integer_single_table(self):
"""Test that ``load_from_dict`` returns a instance of single-table ``Metadata``.
Expand All @@ -393,12 +393,12 @@ def test_load_from_dict_integer_single_table(self):
instance = Metadata.load_from_dict(my_metadata)

# Assert
assert list(instance.tables.keys()) == ['default_table_name']
assert instance.tables['default_table_name'].columns == {'1': 'value'}
assert instance.tables['default_table_name'].primary_key == 'pk'
assert instance.tables['default_table_name'].sequence_key is None
assert instance.tables['default_table_name'].alternate_keys == []
assert instance.tables['default_table_name'].sequence_index is None
assert list(instance.tables.keys()) == ['table']
assert instance.tables['table'].columns == {'1': 'value'}
assert instance.tables['table'].primary_key == 'pk'
assert instance.tables['table'].sequence_key is None
assert instance.tables['table'].alternate_keys == []
assert instance.tables['table'].sequence_index is None

@patch('sdv.metadata.multi_table.SingleTableMetadata')
def test__set_metadata_multi_table(self, mock_singletablemetadata):
Expand Down Expand Up @@ -490,12 +490,12 @@ def test__set_metadata_single_table(self):
instance._set_metadata_dict(single_table_metadata)

# Assert
assert instance.tables['default_table_name'].columns == {'my_column': 'value'}
assert instance.tables['default_table_name'].primary_key == 'pk'
assert instance.tables['default_table_name'].alternate_keys == []
assert instance.tables['default_table_name'].sequence_key is None
assert instance.tables['default_table_name'].sequence_index is None
assert instance.tables['default_table_name'].METADATA_SPEC_VERSION == 'SINGLE_TABLE_V1'
assert instance.tables['table'].columns == {'my_column': 'value'}
assert instance.tables['table'].primary_key == 'pk'
assert instance.tables['table'].alternate_keys == []
assert instance.tables['table'].sequence_key is None
assert instance.tables['table'].sequence_index is None
assert instance.tables['table'].METADATA_SPEC_VERSION == 'SINGLE_TABLE_V1'

def test_validate(self):
"""Test the method ``validate``.
Expand Down

0 comments on commit 67203fd

Please sign in to comment.