packages feed

units-parser 0.1.1.2 → 0.1.1.3

raw patch · 2 files changed

+32/−18 lines, 2 files

Files

Tests/Parser.hs view
@@ -2,7 +2,7 @@    Copyright (c) 2014 Richard Eisenberg -} -{-# LANGUAGE TemplateHaskell, TypeOperators #-}+{-# LANGUAGE TemplateHaskell, TypeOperators, CPP #-}  module Tests.Parser where @@ -149,7 +149,7 @@  data Succ a data Z = Zero-  + sPred, sSucc, sZero :: () sPred = () sSucc = ()@@ -236,27 +236,41 @@     Left _    -> "error"     Right exp -> pprintUnqualified exp +op :: String -> String+#if __GLASGOW_HASKELL__ > 802+op s = "(" ++ s ++ ")"+#else+op = id+#endif++opm, opd, ope, opa :: String+opm = op ":*"+opd = op ":/"+ope = op ":^"+opa = op ":@"+ parseTestCasesT :: [(String, String)] parseTestCasesT =   [ ("m", "Meter")   , ("s", "Second")-  , ("ms", ":@ Milli Second")-  , ("mm", ":@ Milli Meter")+  , ("ms", opa ++ " Milli Second")+  , ("mm", opa ++ " Milli Meter")   , ("mmm", "error")-  , ("km", ":@ Kilo Meter")-  , ("m s", ":* Meter Second")-  , ("m/s", ":/ Meter Second")-  , ("m/s^2", ":/ Meter (:^ Second (Succ (Succ Zero)))")-  , ("s/m m", ":/ Second (:* Meter Meter)")-  , ("s s/m m", ":/ (:* Second Second) (:* Meter Meter)")-  , ("s*s/m*m", ":* (:/ (:* Second Second) Meter) Meter")-  , ("s*s/(m*m)", ":/ (:* Second Second) (:* Meter Meter)")-  , ("m^-1", ":^ Meter (Pred Zero)")-  , ("m^(-1)", ":^ Meter (Pred Zero)")-  , ("m^(-(1))", ":^ Meter (Pred Zero)")+  , ("km", opa ++ " Kilo Meter")+  , ("m s", opm ++ " Meter Second")+  , ("m/s", opd ++ " Meter Second")+  , ("m/s^2", opd ++ " Meter (" ++ ope ++ " Second (Succ (Succ Zero)))")+  , ("s/m m", opd ++ " Second (" ++ opm ++ " Meter Meter)")+  , ("s s/m m", opd ++ " (" ++ opm ++ " Second Second) (" ++ opm ++ " Meter Meter)")+  , ("s*s/m*m", opm ++ " (" ++ opd ++ " (" ++ opm ++ " Second Second) Meter) Meter")+  , ("s*s/(m*m)", opd ++ " (" ++ opm ++ " Second Second) (" ++ opm ++ " Meter Meter)")+  , ("m^-1", ope ++ " Meter (Pred Zero)")+  , ("m^(-1)", ope ++ " Meter (Pred Zero)")+  , ("m^(-(1))", ope ++ " Meter (Pred Zero)")   , ("1", "Number")-  , ("1/s", ":/ Number Second")-  , ("m 1 m", ":* (:* Meter Number) Meter")+  , ("1/s", opd ++ " Number Second")+  , ("1/s", opd ++ " Number Second")+  , ("m 1 m", opm ++ " (" ++ opm ++ " Meter Number) Meter")   , ("  ", "Number")   , ("", "Number")   ]
units-parser.cabal view
@@ -1,5 +1,5 @@ name:           units-parser-version:        0.1.1.2+version:        0.1.1.3 cabal-version:  >= 1.10 synopsis:       A parser for units of measure category:       Text