= Assertive Expressive * http://proutils.rubyforge.org/ae/ == DESCRIPTION Assertive Expressive (AE) is an assertions framework intended for reuse by any TDD, BDD or similar system. == FEATURES/ISSUES * Clear, simple and concise syntax. * Uses higher-order functions and fluid notation. * Reusable core extensions ease assertion construction. * Core extensions are standardized around Ruby Facets. * Facets is an optional dependency; extensions are built-in. * Easily extensible allowing for alternate notations. * Eats it's own dog food. == RELEASE NOTES Please see HISTORY file. == SYNOPSIS AE defines the method +assert+. It's is compatible with the method as defined by Test::Unit and minitest, which verifies truth of a single argument (and can accept an optional failure message). assert(true) In addition AE's +assert+ method has been extended to accept a block, the result of which is likewise verified. assert{true} But the real power the AE's +assert+ method lies in it's use without argument or block. In that case it returns an instance of +Assertor+. An +Assertor+ is an Assertions Functor, or Higher-Order Function. It is a function that operates on another function. With it, we can make assertions like so: x.assert == y a.assert.include? e StandardError.assert.raised? do ... end And so forth. Any method can be used in conjunction with +assert+ to make an assertion. Eg. class String def daffy? /daffy/i =~ self end end "Daffy Duck".assert.daffy? Please have a look at the QEDocs and RDocs to learn more. == HOW TO INSTALL === Gem Installs AE releases it's gems via Gemcutter. If you don't have Gemcutter installed do: $ gem install gemcutter $ gem tumble Then you can install AE with: $ gem install ae === Site Installs Local installation requires Setup.rb. $ gem install setup Then download the tarball package from GitHub (under pack/ directory) and do: $ tar -xvzf ae-1.0.0.tgz $ cd ae-1.0.0.tgz $ sudo setup.rb all Windows users use 'ruby setup.rb all'. == COPYRIGHTS & LICENSE Copyright (c) 2008,2009 Thomas Sawyer Unless otherwise provided for by the originating author, this program is distributed under the terms of the LGPL v3 license. See COPYING file for details.