]> gitweb @ CieloNegro.org - time-w3c.git/blobdiff - tests/ConversionTest.hs
more tests
[time-w3c.git] / tests / ConversionTest.hs
diff --git a/tests/ConversionTest.hs b/tests/ConversionTest.hs
new file mode 100644 (file)
index 0000000..05cf179
--- /dev/null
@@ -0,0 +1,45 @@
+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)
+           ]