def get_or_create_output_group(calculation): """ For a given Calculation, get or create a new frozendict Data node that has as its values all output Data nodes of the Calculation. :param calculation: Calculation """ if not isinstance(calculation, Calculation): raise TypeError("Can only create output groups for type Calculation") outputs = calculation.get_outputs_dict(link_type=LinkType.CREATE) outputs.update(calculation.get_outputs_dict(link_type=LinkType.RETURN)) return FrozenDict(dict=outputs)
def test_length(self): input = {'a': Int(5).store(), 'b': Str('testing').store()} d = FrozenDict(dict=input) self.assertEqual(len(input), len(d))
def test_iterate(self): input = {'a': Int(5).store(), 'b': Str('testing').store()} d = FrozenDict(dict=input) for k, v in d.iteritems(): self.assertEqual(input[k], v)
def test_get_value(self): input = {'a': Int(5).store()} d = FrozenDict(dict=input) self.assertEqual(d['a'], input['a'])
def test_create_invalid(self): with self.assertRaises(AssertionError): d = FrozenDict(dict={'a': 5})
def test_create(self): d = FrozenDict(dict={})