def test(self): reg = registry.CatalogueFunctionRegistry() reg.add('calc')(Calculator) catalogue, config = mock.Mock(), mock.Mock() self.assertEqual((catalogue, config), reg['Calculator'](catalogue, config))
def test_check_config(self): reg = registry.CatalogueFunctionRegistry() reg.add('calc', a_field=int, b_field=float)(Calculator) catalogue, config = mock.Mock(), {'a_field': 3} self.assertRaises(RuntimeError, reg['Calculator'], catalogue, config) config = {'a_field': 3, 'b_field': 1.0} self.assertEqual((catalogue, config), reg['Calculator'](catalogue, config))
def test_add_function(self): reg = registry.CatalogueFunctionRegistry() decorated = reg.add_function(param1=float, param2=int)(simple_calc) self.assertEqual(3, decorated(mock.Mock(), 1, 2)) self.assertEqual(dict(param1=float, param2=int), decorated.fields)