Project

fluidity

0.0
No commit activity in last 3 years
No release in over 3 years
Fluidity is a test assertions framework built on top of the Assay assertions meta-framework. It provides an elegant fluid notation for specifying test assertions.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 0
 Project Readme

Fluidity

Website / Report Issue / Source Code ( Build Status )


Fluidity is an assertions framework that provides a very elegant fluid notation for specifying test assertions.

Fluidity is built on top of the Assay assertions meta-framework, giving it a solid foundation. Assay defines assertions in the same way that Ruby defines exceptions. Assay provides a complete set of these assertion classes for all common assertion needs.

Instruction

Developers want to write assertions easily and concisely. To this end Fluidity provides a flexible grammar system which can be used by requiring any of the prime grammar methods that extend Object. The most common is probably should.

require 'fluidity/should'

10.should.be.kind_of(Integer)

But if you are accustom to MiniTest's spec methods, you might prefer must.

require 'fluidity/must'

10.must.be.kind_of(Integer)

Also provided is assert for those techy aficionados.

require 'fluidity/assert'

10.assert.kind_of(Integer)

So what is so fluid about all this? Well, Fluidity allows the developer quite the English like expression. For instance.

10.should.not.be.an.instance_of?(String)

Pretty neat, though perhaps bit excessive for a real-life use. Generally it's good enough to use the shorter and a tad bit faster:

10.shouldnt.be.instance_of?(String)

Speaking of fast, so what about speed? Of course, running through multiple extra method calls to make an assertion is going to be slower than making just a single method call. So, yes, tests might run a bit slower on Fluidity than they would with another less readable assertions system. However, method calls are pretty dang fast and unlikely to present any significant performance overhead on test runs. At most, tests runs might take a few additional seconds for very large test suites.

Installation

To install with RubyGems simply open a console and type:

gem install fluidity

Site installation with the tarball can be done with Ruby Setup (gem install setup). See http://rubyworks.github.com/setup.

Copyrights

Fluidity is copyrighted open source software.

Copyright (c) 2012 Rubyworks

This program can be modified and distributed in accordance with the terms of the BSD-2-Clause license.

See LICENSE.txt file for details.