Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-08-18 22:24:51 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-08-18 22:24:51 (GMT)
commit7a641198433762c83a84e9464f103e33e38f8fa9 (patch)
treeaf536435306a997756a34fdbde26ee28ffc83ae5
parent8403dd598769978c5f6e1583190356f41b1696d8 (diff)
Start playing with unit tests.
-rw-r--r--sugar/date.py14
-rw-r--r--tests/sugar/runall.py28
-rw-r--r--tests/sugar/test_date.py30
3 files changed, 65 insertions, 7 deletions
diff --git a/sugar/date.py b/sugar/date.py
index 3b68818..3f4dcc2 100644
--- a/sugar/date.py
+++ b/sugar/date.py
@@ -21,12 +21,13 @@ import datetime
class Date(object):
"""Date-object storing a simple time.time() float
-
- XXX not sure about the rationale for this class,
- possibly it makes transfer over dbus easier?
+
+ Useful to display dates in the UI in an
+ abbreviated and easy to read format.
"""
def __init__(self, timestamp):
"""Initialise via a timestamp (floating point value)"""
+ self._today = datetime.date.today()
self._timestamp = timestamp
def __str__(self):
@@ -39,14 +40,13 @@ class Date(object):
the year in the date.
"""
date = datetime.date.fromtimestamp(self._timestamp)
- today = datetime.date.today()
# FIXME localization
- if date == today:
+ if date == self._today:
result = 'Today'
- elif date == today - datetime.timedelta(1):
+ elif date == self._today - datetime.timedelta(1):
result = 'Yesterday'
- elif date.year == today.year:
+ elif date.year == self._today.year:
result = date.strftime('%B %d')
else:
result = date.strftime('%B %d, %Y')
diff --git a/tests/sugar/runall.py b/tests/sugar/runall.py
new file mode 100644
index 0000000..ff672be
--- /dev/null
+++ b/tests/sugar/runall.py
@@ -0,0 +1,28 @@
+# Copyright (C) 2007, Red Hat, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+import unittest
+
+import test_date
+
+runner = unittest.TextTestRunner()
+loader = unittest.TestLoader()
+
+suite = unittest.TestSuite()
+suite.addTest(loader.loadTestsFromModule(test_date))
+
+runner.run(suite)
diff --git a/tests/sugar/test_date.py b/tests/sugar/test_date.py
new file mode 100644
index 0000000..c6da871
--- /dev/null
+++ b/tests/sugar/test_date.py
@@ -0,0 +1,30 @@
+# Copyright (C) 2007, Red Hat, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+import datetime
+import unittest
+
+from sugar.date import Date
+
+class TestDate(unittest.TestCase):
+ def test_today(self):
+ date = Date(datetime.date(2000, 1, 1))
+ date._today = datetime.date(2000, 1, 1)
+ self.assertEqual(str(date), 'Today')
+
+if __name__ == "__main__":
+ unittest.main()