Sha256: 06731bca3668617f945980eaceb4dd1fa4f85006c5229379df7d075dee5be030

Contents?: true

Size: 1.33 KB

Versions: 4

Compression:

Stored size: 1.33 KB

Contents

require 'test/unit'
require 'octave'
require 'octave/engine'
require 'rubygems'
require 'mocha'

class Driver
end

class EngineTest_Init < Test::Unit::TestCase
  def test_new
    driver = mock()
    Driver.expects(:new).returns(driver)
    
    engine = Octave::Engine.new(:driver => Driver)
  end
  
  def test_new_with_invalid_driver
    exception = assert_raise(LoadError) do
      engine = Octave::Engine.new(:driver => "foo")
    end
    
    expected_message = "-- octave/driver/foo/driver"
    assert_equal expected_message, exception.message[-expected_message.length, expected_message.length]
    
    exception = assert_raise(LoadError) do
      engine = Octave::Engine.new(:driver => :bar)
    end
    expected_message = "-- octave/driver/bar/driver"
    assert_equal expected_message, exception.message[-expected_message.length, expected_message.length]
  end
  
  def test_new_with_native_driver
    assert_nothing_raised do
      engine = Octave::Engine.new
    end
  end
end

class EngineTest < Test::Unit::TestCase
  def setup
    @driver = mock()
    @handle = mock()
    Driver.expects(:new).returns(@driver)
    
    @engine = Octave::Engine.new(:driver => Driver)
  end
  
  def test_method_missing
    @driver.expects(:feval).with("some_method_name", "argument 1", "argument 2")
    @engine.some_method_name("argument 1", "argument 2")
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
octave-ruby-2.0.3 test/test_engine.rb
octave-ruby-2.0.2 test/test_engine.rb
octave-ruby-2.0.1 test/test_engine.rb
octave-ruby-2.0.0 test/test_engine.rb