~jgrandguillaume-c2c/openobject-addons/multi-company-cost-price

« back to all changes in this revision

Viewing changes to account/test/test_parent_structure.yml

  • Committer: Joël Grand-Guillaume
  • Date: 2010-04-08 09:00:10 UTC
  • mfrom: (2533.3.664)
  • Revision ID: joel.grandguillaume@camptocamp.com-20100408090010-c0pqjan341s18bxs
[MRG] Merge from last trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-
 
2
  We retrieve all accounts and test they are in a tree data structure.
 
3
 
4
  !python {model: account.account}: |
 
5
    ids = self.search(cr, uid, [])
 
6
    accounts_list = self.read(cr, uid, ids, ['parent_id','parent_left','parent_right'])
 
7
    accounts = dict((x['id'], x) for x in accounts_list)
 
8
    log("Testing parent structure for %d accounts", len(accounts_list))
 
9
    for a in accounts_list:
 
10
        if a['parent_id']:
 
11
            assert a['parent_left'] > accounts[a['parent_id'][0]]['parent_left']
 
12
            assert a['parent_right'] < accounts[a['parent_id'][0]]['parent_right']
 
13
        assert a['parent_left'] < a['parent_right']
 
14
        for a2 in accounts_list:
 
15
            assert not ((a2['parent_right'] > a['parent_left']) and 
 
16
                (a2['parent_left'] < a['parent_left']) and 
 
17
                (a2['parent_right'] < a['parent_right']))
 
18
            if a2['parent_id']==a['id']:
 
19
                assert (a2['parent_left'] > a['parent_left']) and (a2['parent_right'] < a['parent_right'])
 
20