def test(self):
     prop = CompoundProperty(
         first_name=StringProperty(['name']),
         last_name=StringProperty(['surname']),
     )
     name, surname = 'Pauline Gvozd'.split()
     self.assertEqual(
         dict(first_name=name, last_name=surname),
         prop.get(data=dict(name=name, surname=surname)),
     )
 def test__properties_no_sources(self):
     prop = CompoundProperty(
         first_name=StringProperty(),
         last_name=StringProperty(),
     )
     first_name, last_name = 'Pauline Gvozd'.split()
     self.assertEqual(
         dict(first_name=first_name, last_name=last_name),
         prop.get(data=dict(first_name=first_name, last_name=last_name)),
     )
Beispiel #3
0
    def test__object_mapper__init():
        mapper = ObjectMapper(
            init=Person,
            args=CompoundListProperty(
                IntegerProperty('id'),
                StringProperty('first_name'),
                StringProperty('last_name'),
            ),
            kwargs=CompoundProperty(
                middle_name=StringProperty(required=False), ),
        )

        first, middle, last = 'Iosif Aleksandrovich Brodsky'.split()
        person = mapper.get(
            dict(
                id=1940,
                first_name=first,
                middle_name=middle,
                last_name=last,
            ))

        assert isinstance(person, Person)
        assert person.id == 1940
        assert person.first_name == first
        assert person.middle_name == middle
        assert person.last_name == last
Beispiel #4
0
 class PersonMapper(ObjectMapper):
     init = Person
     args = CompoundListProperty(
         IntegerProperty('id'),
         StringProperty('first_name'),
         StringProperty('last_name'),
     )
     kwargs = CompoundProperty(
         middle_name=StringProperty(required=False), )
 def test__str(self):
     self.assertEqual(
         "CompoundProperty(x=Value(1))",
         str(CompoundProperty(x=V(1))),
     )
     self.assertEqual(
         "CompoundProperty(sources=['y', 'z'], x=Value(1))",
         str(CompoundProperty(dict(sources=['y', 'z']), x=V(1))),
     )
     self.assertEqual(
         "CompoundProperty("
         "sources=[['y'], ['z', 'w']], "
         "x=Value(1), "
         "y=PropertyRef('x'))",
         str(
             CompoundProperty(
                 dict(sources=[['y'], ['z', 'w']]),
                 x=V(1),
                 y=PropertyRef('x'),
             )),
     )
Beispiel #6
0
    def test__init__args_kwargs(self):
        person_mapper = ObjectMapper(
            init=Person,
            args=CompoundListProperty(
                IntegerProperty('id'),
                StringProperty('first_name'),
                StringProperty('last_name'),
            ),
            kwargs=CompoundProperty(
                middle_name=StringProperty(required=False), ),
        )

        self.assertEqual(self.dostoevsky,
                         person_mapper.get(self.dostoevsky_dict))
        self.assertEqual(
            self.dostoevsky_no_middle_name,
            person_mapper.get(self.dostoevsky_no_middle_name_dict))
 def test__get_value__set_in_grand_parent(self):
     prop = CompoundProperty(
         dict(get_value=lambda *_: 'foo'),
         y=CompoundProperty(x=Property(), ),
     )
     self.assertEqual('foo', prop.get(dict(x=5))['y']['x'])