On 26/06/15 17:20, David Gileadi wrote:

Let's paint this bikeshed!

I tend to like "must" instead of "should"; it's a bit shorter and stronger.

I prefer "should".

I tend to like dot-separated English for testing, e.g.

throwRangeError.must.throw!RangeError;

One advantage is that the dot after "must" (or "should") can trigger
code completion on IDEs.

It will also be more composeable. Currently there are a couple of assertions that have no negative form, i.e. "shouldBeTrue". If should/shouldNot would be separate from the actual comparison it would be possible to write "shouldNot.beTrue". It could also support custom assertions in the future: "should.beA!(Foo)".

Finally, I wonder if it's possible to hijack operator overloading to
support this:

2.timesTwo.must == 4;

Yes and no :). For plain "==" it's possible, but not for ">=" and the other greater/less/negative comparisons. All these operators are implemented using the same method. Although there's an enhancement request (somewhere) to support overloading these operators separately.

--
/Jacob Carlborg

Reply via email to