--- /dev/null
+module ConversionTest
+ ( testData
+ )
+ where
+
+import Data.Convertible
+import Data.Time
+import Data.Time.W3C
+import Test.HUnit
+
+
+instance Eq ZonedTime where
+ a == b
+ = zonedTimeToUTC a == zonedTimeToUTC b
+
+
+testData :: [Test]
+testData = [ convert (W3CDateTime 2010 (Just 1) (Just 2) Nothing Nothing Nothing Nothing)
+ ~?=
+ fromGregorian 2010 1 2
+
+ , convert (W3CDateTime 2010 (Just 1) (Just 2) (Just 3) (Just 4) (Just 5.666666) (Just utc))
+ ~?=
+ ZonedTime {
+ zonedTimeToLocalTime = let day = fromGregorian 2010 1 2
+ tod = TimeOfDay 3 4 5.666666
+ in
+ LocalTime day tod
+ , zonedTimeZone = utc
+ }
+
+ , convert (fromGregorian 2010 1 2)
+ ~?=
+ W3CDateTime 2010 (Just 1) (Just 2) Nothing Nothing Nothing Nothing
+
+ , convert ZonedTime {
+ zonedTimeToLocalTime = let day = fromGregorian 2010 1 2
+ tod = TimeOfDay 3 4 5.666666
+ in
+ LocalTime day tod
+ , zonedTimeZone = utc
+ }
+ ~?=
+ W3CDateTime 2010 (Just 1) (Just 2) (Just 3) (Just 4) (Just 5.666666) (Just utc)
+ ]