2016-03-19 11 views
1

API'si bir Connection nesnesini kabul eden bir ikili biçim ayrıştırıcısı için test yapıyorum. Bu örneklerin kısa ve sayısız olması nedeniyle ikili veri örneklerini doğrudan test senaryolarına koymak istiyorum. Bir metin biçimi olsaydıtextBağlantıya eşdeğer olabilirBinebir

, sadece yazmak istiyorum:

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

... ama readFoo içten readBin(…, 'raw') kullanır ve bu textConnection olmayan bir ikili bağlantı gerektirir.

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

bu işi yapmak mümkün mü: Bu nedenle,

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

ile başarısız?

+0

@Thomas: Bunu belgelerde nasıl özledim bilmiyorum. Bunu bir cevap olarak gönderebilir misiniz? – liori

cevap

3

a "raw connection", rawConnection() işlevini kullanarak temelde textConnection() gibi davranır. Temel paket dokümantasyonundaki çapraz referanslar çok iyi değildir, bu yüzden bunu kaçırmak kolay olabilir.