isupeene/sparse-matrix — pull request #7 by isupeene (2014-09-24 02:10:57+00:00)
Title: Property contracts

Implemented a bunch of contracts, and made some minor changes to the Contract module to avoid recursion when creating new matrices within a matrix contract method.

I verified that the contracts are being called through manual testing - changing one of the contracts (i.e. change '==' to '!=' in `regular_postcondition?` causes the corresponding tests to fail.

Note that 9 of the tests are currently failing, since I changed them to expect `MiniTest::Assertion` (what the `assert` methods throw on failure) rather than what was previously being thrown. When we implement contracts for those methods, the tests will pass. This is a test of not only our implementation, but our contracts as well.