lawful-conversions 0.1.3 → 0.1.4
raw patch · 13 files changed
+237/−102 lines, 13 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- lawful-conversions.cabal +6/−1
- src/library/LawfulConversions/Relations.hs +10/−0
- src/library/LawfulConversions/Relations/DayAndLazyText.hs +15/−0
- src/library/LawfulConversions/Relations/DayAndLazyTextBuilder.hs +15/−0
- src/library/LawfulConversions/Relations/DayAndStrictTextBuilder.hs +36/−0
- src/library/LawfulConversions/Relations/DayAndString.hs +13/−0
- src/library/LawfulConversions/Relations/DayAndText.hs +14/−0
- src/library/LawfulConversions/Relations/LazyTextAndUtcTime.hs +1/−0
- src/library/LawfulConversions/Relations/LazyTextBuilderAndUtcTime.hs +1/−0
- src/library/LawfulConversions/Relations/StrictTextBuilderAndUtcTime.hs +2/−0
- src/library/LawfulConversions/Relations/StringAndUtcTime.hs +1/−0
- src/library/LawfulConversions/Relations/TextAndUtcTime.hs +1/−0
- src/test/Main.hs +122/−101
lawful-conversions.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: lawful-conversions-version: 0.1.3+version: 0.1.4 synopsis: Lawful typeclasses for bidirectional conversion between types category: Conversion homepage: https://github.com/nikita-volkov/lawful-conversions@@ -101,6 +101,11 @@ LawfulConversions.Relations.ByteStringAndText LawfulConversions.Relations.ByteStringAndTextArray LawfulConversions.Relations.ByteStringAndWord8List+ LawfulConversions.Relations.DayAndLazyText+ LawfulConversions.Relations.DayAndLazyTextBuilder+ LawfulConversions.Relations.DayAndStrictTextBuilder+ LawfulConversions.Relations.DayAndString+ LawfulConversions.Relations.DayAndText LawfulConversions.Relations.Int16AndWord16 LawfulConversions.Relations.Int32AndWord32 LawfulConversions.Relations.Int64AndWord64
src/library/LawfulConversions/Relations.hs view
@@ -14,6 +14,11 @@ import LawfulConversions.Relations.ByteStringAndText () import LawfulConversions.Relations.ByteStringAndTextArray () import LawfulConversions.Relations.ByteStringAndWord8List ()+import LawfulConversions.Relations.DayAndLazyText ()+import LawfulConversions.Relations.DayAndLazyTextBuilder ()+import LawfulConversions.Relations.DayAndStrictTextBuilder ()+import LawfulConversions.Relations.DayAndString ()+import LawfulConversions.Relations.DayAndText () import LawfulConversions.Relations.Int16AndWord16 () import LawfulConversions.Relations.Int32AndWord32 () import LawfulConversions.Relations.Int64AndWord64 ()@@ -33,18 +38,23 @@ import LawfulConversions.Relations.LazyTextAndStrictTextBuilder () import LawfulConversions.Relations.LazyTextAndString () import LawfulConversions.Relations.LazyTextAndText ()+import LawfulConversions.Relations.LazyTextAndUtcTime () import LawfulConversions.Relations.LazyTextAndUuid () import LawfulConversions.Relations.LazyTextBuilderAndStrictTextBuilder () import LawfulConversions.Relations.LazyTextBuilderAndString () import LawfulConversions.Relations.LazyTextBuilderAndText ()+import LawfulConversions.Relations.LazyTextBuilderAndUtcTime () import LawfulConversions.Relations.LazyTextBuilderAndUuid () import LawfulConversions.Relations.ListAndSeq () import LawfulConversions.Relations.ShortByteStringAndTextArray () import LawfulConversions.Relations.ShortByteStringAndWord8List () import LawfulConversions.Relations.StrictTextBuilderAndString () import LawfulConversions.Relations.StrictTextBuilderAndText ()+import LawfulConversions.Relations.StrictTextBuilderAndUtcTime () import LawfulConversions.Relations.StrictTextBuilderAndUuid () import LawfulConversions.Relations.StringAndText ()+import LawfulConversions.Relations.StringAndUtcTime () import LawfulConversions.Relations.StringAndUuid ()+import LawfulConversions.Relations.TextAndUtcTime () import LawfulConversions.Relations.TextAndUuid () import LawfulConversions.Relations.TextArrayAndWord8List ()
+ src/library/LawfulConversions/Relations/DayAndLazyText.hs view
@@ -0,0 +1,15 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.DayAndLazyText where++import qualified Data.Text.Lazy+import Data.Time+import LawfulConversions.Classes+import LawfulConversions.Prelude+import LawfulConversions.Relations.DayAndString ()+import LawfulConversions.Relations.LazyTextAndString ()++-- | Implements ISO-8601.+instance IsSome Data.Text.Lazy.Text Day where+ to = fromString . to+ maybeFrom = maybeFrom @String . to
+ src/library/LawfulConversions/Relations/DayAndLazyTextBuilder.hs view
@@ -0,0 +1,15 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.DayAndLazyTextBuilder where++import qualified Data.Text.Lazy.Builder+import Data.Time+import LawfulConversions.Classes+import LawfulConversions.Prelude+import LawfulConversions.Relations.DayAndString ()+import LawfulConversions.Relations.LazyTextBuilderAndString ()++-- | Implements ISO-8601.+instance IsSome Data.Text.Lazy.Builder.Builder Day where+ to = fromString . to+ maybeFrom = maybeFrom @String . to
+ src/library/LawfulConversions/Relations/DayAndStrictTextBuilder.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.DayAndStrictTextBuilder where++#if MIN_VERSION_text(2,1,2)++import qualified Data.Text.Encoding+import Data.Time+import LawfulConversions.Classes+import LawfulConversions.Prelude+import LawfulConversions.Relations.StrictTextBuilderAndString ()+import LawfulConversions.Relations.StringAndText ()+import LawfulConversions.Relations.DayAndString ()++-- | Implements ISO-8601.+instance IsSome Data.Text.Encoding.StrictTextBuilder Day where+ to = from . to @String+ maybeFrom = maybeFrom @String . to++#elif MIN_VERSION_text(2,0,2)++import qualified Data.Text.Encoding+import Data.Time+import LawfulConversions.Classes+import LawfulConversions.Prelude+import LawfulConversions.Relations.StrictTextBuilderAndString ()+import LawfulConversions.Relations.StringAndText ()+import LawfulConversions.Relations.DayAndString ()++-- | Implements ISO-8601.+instance IsSome Data.Text.Encoding.StrictBuilder Day where+ to = from . to @String+ maybeFrom = maybeFrom @String . to++#endif
+ src/library/LawfulConversions/Relations/DayAndString.hs view
@@ -0,0 +1,13 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.DayAndString where++import Data.Time+import Data.Time.Format.ISO8601+import LawfulConversions.Classes+import LawfulConversions.Prelude++-- | Implements ISO-8601.+instance IsSome String Day where+ to = iso8601Show+ maybeFrom = iso8601ParseM
+ src/library/LawfulConversions/Relations/DayAndText.hs view
@@ -0,0 +1,14 @@+{-# OPTIONS_GHC -Wno-orphans #-}++module LawfulConversions.Relations.DayAndText where++import Data.Time+import LawfulConversions.Classes+import LawfulConversions.Prelude+import LawfulConversions.Relations.DayAndString ()+import LawfulConversions.Relations.StringAndText ()++-- | Implements ISO-8601.+instance IsSome Text Day where+ to = fromString . to+ maybeFrom = maybeFrom @String . to
src/library/LawfulConversions/Relations/LazyTextAndUtcTime.hs view
@@ -9,6 +9,7 @@ import LawfulConversions.Relations.LazyTextAndString () import LawfulConversions.Relations.StringAndUtcTime () +-- | Implements ISO-8601. instance IsSome Data.Text.Lazy.Text UTCTime where to = fromString . to maybeFrom = maybeFrom @String . to
src/library/LawfulConversions/Relations/LazyTextBuilderAndUtcTime.hs view
@@ -9,6 +9,7 @@ import LawfulConversions.Relations.LazyTextBuilderAndString () import LawfulConversions.Relations.StringAndUtcTime () +-- | Implements ISO-8601. instance IsSome Data.Text.Lazy.Builder.Builder UTCTime where to = fromString . to maybeFrom = maybeFrom @String . to
src/library/LawfulConversions/Relations/StrictTextBuilderAndUtcTime.hs view
@@ -13,6 +13,7 @@ import LawfulConversions.Relations.StringAndText () import LawfulConversions.Relations.StringAndUtcTime () +-- | Implements ISO-8601. instance IsSome Data.Text.Encoding.StrictTextBuilder UTCTime where to = from . to @String maybeFrom = maybeFrom @String . to@@ -27,6 +28,7 @@ import LawfulConversions.Relations.StringAndText () import LawfulConversions.Relations.StringAndUtcTime () +-- | Implements ISO-8601. instance IsSome Data.Text.Encoding.StrictBuilder UTCTime where to = from . to @String maybeFrom = maybeFrom @String . to
src/library/LawfulConversions/Relations/StringAndUtcTime.hs view
@@ -7,6 +7,7 @@ import LawfulConversions.Classes import LawfulConversions.Prelude +-- | Implements ISO-8601. instance IsSome String UTCTime where to = iso8601Show maybeFrom = iso8601ParseM
src/library/LawfulConversions/Relations/TextAndUtcTime.hs view
@@ -8,6 +8,7 @@ import LawfulConversions.Relations.StringAndText () import LawfulConversions.Relations.StringAndUtcTime () +-- | Implements ISO-8601. instance IsSome Text UTCTime where to = fromString . to maybeFrom = maybeFrom @String . to
src/test/Main.hs view
@@ -1,11 +1,11 @@ module Main where -import qualified Data.ByteString.Builder as ByteStringBuilder-import qualified Data.ByteString.Lazy as ByteStringLazy-import qualified Data.ByteString.Short as ByteStringShort-import qualified Data.Primitive.ByteArray as PrimitiveByteArray-import qualified Data.Text.Lazy as TextLazy-import qualified Data.Text.Lazy.Builder as TextLazyBuilder+import qualified Data.ByteString.Builder as Data.ByteString.Builder+import qualified Data.ByteString.Lazy as Data.ByteString.Lazy+import qualified Data.ByteString.Short as Data.ByteString.Short+import qualified Data.Primitive.ByteArray as Data.Primitive.ByteArray+import qualified Data.Text.Lazy as Data.Text.Lazy+import qualified Data.Text.Lazy.Builder as Data.Text.Lazy.Builder import LawfulConversions import Rebase.Prelude import Test.ExtraInstances ()@@ -18,104 +18,125 @@ allTests :: TestTree allTests = testGroup "All" $- [ testPair @[Word8] @ByteString Proxy Proxy,- testPair @[Word8] @ByteStringLazy.ByteString Proxy Proxy,- testPair @[Word8] @ByteStringShort.ShortByteString Proxy Proxy,- testPair @[Word8] @ByteStringBuilder.Builder Proxy Proxy,- testPair @[Word8] @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @[Word8] @[Word8] Proxy Proxy,- testPair @[Word8] @(Vector Word8) Proxy Proxy,- testPair @[Word8] @(Seq Word8) Proxy Proxy,- testPair @Text @Text Proxy Proxy,- testPair @Text @TextLazy.Text Proxy Proxy,- testPair @Text @TextLazyBuilder.Builder Proxy Proxy,- testPair @TextLazy.Text @TextLazy.Text Proxy Proxy,- testPair @TextLazy.Text @Text Proxy Proxy,- testPair @TextLazy.Text @TextLazyBuilder.Builder Proxy Proxy,- testPair @TextLazyBuilder.Builder @TextLazyBuilder.Builder Proxy Proxy,- testPair @TextLazyBuilder.Builder @Text Proxy Proxy,- testPair @TextLazyBuilder.Builder @TextLazy.Text Proxy Proxy,- testPair @ByteString @ByteString Proxy Proxy,- testPair @ByteString @[Word8] Proxy Proxy,- testPair @ByteString @ByteStringLazy.ByteString Proxy Proxy,- testPair @ByteString @ByteStringShort.ShortByteString Proxy Proxy,- testPair @ByteString @ByteStringBuilder.Builder Proxy Proxy,- testPair @ByteString @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @ByteStringLazy.ByteString @ByteStringLazy.ByteString Proxy Proxy,- testPair @ByteStringLazy.ByteString @[Word8] Proxy Proxy,- testPair @ByteStringLazy.ByteString @ByteString Proxy Proxy,- testPair @ByteStringLazy.ByteString @ByteStringShort.ShortByteString Proxy Proxy,- testPair @ByteStringLazy.ByteString @ByteStringBuilder.Builder Proxy Proxy,- testPair @ByteStringLazy.ByteString @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @ByteStringShort.ShortByteString @ByteStringShort.ShortByteString Proxy Proxy,- testPair @ByteStringShort.ShortByteString @[Word8] Proxy Proxy,- testPair @ByteStringShort.ShortByteString @ByteString Proxy Proxy,- testPair @ByteStringShort.ShortByteString @ByteStringLazy.ByteString Proxy Proxy,- testPair @ByteStringShort.ShortByteString @ByteStringBuilder.Builder Proxy Proxy,- testPair @ByteStringShort.ShortByteString @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @ByteStringBuilder.Builder @ByteStringBuilder.Builder Proxy Proxy,- testPair @ByteStringBuilder.Builder @[Word8] Proxy Proxy,- testPair @ByteStringBuilder.Builder @ByteString Proxy Proxy,- testPair @ByteStringBuilder.Builder @ByteStringLazy.ByteString Proxy Proxy,- testPair @ByteStringBuilder.Builder @ByteStringShort.ShortByteString Proxy Proxy,- testPair @ByteStringBuilder.Builder @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @PrimitiveByteArray.ByteArray Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @[Word8] Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @ByteStringShort.ShortByteString Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @ByteString Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @ByteStringLazy.ByteString Proxy Proxy,- testPair @PrimitiveByteArray.ByteArray @ByteStringBuilder.Builder Proxy Proxy,- testPair @(Vector Word8) @(Vector Word8) Proxy Proxy,- testPair @(Vector Word8) @[Word8] Proxy Proxy,- testPair @(Vector Word8) @(Seq Word8) Proxy Proxy,- testPair @(Seq Word8) @(Seq Word8) Proxy Proxy,- testPair @(Seq Word8) @[Word8] Proxy Proxy,- testPair @(Seq Word8) @(Vector Word8) Proxy Proxy,- testPair @(Set Word8) @(Set Word8) Proxy Proxy,- testPair @(Set Int) @IntSet Proxy Proxy,- testPair @IntSet @IntSet Proxy Proxy,- testPair @IntSet @(Set Int) Proxy Proxy,- testPair @(Map Word8 Word8) @(Map Word8 Word8) Proxy Proxy,- testPair @(Map Int Word8) @(IntMap Word8) Proxy Proxy,- testPair @(IntMap Word8) @(IntMap Word8) Proxy Proxy,- testPair @(IntMap Word8) @(Map Int Word8) Proxy Proxy,- testPair @(Maybe Word8) @(Maybe Word8) Proxy Proxy,- testPair @(Either Word8 Word8) @(Either Word8 Word8) Proxy Proxy,- testPair @(First Word8) @(First Word8) Proxy Proxy,- testPair @(Last Word8) @(Last Word8) Proxy Proxy,- testPair @(Product Word8) @(Product Word8) Proxy Proxy,- testPair @(Sum Word8) @(Sum Word8) Proxy Proxy,- testPair @Bool @Bool Proxy Proxy,- testPair @Char @Char Proxy Proxy,- testPair @Double @Double Proxy Proxy,- testPair @Float @Float Proxy Proxy,- testPair @Int @Int Proxy Proxy,- testPair @Int @Word Proxy Proxy,- testPair @Int16 @Int16 Proxy Proxy,- testPair @Int16 @Word16 Proxy Proxy,- testPair @Int32 @Int32 Proxy Proxy,- testPair @Int32 @Word32 Proxy Proxy,- testPair @Int64 @Int64 Proxy Proxy,- testPair @Int64 @Word64 Proxy Proxy,- testPair @Int8 @Int8 Proxy Proxy,- testPair @Int8 @Word8 Proxy Proxy,- testPair @Integer @Integer Proxy Proxy,- testPair @Rational @Rational Proxy Proxy,- testPair @Word @Int Proxy Proxy,- testPair @Word @Word Proxy Proxy,- testPair @Word16 @Int16 Proxy Proxy,- testPair @Word16 @Word16 Proxy Proxy,- testPair @Word32 @Int32 Proxy Proxy,- testPair @Word32 @Word32 Proxy Proxy,- testPair @Word64 @Int64 Proxy Proxy,- testPair @Word64 @Word64 Proxy Proxy,- testPair @Word8 @Int8 Proxy Proxy,- testPair @Word8 @Word8 Proxy Proxy+ [ testIs @[Word8] @ByteString Proxy Proxy,+ testIs @[Word8] @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @[Word8] @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @[Word8] @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @[Word8] @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @[Word8] @[Word8] Proxy Proxy,+ testIs @[Word8] @(Vector Word8) Proxy Proxy,+ testIs @[Word8] @(Seq Word8) Proxy Proxy,+ testIs @Text @Text Proxy Proxy,+ testIs @Text @Data.Text.Lazy.Text Proxy Proxy,+ testIs @Text @Data.Text.Lazy.Builder.Builder Proxy Proxy,+ testIs @Data.Text.Lazy.Text @Data.Text.Lazy.Text Proxy Proxy,+ testIs @Data.Text.Lazy.Text @Text Proxy Proxy,+ testIs @Data.Text.Lazy.Text @Data.Text.Lazy.Builder.Builder Proxy Proxy,+ testIs @Data.Text.Lazy.Builder.Builder @Data.Text.Lazy.Builder.Builder Proxy Proxy,+ testIs @Data.Text.Lazy.Builder.Builder @Text Proxy Proxy,+ testIs @Data.Text.Lazy.Builder.Builder @Data.Text.Lazy.Text Proxy Proxy,+ testIs @ByteString @ByteString Proxy Proxy,+ testIs @ByteString @[Word8] Proxy Proxy,+ testIs @ByteString @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @ByteString @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @ByteString @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @ByteString @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @[Word8] Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @ByteString Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @Data.ByteString.Lazy.ByteString @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @[Word8] Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @ByteString Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @Data.ByteString.Short.ShortByteString @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @[Word8] Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @ByteString Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @Data.ByteString.Builder.Builder @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @Data.Primitive.ByteArray.ByteArray Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @[Word8] Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @Data.ByteString.Short.ShortByteString Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @ByteString Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @Data.ByteString.Lazy.ByteString Proxy Proxy,+ testIs @Data.Primitive.ByteArray.ByteArray @Data.ByteString.Builder.Builder Proxy Proxy,+ testIs @(Vector Word8) @(Vector Word8) Proxy Proxy,+ testIs @(Vector Word8) @[Word8] Proxy Proxy,+ testIs @(Vector Word8) @(Seq Word8) Proxy Proxy,+ testIs @(Seq Word8) @(Seq Word8) Proxy Proxy,+ testIs @(Seq Word8) @[Word8] Proxy Proxy,+ testIs @(Seq Word8) @(Vector Word8) Proxy Proxy,+ testIs @(Set Word8) @(Set Word8) Proxy Proxy,+ testIs @(Set Int) @IntSet Proxy Proxy,+ testIs @IntSet @IntSet Proxy Proxy,+ testIs @IntSet @(Set Int) Proxy Proxy,+ testIs @(Map Word8 Word8) @(Map Word8 Word8) Proxy Proxy,+ testIs @(Map Int Word8) @(IntMap Word8) Proxy Proxy,+ testIs @(IntMap Word8) @(IntMap Word8) Proxy Proxy,+ testIs @(IntMap Word8) @(Map Int Word8) Proxy Proxy,+ testIs @(Maybe Word8) @(Maybe Word8) Proxy Proxy,+ testIs @(Either Word8 Word8) @(Either Word8 Word8) Proxy Proxy,+ testIs @(First Word8) @(First Word8) Proxy Proxy,+ testIs @(Last Word8) @(Last Word8) Proxy Proxy,+ testIs @(Product Word8) @(Product Word8) Proxy Proxy,+ testIs @(Sum Word8) @(Sum Word8) Proxy Proxy,+ testIs @Bool @Bool Proxy Proxy,+ testIs @Char @Char Proxy Proxy,+ testIs @Double @Double Proxy Proxy,+ testIs @Float @Float Proxy Proxy,+ testIs @Int @Int Proxy Proxy,+ testIs @Int @Word Proxy Proxy,+ testIs @Int16 @Int16 Proxy Proxy,+ testIs @Int16 @Word16 Proxy Proxy,+ testIs @Int32 @Int32 Proxy Proxy,+ testIs @Int32 @Word32 Proxy Proxy,+ testIs @Int64 @Int64 Proxy Proxy,+ testIs @Int64 @Word64 Proxy Proxy,+ testIs @Int8 @Int8 Proxy Proxy,+ testIs @Int8 @Word8 Proxy Proxy,+ testIs @Integer @Integer Proxy Proxy,+ testIs @Rational @Rational Proxy Proxy,+ testIs @Word @Int Proxy Proxy,+ testIs @Word @Word Proxy Proxy,+ testIs @Word16 @Int16 Proxy Proxy,+ testIs @Word16 @Word16 Proxy Proxy,+ testIs @Word32 @Int32 Proxy Proxy,+ testIs @Word32 @Word32 Proxy Proxy,+ testIs @Word64 @Int64 Proxy Proxy,+ testIs @Word64 @Word64 Proxy Proxy,+ testIs @Word8 @Int8 Proxy Proxy,+ testIs @Word8 @Word8 Proxy Proxy,+ testIsSome @Data.Text.Lazy.Text @UTCTime Proxy Proxy,+ testIsSome @Data.Text.Lazy.Builder.Builder @UTCTime Proxy Proxy,+ testIsSome @String @UTCTime Proxy Proxy,+ testIsSome @Text @UTCTime Proxy Proxy,+ testIsSome @Data.Text.Lazy.Text @Day Proxy Proxy,+ testIsSome @Data.Text.Lazy.Builder.Builder @Day Proxy Proxy,+ testIsSome @String @Day Proxy Proxy,+ testIsSome @Text @Day Proxy Proxy ] -testPair :: (Is a b, Eq a, Eq b, Arbitrary a, Show a, Arbitrary b, Show b, Typeable a, Typeable b) => Proxy a -> Proxy b -> TestTree-testPair superp subp =+testIs :: (Is a b, Eq a, Eq b, Arbitrary a, Show a, Arbitrary b, Show b, Typeable a, Typeable b) => Proxy a -> Proxy b -> TestTree+testIs superp subp = isProperties superp subp+ & fmap (uncurry testProperty)+ & testGroup groupName+ where+ groupName =+ mconcat+ [ show (typeOf (asProxyTypeOf undefined superp)),+ "/",+ show (typeOf (asProxyTypeOf undefined subp))+ ]++testIsSome :: (IsSome a b, Eq a, Eq b, Arbitrary a, Show a, Arbitrary b, Show b, Typeable a, Typeable b) => Proxy a -> Proxy b -> TestTree+testIsSome superp subp =+ isSomeProperties superp subp & fmap (uncurry testProperty) & testGroup groupName where