renamed to django-tables2
[django-tables2.git] / tests / utils.py
1 # -*- coding: utf8 -*-
2 from django_tables2.utils import OrderByTuple, OrderBy, Accessor
3 from attest import Tests, Assert
4
5
6 utils = Tests()
7
8
9 @utils.test
10 def orderbytuple():
11     obt = OrderByTuple('abc')
12     Assert(obt) == (OrderBy('a'), OrderBy('b'), OrderBy('c'))
13     Assert(obt[0]) == OrderBy('a')
14     Assert(obt['b']) == OrderBy('b')
15     with Assert.raises(IndexError) as error:
16         obt['d']
17     with Assert.raises(TypeError) as error:
18         obt[('tuple', )]
19
20
21 @utils.test
22 def orderby():
23     a = OrderBy('a')
24     Assert('a') == a
25     Assert('a') == a.bare
26     Assert('-a') == a.opposite
27     Assert(True) == a.is_ascending
28     Assert(False) == a.is_descending
29
30     b = OrderBy('-b')
31     Assert('-b') == b
32     Assert('b') == b.bare
33     Assert('b') == b.opposite
34     Assert(True) == b.is_descending
35     Assert(False) == b.is_ascending
36
37
38 @utils.test
39 def accessor():
40     x = Accessor('0')
41     Assert('B') == x.resolve('Brad')
42     
43     x = Accessor('1')
44     Assert('r') == x.resolve('Brad')
45
46     x = Accessor('2.upper')
47     Assert('A') == x.resolve('Brad')
48
49     x = Accessor('2.upper.__len__')
50     Assert(1) == x.resolve('Brad')