vty/test/BenchImageFuzz.hs

32 lines
625 B
Haskell
Raw Normal View History

module BenchImageFuzz where
import Graphics.Vty
import Graphics.Vty.Debug
import Verify.Graphics.Vty.Image
import Verify
import Control.Applicative
import Control.Monad
2014-01-27 01:25:13 +04:00
import Data.Default (def)
import System.Random
rand :: Arbitrary a => IO a
rand = head <$> sample' arbitrary
random_image :: IO Image
random_image = rand
random_picture = pic_for_image <$> random_image
bench_0 = do
2014-01-27 01:25:13 +04:00
vty <- mkVty def
2013-12-25 11:03:22 +04:00
(w,h) <- display_bounds $ output_iface vty
let pictures = replicateM 3000 random_picture
bench ps = do
forM ps (update vty)
shutdown vty
return $ Bench pictures bench