= 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. * But Facets is not a dependency; the 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,2010 Thomas Sawyer Unless otherwise provided for by the originating author, this program is distributed under the terms of the Apache 2 license. See LICENSE file for details.