on master help sign in
Add tests to do round-trips with toWords and fromWords.
807db7fAntoine Latter
tests/TestUUID.hs+13
@@ -168,6 +168,17 @@ toASCIIBytes_fromASCIIBytes :: U.UUID -> Bool
168toASCIIBytes_fromASCIIBytes uuid =
168toASCIIBytes_fromASCIIBytes uuid =
169 Just uuid == U.fromASCIIBytes (U.toASCIIBytes uuid)
169 Just uuid == U.fromASCIIBytes (U.toASCIIBytes uuid)
170
170
171+toWords_fromWords :: U.UUID -> Bool
172+toWords_fromWords uuid =
173+ uuid == myUncurry4 U.fromWords (U.toWords uuid)
174+
175+fromWords_toWords :: (Word32, Word32, Word32, Word32) -> Bool
176+fromWords_toWords wds =
177+ wds == U.toWords (myUncurry4 U.fromWords wds)
178+
179+myUncurry4 :: (x1 -> x2 -> x3 -> x4 -> y) -> (x1, x2, x3, x4) -> y
180+myUncurry4 f (a,b,c,d) = f a b c d
181+
171prop_storableRoundTrip :: Test
182prop_storableRoundTrip :: Test
172prop_storableRoundTrip =
183prop_storableRoundTrip =
173 testProperty "Storeable round-trip" $ unsafePerformIO . prop
184 testProperty "Storeable round-trip" $ unsafePerformIO . prop
@@ -211,5 +222,7 @@ main = do
211 , testProperty "fromASCIIBytes_toString" toASCIIBytes_toString
222 , testProperty "fromASCIIBytes_toString" toASCIIBytes_toString
212 , testProperty "fromASCIIBytes_toASCIIBytes" fromASCIIBytes_toASCIIBytes
223 , testProperty "fromASCIIBytes_toASCIIBytes" fromASCIIBytes_toASCIIBytes
213 , testProperty "toASCIIBytes_fromASCIIBytes" toASCIIBytes_fromASCIIBytes
224 , testProperty "toASCIIBytes_fromASCIIBytes" toASCIIBytes_fromASCIIBytes
225+ , testProperty "toWords_fromWords" toWords_fromWords
226+ , testProperty "fromWords_toWords" fromWords_toWords
214 ]
227 ]
215 ]
228 ]