From 636fd195178230eec01f91078c188dfbd569e3ef Mon Sep 17 00:00:00 2001 From: Frances Hartwell Date: Fri, 17 Nov 2023 13:50:25 -0500 Subject: [PATCH] add test --- tests/unit/multi_table/test_base.py | 46 +++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/tests/unit/multi_table/test_base.py b/tests/unit/multi_table/test_base.py index 5dbaf0656..cbcac3572 100644 --- a/tests/unit/multi_table/test_base.py +++ b/tests/unit/multi_table/test_base.py @@ -236,8 +236,8 @@ def test_get_table_parameters_has_parameters(self): 'numerical_distributions': {} } - def test_get_parameters(self): - """Test that the table's synthesizer parameters are being returned.""" + def test_get_parameters_missing_table(self): + """Test that the synthesizer's parameters are being returned.""" # Setup metadata = get_multi_table_metadata() instance = BaseMultiTableSynthesizer(metadata, locales='en_CA') @@ -283,6 +283,48 @@ def test_get_parameters(self): } } + def test_get_parameters_empty(self): + """Test that ``get_parameters`` handles missing table synthesizers.""" + # Setup + metadata = get_multi_table_metadata() + instance = BaseMultiTableSynthesizer(metadata, locales='en_CA') + instance._table_synthesizers['nesreca'] = None + + # Run + result = instance.get_parameters() + + # Assert + assert result == { + 'locales': 'en_CA', + 'verbose': False, + 'tables': { + 'nesreca': { + 'table_synthesizer': None, + 'table_parameters': {} + }, + 'oseba': { + 'table_synthesizer': 'GaussianCopulaSynthesizer', + 'table_parameters': { + 'enforce_min_max_values': True, + 'enforce_rounding': True, + 'locales': 'en_CA', + 'numerical_distributions': {}, + 'default_distribution': 'beta' + } + }, + 'upravna_enota': { + 'table_synthesizer': 'GaussianCopulaSynthesizer', + 'table_parameters': { + 'enforce_min_max_values': True, + 'enforce_rounding': True, + 'locales': 'en_CA', + 'numerical_distributions': {}, + 'default_distribution': 'beta' + } + } + } + } + def test_set_table_parameters(self): """Test that the table's parameters are being updated.