現在取り組んでいる小さなサッカー ゲーム用の有限ステート マシン モジュールを作成しました。FSM (基本的にその状態と遷移) を設定するためのインターフェイスを提供します。状態ごとに、開始時と終了時に起動される関数を提供できます。または、FSM が同じ状態のままである間にこれらの関数がいくつかのメッセージを返します。また、時変状態を生成し、時間の経過とともに発生するメッセージを収集するリアクティブ インターフェイス (Yampa) も提供します。コードはData/FSM.hsにあります。
このモジュールをテストする良い方法を探しています。純正なので、クイックチェックしてみようと思いました。私はクイックチェックの経験がないので、ヒントをいただければ幸いです。これまでの私の基本的な理解: FSM を多かれ少なかれランダムに構築するいくつかの関数を提供し、それらに対していくつかの (再び多かれ少なかれランダムな) 遷移を実行します。しかし、そのようにテストを構築する方法がよくわかりません...