23 |
23 |
24 def tearDown(self): |
24 def tearDown(self): |
25 BasePlannerTC.tearDown(self) |
25 BasePlannerTC.tearDown(self) |
26 |
26 |
27 def test_ordered_ambigous_sol(self): |
27 def test_ordered_ambigous_sol(self): |
28 self._test('Any XN ORDERBY XN WHERE X name XN', |
28 self._test('Any XN ORDERBY XN WHERE X name XN, X is IN (Basket, File, Folder)', |
29 [('OneFetchStep', [('Any XN ORDERBY XN WHERE X name XN', |
29 [('OneFetchStep', [('Any XN ORDERBY XN WHERE X name XN, X is IN(Basket, File, Folder)', |
30 [{'X': 'Basket', 'XN': 'String'}, |
30 [{'X': 'Basket', 'XN': 'String'}, |
31 {'X': 'CWCache', 'XN': 'String'}, |
|
32 {'X': 'CWConstraintType', 'XN': 'String'}, |
|
33 {'X': 'CWEType', 'XN': 'String'}, |
|
34 {'X': 'CWGroup', 'XN': 'String'}, |
|
35 {'X': 'CWPermission', 'XN': 'String'}, |
|
36 {'X': 'CWRType', 'XN': 'String'}, |
|
37 {'X': 'File', 'XN': 'String'}, |
31 {'X': 'File', 'XN': 'String'}, |
38 {'X': 'Folder', 'XN': 'String'}, |
32 {'X': 'Folder', 'XN': 'String'}])], |
39 {'X': 'Image', 'XN': 'String'}, |
|
40 {'X': 'State', 'XN': 'String'}, |
|
41 {'X': 'Tag', u'XN': 'String'}, |
|
42 {'X': 'Transition', 'XN': 'String'}])], |
|
43 None, None, |
33 None, None, |
44 [self.system], None, [])]) |
34 [self.system], None, [])]) |
45 |
35 |
46 def test_groupeded_ambigous_sol(self): |
36 def test_groupeded_ambigous_sol(self): |
47 self._test('Any XN,COUNT(X) GROUPBY XN WHERE X name XN', |
37 self._test('Any XN,COUNT(X) GROUPBY XN WHERE X name XN, X is IN (Basket, File, Folder)', |
48 [('OneFetchStep', [('Any XN,COUNT(X) GROUPBY XN WHERE X name XN', |
38 [('OneFetchStep', [('Any XN,COUNT(X) GROUPBY XN WHERE X name XN, X is IN(Basket, File, Folder)', |
49 [{'X': 'Basket', 'XN': 'String'}, |
39 [{'X': 'Basket', 'XN': 'String'}, |
50 {'X': 'CWCache', 'XN': 'String'}, |
|
51 {'X': 'CWConstraintType', 'XN': 'String'}, |
|
52 {'X': 'CWEType', 'XN': 'String'}, |
|
53 {'X': 'CWGroup', 'XN': 'String'}, |
|
54 {'X': 'CWPermission', 'XN': 'String'}, |
|
55 {'X': 'CWRType', 'XN': 'String'}, |
|
56 {'X': 'File', 'XN': 'String'}, |
40 {'X': 'File', 'XN': 'String'}, |
57 {'X': 'Folder', 'XN': 'String'}, |
41 {'X': 'Folder', 'XN': 'String'}])], |
58 {'X': 'Image', 'XN': 'String'}, |
|
59 {'X': 'State', 'XN': 'String'}, |
|
60 {'X': 'Tag', u'XN': 'String'}, |
|
61 {'X': 'Transition', 'XN': 'String'}])], |
|
62 None, None, |
42 None, None, |
63 [self.system], None, [])]) |
43 [self.system], None, [])]) |
64 |
44 |
65 if __name__ == '__main__': |
45 if __name__ == '__main__': |
66 from logilab.common.testlib import unittest_main |
46 from logilab.common.testlib import unittest_main |