Commit 574ee827 authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

[1.2.X] Migrated custom_methods doctests. Thanks to Alex Gaynor.

Backport of r13775 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13792 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent e41d1b76
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -33,27 +33,4 @@ class Article(models.Model):
            WHERE pub_date = %s
                AND id != %s""", [connection.ops.value_to_db_date(self.pub_date),
                                  self.id])
        # The asterisk in "(*row)" tells Python to expand the list into
        # positional arguments to Article().
        return [self.__class__(*row) for row in cursor.fetchall()]

__test__ = {'API_TESTS':"""
# Create a couple of Articles.
>>> from datetime import date
>>> a = Article(id=None, headline='Area man programs in Python', pub_date=date(2005, 7, 27))
>>> a.save()
>>> b = Article(id=None, headline='Beatles reunite', pub_date=date(2005, 7, 27))
>>> b.save()

# Test the custom methods.
>>> a.was_published_today()
False
>>> a.articles_from_same_day_1()
[<Article: Beatles reunite>]
>>> a.articles_from_same_day_2()
[<Article: Beatles reunite>]
>>> b.articles_from_same_day_1()
[<Article: Area man programs in Python>]
>>> b.articles_from_same_day_2()
[<Article: Area man programs in Python>]
"""}
+42 −0
Original line number Diff line number Diff line
from datetime import date

from django.test import TestCase

from models import Article


class MethodsTests(TestCase):
    def test_custom_methods(self):
        a = Article.objects.create(
            headline="Area man programs in Python", pub_date=date(2005, 7, 27)
        )
        b = Article.objects.create(
            headline="Beatles reunite", pub_date=date(2005, 7, 27)
        )

        self.assertFalse(a.was_published_today())
        self.assertQuerysetEqual(
            a.articles_from_same_day_1(), [
                "Beatles reunite",
            ],
            lambda a: a.headline,
        )
        self.assertQuerysetEqual(
            a.articles_from_same_day_2(), [
                "Beatles reunite",
            ],
            lambda a: a.headline
        )

        self.assertQuerysetEqual(
            b.articles_from_same_day_1(), [
                "Area man programs in Python",
            ],
            lambda a: a.headline,
        )
        self.assertQuerysetEqual(
            b.articles_from_same_day_2(), [
                "Area man programs in Python",
            ],
            lambda a: a.headline
        )