Sha256: 80fe68c762c6523d76a03c975a4b5de9fc7323f2dba94f14d1e1183022f5eec7

Contents?: true

Size: 1.81 KB

Versions: 2

Compression:

Stored size: 1.81 KB

Contents

require 'test/unit'
require 'fox12'

include Fox

class TC_FXMemoryStream < Test::Unit::TestCase

  DEFAULT_BUFFER_SIZE = 16

  private
  
  def assert_closed(stream)
    stream.open(FXStreamSave, nil) == false
  end

  public

  def test_open
    s1 = FXMemoryStream.new
    assert(s1.open(FXStreamLoad, nil))
    assert_equal(DEFAULT_BUFFER_SIZE, s1.space)
    s1.close

    s2 = FXMemoryStream.new
    assert(s2.open(FXStreamSave, nil))
    assert_equal(DEFAULT_BUFFER_SIZE, s2.space)
    s2.close

    s3 = FXMemoryStream.new
    assert(s3.open(FXStreamLoad, "foo"))
    assert_equal(3, s3.space)
    s3.close

    s4 = FXMemoryStream.new
    assert(s4.open(FXStreamSave, "foo"))
    assert_equal(3, s4.space)
    s4.close
  end

  def test_open_s
    s1 = FXMemoryStream.open(FXStreamLoad, nil)
    assert_equal(DEFAULT_BUFFER_SIZE, s1.space)
    s1.close

    s2 = FXMemoryStream.open(FXStreamSave, nil)
    assert_equal(DEFAULT_BUFFER_SIZE, s2.space)
    s2.close

    s3 = FXMemoryStream.open(FXStreamLoad, "foo")
    assert_equal(3, s3.space)
    s3.close

    s4 = FXMemoryStream.open(FXStreamSave, "foo")
    assert_equal(3, s4.space)
    s4.close
  end

  def test_open_s_with_block
    stream = nil
    FXMemoryStream.open(FXStreamLoad, "foo") do |s|
      stream = s
    end
    assert_closed(stream)
  end

  def test_setSpace
    FXMemoryStream.open(FXStreamSave, nil) do |stream|
      stream.space = 5000
      assert_equal(5000, stream.space)
    end
  end

  def test_takeBuffer_empty
    FXMemoryStream.open(FXStreamSave, nil) do |stream|
      buffer = stream.takeBuffer
      assert_equal("\0", buffer)
    end
  end

  def test_giveBuffer
    FXMemoryStream.open(FXStreamLoad, nil) do |stream|
      assert_equal(DEFAULT_BUFFER_SIZE, stream.space) 
      stream.giveBuffer("foo")
      assert_equal(3, stream.space)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fxruby-1.2.3 tests/TC_FXMemoryStream.rb
fxruby-1.2.2 tests/TC_FXMemoryStream.rb