Пример #1
0
    def test_change_constants(self):
        volatile = frozenset('b')
        volatile_dict = FrozenDict(b=ExpressionScalar('b'))
        ds = DictScope(FrozenDict({'a': 1, 'b': 2}), volatile=volatile)

        changes = {'b': 3, 'c': 4}
        ds2 = ds.change_constants(changes)
        self.assertEqual({'a': 1, 'b': 2}, dict(ds))
        self.assertEqual(volatile_dict, ds.get_volatile_parameters())
        self.assertEqual({'a': 1, 'b': 3}, dict(ds2))
        self.assertEqual(volatile_dict, ds2.get_volatile_parameters())

        with self.assertWarns(NonVolatileChange):
            ds.change_constants({'a': 2, 'b': 3, 'c': 4})
Пример #2
0
 def test_get_volatile(self):
     volatile = frozenset('ab')
     volatile_dict = FrozenDict(a=ExpressionScalar('a'), b=ExpressionScalar('b'))
     ds = DictScope(FrozenDict({'a': 1, 'b': 2}), volatile=volatile)
     self.assertEqual(volatile_dict, ds.get_volatile_parameters())