Thanks,
CreateBinary made the picture file pass the test.
I'm having some trouble with some plain text and newlines. Any idea why "test_3" don't pass?

require 'test/unit'
include System::IO
class Binstring < Test::Unit::TestCase

  def test_1
    fileName = 'flowers.jpg'

    #Ruby
    data1 = File.read(fileName)

    #.Net
    fs = FileStream.new(fileName, FileMode.Open, FileAccess.Read)
    br = BinaryReader.new(fs)
    numBytes = FileInfo.new(fileName).Length
    buff = br.ReadBytes(numBytes)
    data2 = String.CreateBinary(buff)

    assert data1 == data2
  end

  def test_2
    fileName = 'flowers.jpg'

    #Ruby
    data1 = File.read(fileName)

    #.Net
    fs = FileStream.new(fileName, FileMode.Open, FileAccess.Read)
    data2 = "".Append(fs, fs.length)

    assert data1 == data2
  end

  def test_3
    data0 = "This is a test\n"
    File.open('test.txt', 'w') {|f| f.write(data0) }
    data1 = File.read('test.txt')
    fs = FileStream.new('test.txt', FileMode.Open, FileAccess.Read)
    br = BinaryReader.new(fs)
    numBytes = FileInfo.new('test.txt').Length
    buff = br.ReadBytes(numBytes)
    data2 = String.CreateBinary(buff)

    assert_equal data0, data1
    assert_equal data0, data2
    assert_equal data1, data2
  end
end

-----------

Loaded suite binstring
Started
..F
Finished in 0.46875 seconds.

  1) Failure:
test_3(Binstring)
    [binstring.rb:45:in `test_3'
     c:/Ironruby/lib/IronRuby/test/unit/testcase.rb:79:in `run'
     :0:in `send'
     testrunner.rb:66:in `start_mediator'
     :0:in `each']:
<"This is a test\n"> expected but was
<"This is a test\r\n">.

3 tests, 4 assertions, 1 failures, 0 errors


On Fri, 23 Oct 2009 03:56:38 +0200, Tomas Matousek <tomas.matou...@microsoft.com> wrote:

In this particular case, I would recommend to use .NET API:

include System::IO
=> Object
stream = FileStream.new("c:\\temp\\a.txt", FileMode.Open, FileAccess.Read)
=> System.IO.FileStream
"".Append(stream, stream.Length)
=> "hello"

Tomas
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to