Sha256: 965b23aa50bef8f417d56d655eec31bdf6252e6f44e23c9efb9da2f590d3653e

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'assert'

class Assert::Assertions::AssertKindOfTest < Assert::Context
  desc "the assert_kind_of helper run in a test"
  setup do
    fail_desc = @fail_desc = "assert kind of fail desc"
    fail_args = @fail_args = [ Array, "object", fail_desc ]
    @test = Factory.test do
      assert_kind_of(String, "object")              # pass
      assert_kind_of(*fail_args)                    # fail
    end
    @test.run
  end
  subject{ @test }

  should "have 2 total results" do
    assert_equal 2, subject.result_count
  end
  should "have 1 pass result" do
    assert_equal 1, subject.result_count(:pass)
  end
  should "have 1 fail result" do
    assert_equal 1, subject.result_count(:fail)
  end

  class FailMessageTest < AssertKindOfTest
    desc "with a failed result"
    setup do
      @expected = [
        "Expected #{@fail_args[1].inspect} to be a kind of #{@fail_args[0]},",
        "not #{@fail_args[1].class}.\n#{@fail_args[2]}"
      ].join(" ")
      @fail_message = @test.fail_results.first.message
    end
    subject{ @fail_message }

    should "have a fail message with an explanation of what failed and my fail description" do
      assert_equal @expected, subject
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
assert-0.1.0 test/assertions/assert_kind_of_test.rb