Sha256: c750ba439391eb571355af83992045e68c9d4f6e2f76a851df826ae1f2191225

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

require File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper')

class COMImplementerBaseTest < Test::Unit::TestCase
  setup do
    @klass = VirtualBox::COM::Implementer::Base
    @interface = mock("interface")
    @lib = mock("lib")
  end

  context "with an instance" do
    setup do
      @instance = @klass.new(@interface, @lib)
    end

    context "inferring types" do
      should "return the proper values" do
        expectations = {
          :int => [:int, :int],
          :unicode_string => [:pointer, :unicode_string],
          :Host => [:pointer, :interface]
        }

        expectations.each do |original, result|
          assert_equal result, @instance.infer_type(original)
        end
      end
    end

    context "getting an interface class" do
      should "get from COM::Interface and return" do
        result = mock("result")
        type_name = :foo
        VirtualBox::COM::FFI::Util.expects(:interface_klass).with(type_name).returns(result)
        assert_equal result, @instance.interface_klass(type_name)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
virtualbox-0.7.5 test/virtualbox/com/implementer/base_test.rb
virtualbox-0.7.4 test/virtualbox/com/implementer/base_test.rb
virtualbox-0.7.3 test/virtualbox/com/implementer/base_test.rb
virtualbox-0.7.2 test/virtualbox/com/implementer/base_test.rb
virtualbox-0.7.1 test/virtualbox/com/implementer/base_test.rb
virtualbox-0.7.0 test/virtualbox/com/implementer/base_test.rb