Sha256: fc0f9a9438b86598f4f8bf29148730e95b11d2d3ca9d7a9c6fabe6cbaf50b300

Contents?: true

Size: 1.08 KB

Versions: 8

Compression:

Stored size: 1.08 KB

Contents

$:.unshift File.expand_path(File.join(File.dirname(__FILE__), '..'))
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), *%w[.. lib]))

require 'blather'
require 'rubygems'
require 'minitest/spec'
require 'mocha'
require 'mocha/expectation_error'

module MiniTest
  require 'pathname' if MINI_DIR =~ %r{^./}

  module Assertions
    def assert_change(stmt, args = {}, msg = nil)
      msg ||= proc {
        m = "Expected #{stmt} to change"
        m << " by #{mu_pp args[:by]}" if args[:by]
        m << (args[:from] ? " from #{mu_pp args[:from]}" : '') + " to #{mu_pp args[:to]}" if args[:to]
        m
      }.call

      init_val = eval(stmt)
      yield
      new_val = eval(stmt)

      assert_equal(args[:by], (new_val - init_val), msg) if args[:by]
      assert_equal([args[:from], args[:to]], [(init_val if args[:from]), new_val], msg) if args[:to]
      refute_equal(init_val, new_val, msg) if args.empty?
    end
  end
end

class Object
  def must_change *args, &block
    return MiniTest::Spec.current.assert_change(*args, &self)
  end
end

include Blather
include MiniTest

Unit.autorun

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
sprsquish-blather-0.3.1 spec/spec_helper.rb
sprsquish-blather-0.3.2 spec/spec_helper.rb
sprsquish-blather-0.3.3 spec/spec_helper.rb
sprsquish-blather-0.3.4 spec/spec_helper.rb
blather-0.3.1 spec/spec_helper.rb
blather-0.3.4 spec/spec_helper.rb
blather-0.3.3 spec/spec_helper.rb
blather-0.3.2 spec/spec_helper.rb