Sha256: 2f442d38ccc841958275c5492ff9688063e32088f07937e3b678ce7c9dc2c37a

Contents?: true

Size: 1.67 KB

Versions: 4

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true

require "assert"
require "much-stub/call"

require "test/support/factory"

class MuchStub::Call
  class UnitTests < Assert::Context
    desc "MuchStub::Call"
    setup do
      @unit_class = MuchStub::Call

      @pargs = [Factory.string, Factory.integer]
      @kargs = {
        one: 1,
        two: 2,
      }
      @block = ->{}
    end
  end

  class InitWithNoArgsTests < UnitTests
    desc "when init with no args"
    subject{ @unit_class.new }

    should "know its attrs" do
      assert_nil subject.pargs
      assert_nil subject.kargs
      assert_equal [], subject.args
      assert_nil subject.block
    end
  end

  class InitWithOnlyPositionalArgsTests < UnitTests
    desc "when init with only positional args"
    subject{ @unit_class.new(*@pargs) }

    should "know its attrs" do
      assert_equal @pargs, subject.pargs
      assert_nil subject.kargs
      assert_equal [*@pargs], subject.args
      assert_nil subject.block
    end
  end

  class InitWithOnlyKeywordArgsTests < UnitTests
    desc "when init with only keyword args"
    subject{ @unit_class.new(**@kargs) }

    should "know its attrs" do
      assert_nil subject.pargs
      assert_equal @kargs, subject.kargs
      assert_equal [@kargs], subject.args
      assert_nil subject.block
    end
  end

  class InitWithBothPositionalAndKeywordArgsTests < UnitTests
    desc "when init with only keyword args"
    subject{ @unit_class.new(*@pargs, **@kargs, &@block) }

    should "know its attrs" do
      assert_equal @pargs, subject.pargs
      assert_equal @kargs, subject.kargs
      assert_equal [*@pargs, @kargs], subject.args
      assert_equal @block, subject.block
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
much-stub-0.1.10 test/unit/call_tests.rb
much-stub-0.1.9 test/unit/call_tests.rb
much-stub-0.1.8 test/unit/call_tests.rb
much-stub-0.1.7 test/unit/call_tests.rb