parts/django/tests/modeltests/reserved_names/tests.py
changeset 307 c6bca38c1cbf
equal deleted inserted replaced
306:5ff1fc726848 307:c6bca38c1cbf
       
     1 import datetime
       
     2 
       
     3 from django.test import TestCase
       
     4 
       
     5 from models import Thing
       
     6 
       
     7 class ReservedNameTests(TestCase):
       
     8     def generate(self):
       
     9         day1 = datetime.date(2005, 1, 1)
       
    10         t = Thing.objects.create(when='a', join='b', like='c', drop='d',
       
    11             alter='e', having='f', where=day1, has_hyphen='h')
       
    12         day2 = datetime.date(2006, 2, 2)
       
    13         u = Thing.objects.create(when='h', join='i', like='j', drop='k',
       
    14             alter='l', having='m', where=day2)
       
    15 
       
    16     def test_simple(self):
       
    17         day1 = datetime.date(2005, 1, 1)
       
    18         t = Thing.objects.create(when='a', join='b', like='c', drop='d',
       
    19             alter='e', having='f', where=day1, has_hyphen='h')
       
    20         self.assertEqual(t.when, 'a')
       
    21 
       
    22         day2 = datetime.date(2006, 2, 2)
       
    23         u = Thing.objects.create(when='h', join='i', like='j', drop='k',
       
    24             alter='l', having='m', where=day2)
       
    25         self.assertEqual(u.when, 'h')
       
    26 
       
    27     def test_order_by(self):
       
    28         self.generate()
       
    29         things = [t.when for t in Thing.objects.order_by('when')]
       
    30         self.assertEqual(things, ['a', 'h'])
       
    31 
       
    32     def test_fields(self):
       
    33         self.generate()
       
    34         v = Thing.objects.get(pk='a')
       
    35         self.assertEqual(v.join, 'b')
       
    36         self.assertEqual(v.where, datetime.date(year=2005, month=1, day=1))
       
    37 
       
    38     def test_dates(self):
       
    39         self.generate()
       
    40         resp = Thing.objects.dates('where', 'year')
       
    41         self.assertEqual(list(resp), [
       
    42             datetime.datetime(2005, 1, 1, 0, 0),
       
    43             datetime.datetime(2006, 1, 1, 0, 0),
       
    44         ])
       
    45 
       
    46     def test_month_filter(self):
       
    47         self.generate()
       
    48         self.assertEqual(Thing.objects.filter(where__month=1)[0].when, 'a')