require 'test/unit' require 'fox16' class TC_FXMemoryStream < Test::Unit::TestCase include Fox DEFAULT_BUFFER_SIZE = 16 private def assert_closed(stream) stream.open(FXStreamSave, nil) == false end public def test_open_streamload_nil_data s = FXMemoryStream.new assert(s.open(FXStreamLoad, nil)) assert_equal(DEFAULT_BUFFER_SIZE, s.space) s.close end def test_open_streamsave_nil_data s = FXMemoryStream.new assert(s.open(FXStreamSave, nil)) assert_equal(DEFAULT_BUFFER_SIZE, s.space) s.close end def test_open_streamload_unknown_size s = FXMemoryStream.new assert(s.open(FXStreamLoad, "foo")) s.close end def test_open_streamsave_unknown_size s = FXMemoryStream.new assert(s.open(FXStreamSave, "foo")) s.close end def test_open_s_load_nil_buffer s = FXMemoryStream.open(FXStreamLoad, nil) assert_equal(DEFAULT_BUFFER_SIZE, s.space) s.close end def test_open_s_save_nil_buffer s = FXMemoryStream.open(FXStreamSave, nil) assert_equal(DEFAULT_BUFFER_SIZE, s.space) s.close end def test_open_s_load_unknown_buffer_size s = FXMemoryStream.open(FXStreamLoad, "foo") assert_equal(3, s.space) s.close end def test_open_s_save_unknown_buffer_size s = FXMemoryStream.open(FXStreamSave, "foo") assert_equal(3, s.space) s.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" * 16, 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