def testKVPairs(self): self.let = Let() self.let.names['var'] = 3 x = Map() x['bar'] = NameRef('var') self.let.put(KVPair('a', x)) x = List() x.put(NameRef('var')) self.let.put(KVPair('b', x)) root = Map() root.put(self.let) self.assertEqual(root.eval(), {'a':{'bar':3}, 'b':[3]})
class TestPairStream(unittest.TestCase): def setUp(self): self.scope = Map() self.scope['var'] = True self.c = Conditional() self.scope.put(self.c) def testStream(self): self.c.put_cond( NameRef('var'), ItemStream([ KVPair('ag', Map()), KVPair('ug', NameRef('var')) ]) ) self.assertEqual(self.scope['ag'], {}) self.assertEqual(self.scope['ug'], True) def testUndefinedHasNoEffect(self): self.scope.set_key('var', False) self.assertEqual(self.scope.eval(), {'var':False}) # and nothing else