File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from __future__ import unicode_literals
4+ from __future__ import absolute_import
5+
6+ import adapter
7+ from tests import outputs
8+
9+
10+ class NaturalPersonAdapter (adapter .Adapter ):
11+ first_name = adapter .CharField ()
12+ last_name = adapter .CharField ()
13+
14+
15+ class AddressAdapter (adapter .Adapter ):
16+ class Meta (object ):
17+ model = outputs .Address
18+
19+ line1 = adapter .CharField (source = 'address_street.0' )
20+ line2 = adapter .CharField (source = 'address_street.1' , default = '' )
21+ postal_code = adapter .CharField (source = 'address_zipcode' , default = '' )
22+ city = adapter .CharField (source = 'address_city' )
23+ region = adapter .CharField (source = 'address_state' )
24+ country = adapter .CharField (source = 'address_country' )
25+
26+
27+ class CustomerAdapter (NaturalPersonAdapter ):
28+ class Meta (object ):
29+ model = outputs .Customer
30+
31+ address = AddressAdapter (source = '*' )
Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from __future__ import unicode_literals
4+ from __future__ import absolute_import
5+
6+ from tests .utils import Thing
7+
8+
9+ class Customer (Thing ):
10+ pass
Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from __future__ import unicode_literals
4+ from __future__ import absolute_import
5+
6+ from tests .utils import Thing
7+
8+
9+ class Customer (Thing ):
10+ pass
11+
12+
13+ class Address (Thing ):
14+ pass
Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from __future__ import unicode_literals
4+ from __future__ import absolute_import
5+
6+ import unittest
7+
8+ import adapters
9+ import inputs
10+ import outputs
11+
12+
13+ class AdapterTest (unittest .TestCase ):
14+ def test_list (self ):
15+ pass
16+
17+ def test_tuple (self ):
18+ pass
19+
20+ def test_dict (self ):
21+ pass
22+
23+ def test_object (self ):
24+ data = inputs .Customer ({
25+ 'first_name' : 'Betty' ,
26+ 'last_name' : 'Gowin' ,
27+ 'address_street' : ['3385 Gerald L. Bates Drive' ],
28+ 'address_zip_code' : '02143' ,
29+ 'address_city' : 'Somerville' ,
30+ 'address_state' : 'US-MA' ,
31+ 'address_country' : 'US' ,
32+ })
33+ actual = adapters .CustomerAdapter (data ).adapt ()
34+ expected = outputs .Customer ({
35+ 'first_name' : 'Betty' ,
36+ 'last_name' : 'Gowin' ,
37+ 'address' : outputs .Address ({
38+ 'line1' : '3385 Gerald L. Bates Drive' ,
39+ 'line2' : '' ,
40+ 'postal_code' : '02143' ,
41+ 'city' : 'Somerville' ,
42+ 'region' : 'US-MA' ,
43+ 'country' : 'US' ,
44+ })
45+ })
46+ self .assertEqual (actual , expected )
Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+
3+ from __future__ import unicode_literals
4+
5+
6+ class Thing (object ):
7+ def __init__ (self , ** data ):
8+ self .__dict__ .update (data )
9+
10+ def __eq__ (self , other ):
11+ return self .__dict__ == other .__dict__
You can’t perform that action at this time.
0 commit comments