[ANN] Dfect 0.0.0

                        Dfect 0.0.0

            Assertion testing library for Ruby

            http://snk.tuxfamily.org/lib/dfect

Dfect is an assertion testing library for Ruby that
emphasizes a simple assertion vocabulary, instant
debuggability of failures, and flexibility in composing
tests.

Version 0.0.0 (2009-04-13)

This is the first public release of Dfect, which was inspired
by [1]Philip Plumlee’s musing on alternative names for
assertion methods.

References

  1. Verify, a very basic testing tool - Ruby - Ruby-Forum

Suraj K. wrote:

inspired by [1]Philip Plumlee’s musing on alternative names for
assertion methods.

My apologies; I incorrectly attributed the musing to Philip Plumlee.
The correct author of that musing is Sean O’halpin.

Sorry for the confusion.

On Apr 13, 1:23 pm, Suraj K. [email protected] wrote:

                        Dfect 0.0.0

            Assertion testing library for Ruby

           http://snk.tuxfamily.org/lib/dfect

Dfect is an assertion testing library for Ruby that
emphasizes a simple assertion vocabulary, instant
debuggability of failures, and flexibility in composing
tests.

I looked over the documentation. In my opinion, if you’re defining
methods like <, >, <<, or >> and they need to be called with explicit
obj.< syntax, you’re doing something wrong.

Version 0.0.0 (2009-04-13)

Why do you keep releasing gems that start at version 0.0.0?

Yossef M. wrote:

I looked over the documentation. In my opinion, if you’re defining
methods like <, >, <<, or >> and they need to be called with explicit
obj.< syntax, you’re doing something wrong.

Those particular methods are module functions which do not get mixed-in,
so there’s no harm in having them that way. In fact, the only way to
access them from a mixed-in location is via the D constant:

not mixed-in

Dfect .< { puts “hello” }
Dfect::smiley: .< { puts “hello” }

mixed-in

include Dfect
D .< { puts “hello” }

not possible

include Dfect
self .< { puts “hello” } # no method error “<” for self!

As for providing a block to those methods, the alternative requires too
much typing for my taste:

D < lambda { puts “hello” }

Version 0.0.0 (2009-04-13)

Why do you keep releasing gems that start at version 0.0.0?

Because the first number in computer science is 0. :slight_smile:

Suraj K. wrote:

Yossef M. wrote:

Version 0.0.0 (2009-04-13)
Why do you keep releasing gems that start at version 0.0.0?

Because the first number in computer science is 0. :slight_smile:

0.0.0 should be reserved for the trivial gem, <<END
END

(not quite serious :slight_smile: