on master help sign in
add missing test file
commite83882c35b630c8412de34add5c9ac38f6e2266b authorWillem Van Onsem <vanonsem.willem@gmail.com> dateThu 10 Jun 2021, 22:55 (5 years ago) parent000f901
1 file changed+28
test/VerifyAttributes.hs+28
test/VerifyAttributes.hsnew file+28
@@ -0,0 +1,28 @@
1+module VerifyAttributes where
2+
3+import Verify
4+
5+import Graphics.Vty.Attributes(MaybeDefault(Default, KeepCurrent, SetTo))
6+
7+instance Arbitrary a => Arbitrary (MaybeDefault a) where
8+ arbitrary = oneof [pure Default, pure KeepCurrent, SetTo <$> arbitrary]
9+
10+oldSem :: MaybeDefault a -> MaybeDefault a -> MaybeDefault a
11+oldSem Default Default = Default
12+oldSem Default KeepCurrent = Default
13+oldSem Default (SetTo v) = SetTo v
14+oldSem KeepCurrent Default = Default
15+oldSem KeepCurrent KeepCurrent = KeepCurrent
16+oldSem KeepCurrent (SetTo v) = SetTo v
17+oldSem (SetTo _v) Default = Default
18+oldSem (SetTo v) KeepCurrent = SetTo v
19+oldSem (SetTo _) (SetTo v) = SetTo v
20+
21+sameSemigroupValue :: MaybeDefault Int -> MaybeDefault Int -> Bool
22+sameSemigroupValue xa xb = xa <> xb == oldSem xa xb
23+
24+tests :: IO [Test]
25+tests = return
26+ [ verify "check that the new Semigroup of MaybeDefault is equivalent to the old one" sameSemigroupValue
27+ ]
28+