On Tuesday, 30 June 2015 at 11:43:36 UTC, Dicebot wrote:
In absence of language changes, I don't see anything as clear and simple as operator mixins. Less magic in unittests -> better. Common misconception IMHO is that tests should look nice for library/app author, while, from the ecosystem PoV, they should look simple and predictable for contributors - and that is most important property.

I tend to agree with your position on testing frameworks. It seems really cool to utilize English to spell out an expectation, but it ends up more complicated. For one, it can never actually be English (I wouldn't want it to be) and for another, I've already got expressions from the language being used that mean the same thing.

    unittest {
        struct A {
            int m;
        }

        A a;
        A b;
        a.m = 5;
        b.m = 5;

        auto testA = a.test;
        with(testA) {
            verify(testA.lhs == b);
            b.m = 6;
            verify(testA.lhs != b);
            verify(testA.lhs == b);
        }
    }

It is kind of like what you're saying, but the condition isn't reportable. I'm actually less concerned about the condition as I am being able to report all the values utilized by the condition. I'd like to see assert be more descriptive or a framework that looks like assert and is more descriptive. Here is the crap code to run the above:

https://gist.github.com/JesseKPhillips/df79479cbf6a0e3c6b0d

Reply via email to