2016-03-19 13 views
1

APIがConnectionオブジェクトを受け入れるバイナリ形式パーサのテストを書いています。私はバイナリデータの例をテストケースに直接入れたいと思っています。これらの例は短く多数です。それはテキスト形式であった場合readBinできるtextConnection相当物

、私はちょうど書きたい:

test_that("readFoo parses message X", { 
    data <- readFoo(textConnection("Bar")) 
    expect_that(data$q, 1) 
}) 

...しかしreadFooは内部readBin(…, 'raw')を使用し、これはtextConnectionのではないバイナリの接続が必要です。したがって、

test_that("readFoo parses message X", { 
    data <- readFoo(textConnection('\x01\x7a\x02\x2c\x7d\x0d\x5a\x0b\x0c\x01')) 
    expect_that(data$q, 1) 
}) 

はで失敗します。

Error in readBin(conn, "raw", 10) : can only read from a binary connection 

この作品を作るために、それは可能ですか?

+0

@トーマス:どのように私はドキュメントでこれを逃したのか分かりません。これを回答として投稿できますか? – liori

答えて

3

rawConnection()関数を使用してa "raw connection"を使用します(基本的にはtextConnection()のように動作します)。基本パッケージのドキュメンテーションの相互参照はあまりよくありませんので、見逃しやすいでしょう。