### Question:
HtmlLanguageBuilder { public HtmlLanguageBuilder document(String prefix, String suffix) { checkNotNull(prefix, "Must provide a prefix"); checkNotNull(suffix, "Must provide a suffix"); documentHandler = new LiteralHtmlDocumentHandler(prefix, suffix); return this; } HtmlLanguageBuilder(); HtmlLanguageBuilder name(String name); HtmlLanguageBuilder add(BlockType blockType); HtmlLanguageBuilder add(SpanType spanType); HtmlLanguageBuilder addSubstitution(SpanType spanType, String alternativeTagName); HtmlLanguageBuilder addHeadings(int level); HtmlLanguageBuilder addSpanFont(); HtmlLanguageBuilder setXhtmlStrict(boolean xhtmlStrict); HtmlLanguageBuilder document(String prefix, String suffix); HtmlLanguage create();  }### Answer:
@Test public void document() { HtmlSubsetLanguage subsetLanguage = (HtmlSubsetLanguage) builder.add(BlockType.PARAGRAPH) .document("<div>", "</div>") .name("Test") .create(); StringWriter writer = new StringWriter(); DocumentBuilder documentBuilder = subsetLanguage.createDocumentBuilder(writer); documentBuilder.beginDocument(); documentBuilder.characters("test"); documentBuilder.endDocument(); assertEquals("<div>test</div>", writer.toString()); }
@Test public void documentNullPrefix() { thrown.expect(NullPointerException.class); thrown.expectMessage("Must provide a prefix"); builder.document(null, "ouch"); }
@Test public void documentNullSuffix() { thrown.expect(NullPointerException.class); thrown.expectMessage("Must provide a suffix"); builder.document("ouch", null); }