これは簡単なことのように思えますが、AcidState の Data.Acid.Memory.Pure モジュールを使用している場合、クエリから純粋な値を取得するにはどうすればよいでしょうか。「どうすれば Update モナドから値を取得できますか?」という質問を一般化できると思います。ご覧のとおり、次のありふれたタスクを実行するテストを作成しようとしています。
- 純粋な AcidState をオブジェクトで更新します
- IxSet を使用してそのオブジェクトの状態を照会します
- クエリされたオブジェクトと Update によって返されたオブジェクトが等しいかどうかを比較します。
テストフレームワークとの統合を容易にするために、これから純粋な「Bool」が必要です。最初は単純に Control.Monad.State の runState を使用するだけだと思っていましたが、間違っていました (または正しく実行していませんでした)。私は何をすべきか?