def __missing__(self, key):
        if self.default_factory is None:
            raise KeyError(key)
        else:
            ret = self[key] = self.default_factory(name=key)
            return ret
def test_should_encode_node_with_label_and_property(self):
        a = Node("Person", name="Alice")
        encoded = cypher_repr(a, node_template="{labels} {properties}")
        assert encoded == u"(:Person {name: 'Alice'})"