Beispiel #1
0
 def test_bind_to_graph_unsupported_type(self):
     sue = Entity(100, name="Sue")
     self.assertRaises(
         interfaces.UnknownEntityError,
         self.graph.bind_to_graph,
         sue
     )
Beispiel #2
0
    def test_set_property_unknown_type(self):
        some_entity = Entity("SomeEntity")
        self.assertRaises(TypeError,
                          self.graph.set_property,
                          some_entity,
                          name="should_not_be_set")

        self.assertDictEqual(
            some_entity.properties,
            {},
        )
Beispiel #3
0
 def setUp(self):
     self.marko = Entity(label="person", name="marko", age=29)
Beispiel #4
0
class TestEntityBase(unittest.TestCase):
    def setUp(self):
        self.marko = Entity(label="person", name="marko", age=29)

    def test_is_bound(self):
        graph = Graph()
        self.marko.graph = graph  # mock is bound
        self.assertEqual(
            self.marko.is_bound(),
            True
        )

    def test_is_bound_not_bound(self):
        self.assertEqual(
            self.marko.is_bound(),
            False
        )

    def test_remove_property(self):
        self.marko.remove_property("name")
        self.assertDictEqual(
            self.marko.properties,
            {
                "age": 29,
            }
        )

    def test_remove_property_no_such_key(self):
        self.marko.remove_property("surname")
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "age": 29,
            }
        )

    def test_set_property_kwargs(self):
        self.marko.set_property(surname="McDonald")
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "surname": "McDonald",
                "age": 29,
            }
        )

    def test_set_property_no_kwargs(self):
        self.assertRaises(
            EntityUpdateError,
            self.marko.set_property,
        )

    def test_set_property_args_and_kwargs(self):
        self.marko.set_property(surname="McDonald", age=30)
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "surname": "McDonald",
                "age": 30,
            }
        )

    def test_as_dict(self):
        self.assertDictEqual(
            self.marko.as_dict(),
            {
                "id": None,
                "label": "person",
                "properties": {
                    "name": "marko",
                    "age": 29
                },
                "metadata": {},
            },
        )

    def test_as_dict_skip_private_keys(self):
        self.marko.set_property(_private_name="Sasquatch")
        self.assertDictEqual(
            self.marko.as_dict(),
            {
                "id": None,
                "label": "person",
                "properties": {
                    "name": "marko",
                    "age": 29,
                },
                "metadata": {},
            },
        )

    def test_as_dict_include_private_keys(self):
        self.marko.set_property(_private_name="Sasquatch")
        self.assertDictEqual(
            self.marko.as_dict(include_privates=True),
            {
                "id": None,
                "label": "person",
                "properties": {
                    "name": "marko",
                    "age": 29,
                    "_private_name": "Sasquatch",
                },
                "metadata": {},
            },
        )

    def test_get_property_as_attribute(self):
        self.assertEqual(
            self.marko.prop__name,
            "marko"
        )

    def test_get_attribute(self):
        self.assertEqual(
            self.marko.label,
            "person"
        )

    def test_get_attribute_no_propery_or_attr(self):
        self.assertRaises(
            AttributeError,
            self.marko.__getattribute__,
            "prop__bogus"
        )
class TestEntityBase(unittest2.TestCase):
    def setUp(self):
        self.marko = Entity(label="person", name="marko", age=29)

    def test_is_bound(self):
        graph = Graph()
        self.marko.graph = graph  # mock is bound
        self.assertEqual(
            self.marko.is_bound(),
            True
        )

    def test_is_bound_not_bound(self):
        self.assertEqual(
            self.marko.is_bound(),
            False
        )

    def test_remove_property(self):
        self.marko.remove_property("name")
        self.assertDictEqual(
            self.marko.properties,
            {
                "age": 29,
            }
        )

    def test_remove_property_no_such_key(self):
        self.marko.remove_property("surname")
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "age": 29,
            }
        )

    def test_set_property_kwargs(self):
        self.marko.set_property(surname="McDonald")
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "surname": "McDonald",
                "age": 29,
            }
        )

    def test_set_property_no_kwargs(self):
        self.assertRaises(
            EntityUpdateError,
            self.marko.set_property,
        )

    def test_set_property_args_and_kwargs(self):
        self.marko.set_property(surname="McDonald", age=30)
        self.assertDictEqual(
            self.marko.properties,
            {
                "name": "marko",
                "surname": "McDonald",
                "age": 30,
            }
        )

    def test_as_dict(self):
        self.assertDictEqual(
            self.marko.as_dict(),
            {
                "id": None,
                "label": "person",
                "properties": {
                    "name": "marko",
                    "age": 29
                },
                "metadata": {},
            },
        )