def test_remove_node_attrs(self): rule = Rule(self.p, self.pattern, self.rhs, self.p_lhs, self.p_rhs) rule.add_node_attrs(4, {'a': 2}) rule.remove_node_attrs(4, {'a': 1}) t1 = {'a': set()} t2 = {'a': set([2])} normalize_attrs(t1) normalize_attrs(t2) assert(rule.p.node['d'] == t1) assert(rule.rhs.node['s'] == t2) return
def test_add_node_attrs(self): rule = Rule(self.p, self.pattern, self.rhs, self.p_lhs, self.p_rhs) rule.add_node_attrs(1, {'a': 1}) t1 = {'a': {1}} t2 = {'a': {1, 2}} t3 = {'a': {1, 2}, 'b': {1}} normalize_attrs(t1) normalize_attrs(t2) normalize_attrs(t3) assert(rule.rhs.node['x'] == t1) rule.add_node_attrs(4, {'a': 1}) assert(rule.rhs.node['s'] == t1) rule.add_node_attrs(4, {'a': 2}) assert(rule.rhs.node['s'] == t2) rule.add_node_attrs(4, {'b': 1}) assert(rule.rhs.node['s'] == t3) return