* 文字列を出力するテスト。
* @throws Exception 例外が発生した場合
*/
@Test
public void emitString() throws Exception {
StringOption value = new StringOption();
value.modify("");
emitter.emit(value);
value.modify("Hello, world!");
emitter.emit(value);
value.modify("こんにちは、世界!");
emitter.emit(value);
emitter.endRecord();
value.setNull();
emitter.emit(value);
value.modify("\n\t\\");
emitter.emit(value);
value.modify(LONG_STRING);
emitter.emit(value);
emitter.endRecord();
emitter.close();
RecordParser parser = parser();
assertThat(parser.next(), is(true));
parser.fill(value);
assertThat(value.getAsString(), is(""));
parser.fill(value);
assertThat(value.getAsString(), is("Hello, world!"));
parser.fill(value);
assertThat(value.getAsString(), is("こんにちは、世界!"));
assertThat(parser.next(), is(true));
parser.fill(value);
assertThat(value.isNull(), is(true));
parser.fill(value);
assertThat(value.getAsString(), is("\n\t\\"));
parser.fill(value);
assertThat(value.getAsString(), is(LONG_STRING));
assertThat(parser.next(), is(false));
}