Skip to content

Commit 62394d4

Browse files
committed
Add Char instances
1 parent eb5a06f commit 62394d4

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434

3535
instance arbBoolean :: Arbitrary Boolean
3636

37+
instance arbChar :: Arbitrary S.Char
38+
3739
instance arbEither :: (Arbitrary a, Arbitrary b) => Arbitrary (Either a b)
3840

3941
instance arbFunction :: (CoArbitrary a, Arbitrary b) => Arbitrary (a -> b)
@@ -52,6 +54,8 @@
5254

5355
instance coarbBoolean :: CoArbitrary Boolean
5456

57+
instance coarbChar :: CoArbitrary S.Char
58+
5559
instance coarbEither :: (CoArbitrary a, CoArbitrary b) => CoArbitrary (Either a b)
5660

5761
instance coarbFunction :: (Arbitrary a, CoArbitrary b) => CoArbitrary (a -> b)

src/Test/QuickCheck.purs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ instance showResult :: Show Result where
3535
(<?>) true _ = Success
3636
(<?>) false msg = Failed msg
3737

38+
instance arbChar :: Arbitrary S.Char where
39+
arbitrary = S.fromCharCode <<< ((*) 65535) <$> uniform
40+
41+
instance coarbChar :: CoArbitrary S.Char where
42+
coarbitrary c = coarbitrary $ S.toCharCode c
43+
3844
instance arbNumber :: Arbitrary Number where
3945
arbitrary = uniform
4046

@@ -51,9 +57,7 @@ instance coarbBoolean :: CoArbitrary Boolean where
5157
coarbitrary false = perturbGen 2
5258

5359
instance arbString :: Arbitrary String where
54-
arbitrary = do
55-
arrNum <- arbitrary
56-
return $ S.fromCharArray $ S.fromCharCode <<< ((*) 65535) <$> arrNum
60+
arbitrary = S.fromCharArray <$> arbitrary
5761

5862
instance coarbString :: CoArbitrary String where
5963
coarbitrary s = coarbitrary $ (S.charCodeAt 0 <$> S.split "" s)

0 commit comments

Comments
 (0)