def testKeys(self): params = InputParameters() params.add('foo', 1949) params.add('bar', 1980) gold = ['foo', 'bar'] for i, v in enumerate(params.keys()): self.assertEqual(v, gold[i]) gold = ['_moose_object', '_error_mode', 'foo', 'bar'] for i, v in enumerate(params.keys(private=True)): self.assertEqual(v, gold[i])
def testAdd(self): params = InputParameters() params.add('foo') self.assertEqual(list(params.keys(private=True)), ['_moose_object', '_error_mode', 'foo']) self.assertFalse(params.isValid('foo')) self.assertIn('foo', params) self.assertIsNone(params.getValue('foo')) self.assertTrue(params.hasParameter('foo')) params.setValue('_error_mode', InputParameters.ErrorMode.ERROR) # use error to capture return with self.assertLogs(level='ERROR') as log: params.add('foo') self.assertEqual(len(log.output), 1) self.assertIn("Cannot add parameter, the parameter 'foo' already exists.", log.output[0]) sub = InputParameters() params.add('bar', InputParameters()) with self.assertLogs(level='ERROR') as log: params.add('bar_something') self.assertEqual(len(log.output), 1) self.assertIn( "Cannot add a parameter with the name 'bar_something', a sub parameter exists with the name 'bar'.", log.output[0])