Start playing with unit tests.
This commit is contained in:
parent
8403dd5987
commit
7a64119843
@ -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')
|
||||
|
28
tests/sugar/runall.py
Normal file
28
tests/sugar/runall.py
Normal file
@ -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)
|
30
tests/sugar/test_date.py
Normal file
30
tests/sugar/test_date.py
Normal file
@ -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()
|
Loading…
Reference in New Issue
Block a user