次の行をテストする必要があります。
result = handle(streamOfMessages)
およびは十分messages
にcontext
入力されたハッシュです。私は次のように書くことができますit
:
messages1 = [ {"type"=>"someType1","value"=>"someBigHash1"}, {"type"=>"someType2","value"=>"someBigHash2"}, {"type"=>"someType1","value"=>"someBigHash3"} ]
result1 = handle(messages1)
result1.should == [someValue1, someOtherValue1]
messages2 = [ {"type"=>"someType1","value"=>"someBigHash1"}, {"type"=>"someType2","value"=>"someBigHash2"}, {"type"=>"someType1","value"=>"someBigHash3"} ]
result2 = handle(messages1)
result2.should == [someValue2, someOtherValue2]
// same about messages3, result3 etc
配列の配列を作成messages[i]
し、ループ内で参照できます。しかし、それはすべてかなりオールドスカルなアプローチに見えるので、より刺激的な (またはDSLベースと言うべき) プログラミング スタイルを探しています。メッセージのストリームを構築するため、および異なる結果を期待しながら複数のストリームを反復処理するための両方について、より優れた構文があれば素晴らしいことです。