public void Render_2Separators_AddAbstractNoteOperationNoteDetails() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("section 1`section 2`section 3"); Assert.Equal(3, elements.Count); // 1: add @type=abstract XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("abstract", elem.Attribute("type")?.Value); Assert.Equal("section 1", elem.Value); // 2: note @type=operation elem = elements[1]; Assert.Equal(XmlHelper.TEI + "note", elem.Name); Assert.Equal("operation", elem.Attribute("type")?.Value); Assert.Equal("section 2", elem.Value); // 3: note @type=details elem = elements[2]; Assert.Equal(XmlHelper.TEI + "note", elem.Name); Assert.Equal("details", elem.Attribute("type")?.Value); Assert.Equal("section 3", elem.Value); }
public void Render_Empty_None() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render(""); Assert.Empty(elements); }
public void Render_InitialSeparator_NoteOperation() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("`section 2"); Assert.Single(elements); // 2: note @type=operation XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "note", elem.Name); Assert.Equal("operation", elem.Attribute("type")?.Value); Assert.Equal("section 2", elem.Value); }
public void Render_NoSeparator_AddAbstract() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("section 1"); Assert.Single(elements); // 1: add @type=abstract XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("abstract", elem.Attribute("type")?.Value); Assert.Equal("section 1", elem.Value); }
public void Render_Newline_Lb() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("hello\r\nworld!"); Assert.Single(elements); // 1: add @type=abstract XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("abstract", elem.Attribute("type")?.Value); Assert.True(elem.HasElements); Assert.Equal("<add type=\"abstract\" " + $"xmlns=\"{TEI_NS}\">" + "hello<lb />world!</add>", elem.ToString()); }
public void Render_Italic_Emph() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("hello _world_!"); Assert.Single(elements); // 1: add @type=abstract XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("abstract", elem.Attribute("type")?.Value); Assert.True(elem.HasElements); Assert.Equal("<add type=\"abstract\" " + $"xmlns=\"{TEI_NS}\">" + "hello <emph style=\"font-style:italic\">world</emph>!</add>", elem.ToString()); }
public void Render_3Separators_AddAbstractAddIntertext() { NoteElementRenderer renderer = new NoteElementRenderer(); IList <XElement> elements = renderer.Render("section 1```section 4"); Assert.Equal(2, elements.Count); // 1: add @type=abstract XElement elem = elements[0]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("abstract", elem.Attribute("type")?.Value); Assert.Equal("section 1", elem.Value); // 4: add @type=intertext elem = elements[1]; Assert.Equal(XmlHelper.TEI + "add", elem.Name); Assert.Equal("intertext", elem.Attribute("type")?.Value); Assert.Equal("section 4", elem.Value); }