Sha256: dd9d47e4e467426c0fef4b2ffb2bacf577a8312faf64531bb44b9bc3af8e59b2

Contents?: true

Size: 832 Bytes

Versions: 6

Compression:

Stored size: 832 Bytes

Contents

require File.expand_path(File.dirname(__FILE__) + "/../../../test_helper")

describe ::Inch::API::Options::Base do
  class APIOptionsTest < ::Inch::API::Options::Base
    attribute :foo, :bar
    attribute :baz
    attribute :qux
  end

  it "should work with a Hash or Struct" do
    @options_hash = { foo: "foo", baz: 42 }
    @options_struct = OpenStruct.new(@options_hash)

    @options1 = APIOptionsTest.new @options_hash
    @options2 = APIOptionsTest.new @options_struct

    assert_equal "foo", @options1.foo
    assert_equal "foo", @options2.foo
    assert_equal 42, @options1.baz
    assert_equal 42, @options2.baz
  end

  it "should return default values" do
    @options_hash = { baz: 42 }
    @options = APIOptionsTest.new @options_hash

    assert_equal :bar, @options.foo
    assert_equal 42, @options.baz
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
inch-0.5.0.rc5 test/unit/api/options/base_test.rb
inch-0.5.0.rc4 test/unit/api/options/base_test.rb
inch-0.4.10 test/unit/api/options/base_test.rb
inch-0.4.9 test/unit/api/options/base_test.rb
inch-0.4.8 test/unit/api/options/base_test.rb
inch-0.4.7 test/unit/api/options/base_test.rb