<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Little point of history:  the xUnit family of unit testing</div><div class="gmail_default" style="font-family:monospace,monospace">frameworks originated in *Smalltalk* (SUnit), which is why</div><div class="gmail_default" style="font-family:monospace,monospace">the graphic user interface for running tests was a standard</div><div class="gmail_default" style="font-family:monospace,monospace">part of it.  It wasn't just that you could drive tests from</div><div class="gmail_default" style="font-family:monospace,monospace">a graphic terminal, it was that testing was *integrated*</div><div class="gmail_default" style="font-family:monospace,monospace">with the IDE.  The Wikipedia page on jUnit gets this right,</div><div class="gmail_default" style="font-family:monospace,monospace">acknowledging the priority of SUnit.  Credit should be</div><div class="gmail_default" style="font-family:monospace,monospace">given to a specific person: Kent Beck, author of the original</div><div class="gmail_default" style="font-family:monospace,monospace">version of SUnit.  It would be good for the HUnit document<br></div><div class="gmail_default" style="font-family:monospace,monospace">to give credit where credit is due.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">AS for the interface, what is the problem?</div><div class="gmail_default" style="font-family:monospace,monospace">It's always <HUnit function> "some string" <other arguments>.</div><div class="gmail_default" style="font-family:monospace,monospace">It doesn't really matter very much whether the observed or</div><div class="gmail_default" style="font-family:monospace,monospace">expected value is presented next in assertEqual, but it is</div><div class="gmail_default" style="font-family:monospace,monospace">documented as expected-then-observed.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 2 Mar 2022 at 06:57, Daneel Yaitskov <<a href="mailto:dyaitskov@gmail.com">dyaitskov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi List,</div><div></div><div><p dir="auto">I noticed, that I pay more attention than I should, when working with assertions, because I am not sure about argument order i.e. whether the 
expected value goes first or vice-versa. Does anybody have similar thought?<br></p><p>Such subtle detail should be easy to grasp with regular practice, but I observe difficulties and I suspect that there is a logical reason for that.<br></p><p>Unit tests appeared long time ago in Java and spread over all languages. HUnit library inherited de facto standard assert function name and signature. I don't know reasoning behind original signature.<br></p><p dir="auto">I spe<span style="font-family:arial,sans-serif">ll "assertEqual" expression as:  "Assert that x equals to y"<br>"y" sounds like a mo</span>del value (i.e. expected value).</p>
<p dir="auto">In assignments <code>"x <- y"</code>  y is the model value, because it defines <code>"x"</code>.<br>
You get <code>"x"</code> - value on the left not on the right.</p><p dir="auto"></p><p>Similar issue with test fixing - I always have to  check first, that an expected value is actually one. There is no type safety preventing mixing arguments. I had to open and comprehend a source file with test, because test log is not 100% safe. <br></p><p dir="auto"><br></p><br>-- <br><div dir="ltr"><br>Best regards,<br>Daniil Iaitskov<br> <br><br><br></div></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>