Sha256: 05d4028a65aba01a87c1b65841eddae8769589f7751e225a917e6a87ebc792e1

Contents?: true

Size: 575 Bytes

Versions: 10

Compression:

Stored size: 575 Bytes

Contents

module Riot
  # Asserts that result's size is as expected. Expected size can be specified as
  # a number or a range.
  #   asserts("a string") { 'washington' }.size(9..12)
  #   asserts("an array") { [1, 2, 3] }.size(3)
  #   asserts("a hash") { {:name => 'washington'} }.size(1)
  class SizeMacro < AssertionMacro
    register :size

    def evaluate(actual, expected)
      failure_message = expected_message.size_of(actual).to_be(expected).not(actual.size)
      expected === actual.size ? pass(new_message.is_of_size(expected)) : fail(failure_message)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
riot-0.11.4 lib/riot/assertion_macros/size.rb
riot-0.11.4.pre lib/riot/assertion_macros/size.rb
riot-0.11.3 lib/riot/assertion_macros/size.rb
riot-0.11.2 lib/riot/assertion_macros/size.rb
riot-0.11.1 lib/riot/assertion_macros/size.rb
riot-0.11.0 lib/riot/assertion_macros/size.rb
riot-0.10.13 lib/riot/assertion_macros/size.rb
riot-0.10.13.pre lib/riot/assertion_macros/size.rb
riot-0.10.12 lib/riot/assertion_macros/size.rb
riot-0.10.12.pre lib/riot/assertion_macros/size.rb