Example #1
0
        public void RenderingTimeField_RendersCorrectly()
        {
            var frs = new FlexResultSet();

            var dt = new List <SQLColumn>()
            {
                SchemaScriptingTests.FakeColumn("ColIntNotNull", "MyStuff", 32, "int", false, 255, 255),
                SchemaScriptingTests.FakeColumn("ColIntNull", "MyStuff", 32, "int", true, 255, 255),
                SchemaScriptingTests.FakeColumn("ColTimeOfDay", "MyStuff", 32, "time", true, 255, 255)
            };

            var result = new FlexResult()
            {
                schema = dt,
                data   = new List <object[]>()
                {
                    new object[] { 99, 111, new TimeSpan(0, 00, 00, 00, 001) },
                    new object[] { 42, null, new TimeSpan(23, 59, 30) },
                }
            };

            frs.results.Add(result);

            var tempFileName = Guid.NewGuid().ToString() + ".txt";

            var srp = new SqlRunParameters(new SqlConnectionStringBuilder(), "", SqlRunParameters.TO_XML_SPREADSHEET, tempFileName);

            XmlSpreadsheetRenderer.renderAsXMLSpreadsheet(frs, srp);

            var xmlSpreadsheetContent = srp.getOutputStreamAsString(tempFileName);

            Assert.IsTrue(xmlSpreadsheetContent.Length > 1000, "expected more than 1000 characters of output");

            Assert.IsTrue(xmlSpreadsheetContent.Contains(">99<"));
            Assert.IsTrue(xmlSpreadsheetContent.Contains(">111<"));
            Assert.IsTrue(xmlSpreadsheetContent.Contains(">1899-12-31T00:00:00.001<"));
            Assert.IsTrue(xmlSpreadsheetContent.Contains(">42<"));
            Assert.IsTrue(xmlSpreadsheetContent.Contains(">1899-12-31T23:59:30.000<"));

            XmlDocument doc = null;

            Assert.DoesNotThrow(() => {
                doc = new XmlDocument();
                doc.LoadXml(xmlSpreadsheetContent);
            }, "expected no exception");

            Assert.IsNotNull(doc, "expected valid XML");
        }