def test_get_hyperparameters(self): """get_hyperparameters has to return a deepcopy of the _hyperparameters attribute.""" mlblock = MLBlock('given_primitive_name') hyperparameters = {'a_list_param': ['a']} mlblock._hyperparameters = hyperparameters returned = mlblock.get_hyperparameters() assert returned == hyperparameters assert returned is not hyperparameters returned['a_list_param'].append('b') assert 'b' not in hyperparameters['a_list_param']
def test_get_hyperparameters(self, load_primitive_mock, import_object_mock): """get_hyperparameters has to return a copy of the _hyperparameters attribute.""" load_primitive_mock.return_value = { 'primitive': 'a_primitive_name', 'produce': { 'args': [], 'output': [] } } mlblock = MLBlock('given_primitive_name') hyperparameters = dict() mlblock._hyperparameters = hyperparameters returned = mlblock.get_hyperparameters() assert returned == hyperparameters assert returned is not hyperparameters