Example #1
0
        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));
        }
Example #2
0
        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[] { "|" }));
            }
        }
Example #3
0
        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));
        }