on master help sign in
try adding more shrink implementations
commit211ad02ee1c616cd4838bcb75f5db07a6fe7c90a authorCorey O'Connor <corey@ooyala.com> dateTue 30 Jul 2013, 22:43 (13 years ago) parent9748c1d
1 file changed+18−10
test/Verify/Graphics/Vty/Image.hs+18−10
test/Verify/Graphics/Vty/Image.hs+18−10
@@ -7,6 +7,7 @@ module Verify.Graphics.Vty.Image ( module Verify.Graphics.Vty.Image
77
88import Verify.Graphics.Vty.Attributes
99import Graphics.Vty.Image
10+import Graphics.Vty.Image.Internal
1011
1112import Verify
1213
@@ -131,19 +132,19 @@ data SingleAttrSingleSpanStack = SingleAttrSingleSpanStack
131132instance Arbitrary SingleAttrSingleSpanStack where
132133 arbitrary = do
133134 image_list <- Verify.resize 128 (listOf1 arbitrary)
134− let image = vert_cat [ i | SingleRowSingleAttrImage { row_image = i } <- image_list ]
135− return $ SingleAttrSingleSpanStack
136− image
137− image_list
138− ( maximum $ map expected_columns image_list )
139− ( toEnum $ length image_list )
135+ return $ mk_single_attr_single_span_stack image_list
136+ shrink s = do
137+ image_list <- shrink $ stack_source_images s
138+ return $ mk_single_attr_single_span_stack image_list
139+
140+mk_single_attr_single_span_stack image_list =
141+ let image = vert_cat [ i | SingleRowSingleAttrImage { row_image = i } <- image_list ]
142+ in SingleAttrSingleSpanStack image image_list (maximum $ map expected_columns image_list)
143+ (toEnum $ length image_list)
140144
141145instance Arbitrary Image where
142146 arbitrary = oneof
143− [ do
144− SingleAttrSingleSpanStack {stack_image} <- arbitrary
145− ImageResize f <- arbitrary
146− return $! fst $! f stack_image
147+ [ return EmptyImage
147148 , do
148149 SingleAttrSingleSpanStack {stack_image} <- arbitrary
149150 ImageResize f <- arbitrary
@@ -165,6 +166,13 @@ instance Arbitrary Image where
165166 ImageResize f <- arbitrary
166167 return $! fst $! f i
167168 ]
169+ shrink (HorizJoin {part_left, part_right}) = shrink =<< [part_left, part_right]
170+ shrink (VertJoin {part_top, part_bottom}) = shrink =<< [part_top, part_bottom]
171+ shrink (CropRight {cropped_image}) = shrink =<< [cropped_image]
172+ shrink (CropLeft {cropped_image}) = shrink =<< [cropped_image]
173+ shrink (CropBottom {cropped_image}) = shrink =<< [cropped_image]
174+ shrink (CropTop {cropped_image}) = shrink =<< [cropped_image]
175+ shrink _ = []
168176
169177data CropOperation
170178 = CropFromLeft