Author: russellm
Date: 2010-09-28 03:17:36 -0500 (Tue, 28 Sep 2010)
New Revision: 13934

Added:
   django/trunk/tests/regressiontests/null_fk/tests.py
Modified:
   django/trunk/tests/regressiontests/null_fk/models.py
Log:
Migrated null_fk doctests. Thanks to Stephan Jaekel.

Modified: django/trunk/tests/regressiontests/null_fk/models.py
===================================================================
--- django/trunk/tests/regressiontests/null_fk/models.py        2010-09-28 
08:17:12 UTC (rev 13933)
+++ django/trunk/tests/regressiontests/null_fk/models.py        2010-09-28 
08:17:36 UTC (rev 13934)
@@ -31,37 +31,3 @@
 
     def __unicode__(self):
         return self.comment_text
-
-__test__ = {'API_TESTS':"""
-
->>> d = SystemDetails.objects.create(details='First details')
->>> s = SystemInfo.objects.create(system_name='First forum', system_details=d)
->>> f = Forum.objects.create(system_info=s, forum_name='First forum')
->>> p = Post.objects.create(forum=f, title='First Post')
->>> c1 = Comment.objects.create(post=p, comment_text='My first comment')
->>> c2 = Comment.objects.create(comment_text='My second comment')
-
-# Starting from comment, make sure that a .select_related(...) with a specified
-# set of fields will properly LEFT JOIN multiple levels of NULLs (and the 
things
-# that come after the NULLs, or else data that should exist won't). Regression
-# test for #7369.
->>> c = Comment.objects.select_related().get(id=1)
->>> c.post
-<Post: First Post>
->>> c = Comment.objects.select_related().get(id=2)
->>> print c.post
-None
-
->>> comments = Comment.objects.select_related('post__forum__system_info').all()
->>> [(c.id, c.comment_text, c.post) for c in comments]
-[(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)]
-
-# Regression test for #7530, #7716.
->>> Comment.objects.select_related('post').filter(post__isnull=True)[0].post 
is None
-True
-
->>> comments = 
Comment.objects.select_related('post__forum__system_info__system_details')
->>> [(c.id, c.comment_text, c.post) for c in comments]
-[(1, u'My first comment', <Post: First Post>), (2, u'My second comment', None)]
-
-"""}

Added: django/trunk/tests/regressiontests/null_fk/tests.py
===================================================================
--- django/trunk/tests/regressiontests/null_fk/tests.py                         
(rev 0)
+++ django/trunk/tests/regressiontests/null_fk/tests.py 2010-09-28 08:17:36 UTC 
(rev 13934)
@@ -0,0 +1,42 @@
+from django.test import TestCase
+
+from regressiontests.null_fk.models import *
+
+class NullFkTests(TestCase):
+
+    def test_null_fk(self):
+        d = SystemDetails.objects.create(details='First details')
+        s = SystemInfo.objects.create(system_name='First forum', 
system_details=d)
+        f = Forum.objects.create(system_info=s, forum_name='First forum')
+        p = Post.objects.create(forum=f, title='First Post')
+        c1 = Comment.objects.create(post=p, comment_text='My first comment')
+        c2 = Comment.objects.create(comment_text='My second comment')
+
+        # Starting from comment, make sure that a .select_related(...) with a 
specified
+        # set of fields will properly LEFT JOIN multiple levels of NULLs (and 
the things
+        # that come after the NULLs, or else data that should exist won't). 
Regression
+        # test for #7369.
+        c = Comment.objects.select_related().get(id=1)
+        self.assertEquals(c.post, p)
+        self.assertEquals(Comment.objects.select_related().get(id=2).post, 
None)
+
+        self.assertQuerysetEqual(
+            Comment.objects.select_related('post__forum__system_info').all(),
+            [
+                (1, u'My first comment', '<Post: First Post>'),
+                (2, u'My second comment', 'None')
+            ],
+            transform = lambda c: (c.id, c.comment_text, repr(c.post))
+        )
+
+        # Regression test for #7530, #7716.
+        
self.assertTrue(Comment.objects.select_related('post').filter(post__isnull=True)[0].post
 is None)
+
+        self.assertQuerysetEqual(
+            
Comment.objects.select_related('post__forum__system_info__system_details'),
+            [
+                (1, u'My first comment', '<Post: First Post>'),
+                (2, u'My second comment', 'None')
+            ],
+            transform = lambda c: (c.id, c.comment_text, repr(c.post))
+        )

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to