Sha256: 7f77164a61c16cb6d4743c55718f52eef7064f3336a9b16692dd55e62bfad008

Contents?: true

Size: 1.89 KB

Versions: 12

Compression:

Stored size: 1.89 KB

Contents

require 'assert'
require 'assert/assertions'

module Assert::Assertions

  class AssertSameTest < Assert::Context
    desc "the assert_same helper"
    setup do
      klass = Class.new; object = klass.new
      desc = @desc = "assert same fail desc"
      args = @args = [ object, klass.new, desc ]
      @test = Factory.test do
        assert_same(object, object) # pass
        assert_same(*args)          # fail
      end
      @test.run
    end
    subject{ @test }

    should "produce results as expected" do
      assert_equal 2, subject.result_count
      assert_equal 1, subject.result_count(:pass)
      assert_equal 1, subject.result_count(:fail)
    end

    should "have a fail message with custom and generic explanations" do
      exp = "#{@args[2]}\n"\
            "Expected #{@args[1].inspect} (#{@args[1].object_id})"\
            " to be the same as #{@args[0].inspect} (#{@args[0].object_id})."
      assert_equal exp, subject.fail_results.first.message
    end

  end

  class AssertNotSameTests < Assert::Context
    desc "the assert_not_same helper"
    setup do
      klass = Class.new; object = klass.new
      desc = @desc = "assert not same fail desc"
      args = @args = [ object, object, desc ]
      @test = Factory.test do
        assert_not_same(*args)             # fail
        assert_not_same(object, klass.new) # pass
      end
      @test.run
    end
    subject{ @test }

    should "produce results as expected" do
      assert_equal 2, subject.result_count
      assert_equal 1, subject.result_count(:pass)
      assert_equal 1, subject.result_count(:fail)
    end

    should "have a fail message with custom and generic explanations" do
      exp = "#{@args[2]}\n"\
            "#{@args[1].inspect} (#{@args[1].object_id}) not expected"\
            " to be the same as #{@args[0].inspect} (#{@args[0].object_id})."
      assert_equal exp, subject.fail_results.first.message
    end

  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
assert-2.3.3 test/unit/assertions/assert_same_tests.rb
assert-2.3.2 test/unit/assertions/assert_same_tests.rb
assert-2.3.1 test/unit/assertions/assert_same_tests.rb
assert-2.3.0 test/unit/assertions/assert_same_tests.rb
assert-2.2.0 test/unit/assertions/assert_same_tests.rb
assert-2.1.2 test/unit/assertions/assert_same_tests.rb
assert-2.1.1 test/unit/assertions/assert_same_tests.rb
assert-2.1.0 test/unit/assertions/assert_same_tests.rb
assert-2.0.3 test/unit/assertions/assert_same_tests.rb
assert-2.0.2 test/unit/assertions/assert_same_tests.rb
assert-2.0.1 test/unit/assertions/assert_same_tests.rb
assert-2.0.0 test/unit/assertions/assert_same_tests.rb