<div dir="ltr"><div class="gmail-cooked"><p>Hi!</p>
<p>I’d like to announce the unit test library <a href="https://github.com/mlabs-haskell/plutus-simple-model" rel="noopener nofollow ugc">plutus-simple-model</a> for plutus that is a joy to use [1].<br>
It’s simple and easy to grasp and it can estimate resource usage for TX (size and execution units).</p>
<p>Main idea is to implement a simple blockchain model that updates UTXOs inside a pure State monad if<br>
TX is valid. To check TX cardano node functions are used so the check is<br>
the same as if node would check it and it produces useful stats for resource usage.</p>
<p>Benefits comparing to EmulatorTrace to me:</p>
<ul><li>I find resource usage stats are useful to know in production and this is missing in Emulator tests</li><li>EmulatorTrace approach makes it hard to query run-time information and with given lib it’s super easy</li><li>Having to define separate API and use lookups/constraints seems
clumsy to me. It often leads to writing lots of boilerplate code.</li><li>it’s much faster to run</li></ul>
<p>I’ve tested it successfully in one project and using it for the second one.<br>
It has great docs and tutorials.<br>
Enjoy! I hope it will improve your testing experience with plutus.</p>
<p>[1] <a href="https://github.com/mlabs-haskell/plutus-simple-model" rel="noopener nofollow ugc">plutus-simple-model</a> <a href="https://github.com/mlabs-haskell/plutus-simple-model">https://github.com/mlabs-haskell/plutus-simple-model</a></p></div></div>