Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[soc2010/test-refactor] Updated field_defaults modeltest to unittest

  • Loading branch information...
commit 6f851bca15880e7aaa115edd54fe19771445d30d 1 parent dc2fd96
@PaulMcMillan PaulMcMillan authored
View
38 tests/modeltests/field_defaults/models.py
@@ -19,41 +19,3 @@ class Article(models.Model):
def __unicode__(self):
return self.headline
-
-__test__ = {'API_TESTS': u"""
->>> from datetime import datetime
-
-# No articles are in the system yet.
->>> Article.objects.all()
-[]
-
-# Create an Article.
->>> a = Article(id=None)
-
-# Grab the current datetime it should be very close to the default that just
-# got saved as a.pub_date
->>> now = datetime.now()
-
-# Save it into the database. You have to call save() explicitly.
->>> a.save()
-
-# Now it has an ID. Note it's a long integer, as designated by the trailing "L".
->>> a.id
-1L
-
-# Access database columns via Python attributes.
->>> a.headline
-u'Default headline'
-
-# make sure the two dates are sufficiently close
->>> d = now - a.pub_date
->>> d.seconds < 5
-True
-
-# make sure that SafeString/SafeUnicode fields work
->>> from django.utils.safestring import SafeUnicode, SafeString
->>> a.headline = SafeUnicode(u'Iñtërnâtiônàlizætiøn1')
->>> a.save()
->>> a.headline = SafeString(u'Iñtërnâtiônàlizætiøn1'.encode('utf-8'))
->>> a.save()
-"""}
View
40 tests/modeltests/field_defaults/tests.py
@@ -0,0 +1,40 @@
+# coding: utf-8
+from datetime import datetime
+
+from django.test import TestCase
+from django.utils.safestring import SafeUnicode, SafeString
+
+from models import Article
+
+class FieldDefaultsTestCase(TestCase):
+ def test_article_defaults(self):
+ # No articles are in the system yet.
+ self.assertEqual(len(Article.objects.all()), 0)
+
+ # Create an Article.
+ a = Article(id=None)
+
+ # Grab the current datetime it should be very close to the
+ # default that just got saved as a.pub_date
+ now = datetime.now()
+
+ # Save it into the database. You have to call save() explicitly.
+ a.save()
+
+ # Now it has an ID. Note it's a long integer, as designated by
+ # the trailing "L".
+ self.assertEqual(a.id, 1L)
+
+ # Access database columns via Python attributes.
+ self.assertEqual(a.headline, u'Default headline')
+
+ # make sure the two dates are sufficiently close
+ #fixme, use the new unittest2 function
+ d = now - a.pub_date
+ self.assertTrue(d.seconds < 5)
+
+ # make sure that SafeString/SafeUnicode fields work
+ a.headline = SafeUnicode(u'Iñtërnâtiônàlizætiøn1')
+ a.save()
+ a.headline = SafeString(u'Iñtërnâtiônàlizætiøn1'.encode('utf-8'))
+ a.save()
Please sign in to comment.
Something went wrong with that request. Please try again.