public void Rendering()
{
var sb = new StringBuilder();
new DialogText("test {0}", 123).Render(ref sb);
Assert.Equal("test 123", sb.ToString());
sb.Clear();
new DialogPortrait("foobar").Render(ref sb);
Assert.Equal("<npcportrait name='foobar' />", sb.ToString());
sb.Clear();
new DialogTitle("foobar").Render(ref sb);
Assert.Equal("<title name='foobar' />", sb.ToString());
sb.Clear();
new DialogTitle(null).Render(ref sb);
Assert.Equal("<title name='NONE' />", sb.ToString());
sb.Clear();
new DialogHotkey("foobar").Render(ref sb);
Assert.Equal("<hotkey name='foobar' />", sb.ToString());
sb.Clear();
new DialogButton("Foobar").Render(ref sb);
Assert.Equal("<button title='Foobar' keyword='@foobar' />", sb.ToString());
sb.Clear();
new DialogButton("Foobar", "@foo").Render(ref sb);
Assert.Equal("<button title='Foobar' keyword='@foo' />", sb.ToString());
sb.Clear();
new DialogButton("Foobar", "@foo", "asdf").Render(ref sb);
Assert.Equal("<button title='Foobar' keyword='@foo' onframe='asdf' />", sb.ToString());
sb.Clear();
new DialogBgm("foobar.mp3").Render(ref sb);
Assert.Equal("<music name='foobar.mp3'/>", sb.ToString());
sb.Clear();
new DialogImage("foobar").Render(ref sb);
Assert.Equal("<image name='foobar' />", sb.ToString());
sb.Clear();
new DialogImage("foobar", true).Render(ref sb);
Assert.Equal("<image name='foobar' local='true' />", sb.ToString());
sb.Clear();
new DialogImage("foobar", true, 100, 200).Render(ref sb);
Assert.Equal("<image name='foobar' local='true' width='100' height='200' />", sb.ToString());
sb.Clear();
new DialogList("foobar", new DialogButton("test1")).Render(ref sb);
Assert.Equal("<listbox page_size='1' title='foobar' cancel='@end'><button title='test1' keyword='@test1' /></listbox>", sb.ToString());
sb.Clear();
new DialogList("foobar", 20, "@foo", new DialogButton("test1"), new DialogButton("test2")).Render(ref sb);
Assert.Equal("<listbox page_size='20' title='foobar' cancel='@foo'><button title='test1' keyword='@test1' /><button title='test2' keyword='@test2' /></listbox>", sb.ToString());
sb.Clear();
new DialogInput("Foobar", "...", 21, false).Render(ref sb);
Assert.Equal("<inputbox title='Foobar' caption='...' max_len='21' allow_cancel='false' />", sb.ToString());
sb.Clear();
new DialogAutoContinue(20).Render(ref sb);
Assert.Equal("<autopass duration='20'/>", sb.ToString());
sb.Clear();
new DialogFaceExpression("good").Render(ref sb);
Assert.Equal("<face name='good'/>", sb.ToString());
sb.Clear();
new DialogMovie("foobar.wmv", 500, 300, true).Render(ref sb);
Assert.Equal("<movie name='foobar.wmv' width='500' height='300' loop='true' />", sb.ToString());
sb.Clear();
new DialogMinimap(true, false, true).Render(ref sb);
Assert.Equal("<openminimap zoom='true' max_size='false' center='true' />", sb.ToString());
sb.Clear();
new DialogShowPosition(1, 20000, 30000, 5000).Render(ref sb);
Assert.Equal("<show_position region='1' pos='20000 30000' remainingtime='5000' />", sb.ToString());
sb.Clear();
new DialogShowDirection(100, 200, 90).Render(ref sb);
Assert.Equal("<show_dir pos='100 200' pitch='90' />", sb.ToString());
sb.Clear();
new DialogSetDefaultName("Foobar").Render(ref sb);
Assert.Equal("<defaultname name='Foobar' />", sb.ToString());
sb.Clear();
new DialogSelectItem("Foobar", "...", "/foobar/").Render(ref sb);
Assert.Equal("<selectitem title='Foobar' caption='...' stringid='/foobar/' />", sb.ToString());
sb.Clear();
//new DialogPtjDesc(...).Render(ref sb);
//Assert.Equal("", sb.ToString());
//sb.Clear();
new DialogPtjReport(QuestResult.Mid).Render(ref sb);
Assert.Equal("<arbeit_report result=\"1\"/>", sb.ToString());
sb.Clear();
}