[CalendarServer-changes] [5182] CalendarServer/trunk/twext/python/test/test_datetime.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 22 15:56:15 PST 2010


Revision: 5182
          http://trac.macosforge.org/projects/calendarserver/changeset/5182
Author:   wsanchez at apple.com
Date:     2010-02-22 15:56:15 -0800 (Mon, 22 Feb 2010)
Log Message:
-----------
Add twext.python.datetime tests

Added Paths:
-----------
    CalendarServer/trunk/twext/python/test/test_datetime.py

Added: CalendarServer/trunk/twext/python/test/test_datetime.py
===================================================================
--- CalendarServer/trunk/twext/python/test/test_datetime.py	                        (rev 0)
+++ CalendarServer/trunk/twext/python/test/test_datetime.py	2010-02-22 23:56:15 UTC (rev 5182)
@@ -0,0 +1,146 @@
+##
+# Copyright (c) 2006-2010 Apple Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##
+
+from datetime import date, datetime, timedelta
+
+from twext.python.datetime import dateordatetime, timerange, utc
+
+from twistedcaldav.test.util import TestCase, testUnimplemented
+
+
+class DateTimeTests(TestCase):
+    def test_date_date(self):
+        d = date.today()
+        dodt = dateordatetime(d)
+        self.assertEquals(dodt.date(), d)
+
+    def test_date_date_tz(self):
+        d = date.today()
+        dodt = dateordatetime(d, defaultTZ=utc)
+        self.assertEquals(dodt.date(), d)
+
+    def test_date_datetime(self):
+        d = date.today()
+        dodt = dateordatetime(d)
+        self.assertEquals(dodt.datetime(), datetime(d.year, d.month, d.day))
+
+    def test_date_datetime_tz(self):
+        d = date.today()
+        dodt = dateordatetime(d, defaultTZ=utc)
+        self.assertEquals(dodt.datetime(), datetime(d.year, d.month, d.day, tzinfo=utc))
+
+    def test_datetime_date(self):
+        dt = datetime.now()
+        dodt = dateordatetime(dt)
+        self.assertEquals(dodt.date(), dt.date())
+
+    def test_datetime_datetime(self):
+        dt = datetime.now()
+        dodt = dateordatetime(dt)
+        self.assertEquals(dodt.datetime(), dt)
+
+    def test_datetime_datetime_tz(self):
+        dt = datetime.now()
+        dodt = dateordatetime(dt, defaultTZ=utc)
+        self.assertEquals(dodt.datetime(), dt)
+
+    def test_date_iCalendarString(self):
+        d = date(2010, 2, 22)
+        dodt = dateordatetime(d)
+        self.assertEquals(dodt.iCalendarString(), "20100222")
+
+    def test_datetime_iCalendarString(self):
+        dt = datetime(2010, 2, 22, 17, 44, 42, 98303)
+        dodt = dateordatetime(dt)
+        self.assertEquals(dodt.iCalendarString(), "20100222T174442")
+
+    def test_datetime_iCalendarString_utc(self):
+        dt = datetime(2010, 2, 22, 17, 44, 42, 98303, tzinfo=utc)
+        dodt = dateordatetime(dt)
+        self.assertEquals(dodt.iCalendarString(), "20100222T174442Z")
+
+    @testUnimplemented
+    def test_datetime_iCalendarString_tz(self):
+        # Need to test a non-UTC timezone also
+        raise NotImplementedError()
+
+    @testUnimplemented
+    def test_asTimeZone(self):
+        raise NotImplementedError()
+
+    @testUnimplemented
+    def test_asUTC(self):
+        raise NotImplementedError()
+
+class TimeRangeTests(TestCase):
+    def test_start(self):
+        start = datetime.now()
+        tr = timerange(start=start)
+        self.assertEquals(tr.start(), start)
+
+    def test_start_none(self):
+        tr = timerange()
+        self.assertEquals(tr.start(), None)
+
+    def test_end(self):
+        end = datetime.now()
+        tr = timerange(end=end)
+        self.assertEquals(tr.end(), end)
+
+    def test_end_none(self):
+        tr = timerange()
+        self.assertEquals(tr.end(), None)
+
+    def test_end_none_duration(self):
+        duration = timedelta(seconds=8)
+        tr = timerange(duration=duration)
+        self.assertEquals(tr.end(), None)
+
+    def test_end_none_duration_start(self):
+        start = datetime.now()
+        duration = timedelta(seconds=8)
+        tr = timerange(start=start, duration=duration)
+        self.assertEquals(tr.end(), start + duration)
+
+    def test_duration(self):
+        duration = timedelta(seconds=8)
+        tr = timerange(duration=duration)
+        self.assertEquals(tr.duration(), duration)
+
+    def test_duration_none(self):
+        tr = timerange()
+        self.assertEquals(tr.duration(), None)
+
+    def test_duration_none_end(self):
+        end = datetime.now()
+        tr = timerange(end=end)
+        self.assertEquals(tr.duration(), None)
+
+    def test_duration_none_start_end(self):
+        start = datetime.now()
+        duration = timedelta(seconds=8)
+        end = start + duration
+        tr = timerange(start=start, end=end)
+        self.assertEquals(tr.duration(), duration)
+
+    @testUnimplemented
+    def test_overlapsWith(self):
+        # Need a few tests; combinations of:
+        #  - start/end are None
+        #  - overlapping and not
+        #  - dates and datetimes
+        #  - timezones
+        raise NotImplementedError()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100222/52cb0120/attachment.html>


More information about the calendarserver-changes mailing list