Sha256: fab384f33f74223e5bc4113274c2927db3433c2bca8afdb6fe782a8bbb5800e7

Contents?: true

Size: 1.93 KB

Versions: 6

Compression:

Stored size: 1.93 KB

Contents

# frozen_string_literal: true

require "assert"
require "assert/assertions"

require "assert/utils"

module Assert::Assertions
  class AssertInstanceOfTests < Assert::Context
    include Assert::Test::TestHelpers

    desc "`assert_instance_of`"
    subject do
      args = args1
      Factory.test do
        assert_instance_of(String, "object") # pass
        assert_instance_of(*args)            # fail
      end
    end

    let(:desc1){ "assert instance of fail desc" }
    let(:args1){ [Array, "object", desc1] }
    let(:config1){ subject.config }

    should "produce results as expected" do
      subject.run(&test_run_callback)

      assert_that(test_run_result_count).equals(2)
      assert_that(test_run_result_count(:pass)).equals(1)
      assert_that(test_run_result_count(:fail)).equals(1)

      exp =
        "#{args1[2]}\nExpected #{Assert::U.show(args1[1], config1)} "\
        "(#{args1[1].class}) to be an instance of #{args1[0]}."
      assert_that(test_run_results(:fail).first.message).equals(exp)
    end
  end

  class AssertNotInstanceOfTests < Assert::Context
    include Assert::Test::TestHelpers

    desc "`assert_not_instance_of`"
    subject do
      args = args1
      Factory.test do
        assert_not_instance_of(*args)           # fail
        assert_not_instance_of(Array, "object") # pass
      end
    end

    let(:desc1){ "assert not instance of fail desc" }
    let(:args1){ [String, "object", desc1] }
    let(:config1){ subject.config }

    should "produce results as expected" do
      subject.run(&test_run_callback)

      assert_that(test_run_result_count).equals(2)
      assert_that(test_run_result_count(:pass)).equals(1)
      assert_that(test_run_result_count(:fail)).equals(1)

      exp =
        "#{args1[2]}\nExpected #{Assert::U.show(args1[1], config1)} "\
        "(#{args1[1].class}) to not be an instance of #{args1[0]}."
      assert_that(test_run_results(:fail).first.message).equals(exp)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
assert-2.19.8 test/unit/assertions/assert_instance_of_tests.rb
assert-2.19.7 test/unit/assertions/assert_instance_of_tests.rb
assert-2.19.6 test/unit/assertions/assert_instance_of_tests.rb
assert-2.19.5 test/unit/assertions/assert_instance_of_tests.rb
assert-2.19.4 test/unit/assertions/assert_instance_of_tests.rb
assert-2.19.3 test/unit/assertions/assert_instance_of_tests.rb