public void Should_Write_Whole_Table() { var header = new string[] { "key", "val" }; var row = new string[] { "unit_type", "miles" }; var expected = new string[] { "[DATA]", "| key | val |", "|-----|-----|", "| unit_type | miles |", "| unit_type | miles |", string.Empty }; var sb = new StringBuilder(); using (var subject = new IonWriter(new StringWriter(sb))) { subject.WriteSection("DATA"); Assert.AreEqual(WriterState.Section, subject.State); subject.WriteTableHeader(header); subject.WriteTableRow(row); subject.WriteTableRow(row); Assert.AreEqual(WriterState.Section | WriterState.TableRow, subject.State); } CollectionAssert.AreEquivalent(expected, sb.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None)); }
public void IIonWriter_WriteTableRow_Throws_InvalidTableCellDataException() { var sb = new StringBuilder(); using (var subject = new IonWriter(new StringWriter(sb))) { Assert.Throws <InvalidTableCellDataException>(() => subject.WriteTableRow(new[] { "\n" })); Assert.Throws <InvalidTableCellDataException>(() => subject.WriteTableRow(new[] { "|" })); } }
public void Should_Write_Table_Outside_Section() { var row = new string[] { "unit_type", "miles" }; var expected = new string[] { "| unit_type | miles |", "| unit_type | miles |", string.Empty }; var sb = new StringBuilder(); using (var subject = new IonWriter(new StringWriter(sb))) { subject.WriteTableRow(row); subject.WriteTableRow(row); Assert.AreEqual(WriterState.TableRow, subject.State); } CollectionAssert.AreEquivalent(expected, sb.ToString().Split(new string[] { Environment.NewLine }, StringSplitOptions.None)); }