Beispiel #1
0
        public void WriteToStreamAsync_WithComplexTestItem_WritesExcelDocumentToStream()
        {
            var data = new ComplexTestItem
            {
                Value1 = "Item 1",
                Value2 = DateTime.Today,
                Value3 = true,
                Value4 = 100.1,
                Value5 = TestEnum.First,
                Value6 = "Ignored"
            };

            var sheet = GetWorksheetFromStream(new XlsxMediaTypeFormatter(), data);

            sheet.Dimension.Should().NotBeNull("Worksheet has no cells.");
            sheet.Dimension.End.Row.Should().Be(2, "Worksheet should have two rows (including header column).");
            sheet.Dimension.End.Column.Should().Be(5, "Worksheet should have five columns.");
            sheet.GetValue <string>(1, 1).Should().Be("Header 4", "Header in A1 is incorrect.");
            sheet.GetValue <string>(1, 2).Should().Be("Value1", "Header in B1 is incorrect.");
            sheet.GetValue <string>(1, 3).Should().Be("Header 5", "Header in C1 is incorrect.");
            sheet.GetValue <string>(1, 4).Should().Be("Header 3", "Header in D1 is incorrect.");
            sheet.GetValue <string>(1, 5).Should().Be("Value2", "Header in E1 is incorrect.");
            sheet.GetValue <double>(2, 1).Should().Be(data.Value4, "Value in A2 is incorrect.");
            sheet.Cells[2, 1].Style.Numberformat.Format.Should().Be("???.???", "NumberFormat of A2 is incorrect.");
            sheet.GetValue <string>(2, 2).Should().Be(data.Value1, "Value in B2 is incorrect.");
            sheet.GetValue <string>(2, 3).Should().Be(data.Value5.ToString(), "Value in C2 is incorrect.");
            sheet.GetValue <string>(2, 4).Should().Be(data.Value3.ToString(), "Value in D2 is incorrect.");
            sheet.GetValue <DateTime>(2, 5).Should().Be(data.Value2, "Value in E2 is incorrect.");
        }
        public void WriteToStreamAsync_WithEmptyListOfComplexTestItem_DoesNotCrash()
        {
            var data = new ComplexTestItem[0];

            var expected = new[] { new object[] { "Header 4", "Value1", "Header 5", "Header 3", "Value2" } };

            GenerateAndCompareWorksheet(data, expected);
        }
        public void WriteToStreamAsync_WithComplexTestItem_WritesExcelDocumentToStream()
        {
            var data = new ComplexTestItem {
                Value1 = "Item 1",
                Value2 = DateTime.Today,
                Value3 = true,
                Value4 = 100.1,
                Value5 = TestEnum.First,
                Value6 = "Ignored"
            };

            var expected = new[] { new object[] { "Header 4", "Value1", "Header 5", "Header 3", "Value2" },
                                   new object[] { data.Value4, data.Value1, data.Value5.ToString(), data.Value3.ToString(), data.Value2 } };

            var sheet = GenerateAndCompareWorksheet(data, expected);

            Assert.AreEqual("???.???", sheet.Cells[2, 1].Style.Numberformat.Format, "NumberFormat of A2 is incorrect.");
        }
Beispiel #4
0
        public void GetFieldOrPropertyValueT_ComplexTestItem_ReturnsPropertyValues()
        {
            var obj = new ComplexTestItem()
            {
                Value1 = "Value 1",
                Value2 = DateTime.Today,
                Value3 = true,
                Value4 = 100.1,
                Value5 = TestEnum.Second,
                Value6 = "Value 6"
            };

            Assert.AreEqual(obj.Value1, FormatterUtils.GetFieldOrPropertyValue <string>(obj, "Value1"));
            Assert.AreEqual(obj.Value2, FormatterUtils.GetFieldOrPropertyValue <DateTime>(obj, "Value2"));
            Assert.AreEqual(obj.Value3, FormatterUtils.GetFieldOrPropertyValue <bool>(obj, "Value3"));
            Assert.AreEqual(obj.Value4, FormatterUtils.GetFieldOrPropertyValue <double>(obj, "Value4"));
            Assert.AreEqual(obj.Value5, FormatterUtils.GetFieldOrPropertyValue <TestEnum>(obj, "Value5"));
            Assert.AreEqual(obj.Value6, FormatterUtils.GetFieldOrPropertyValue <string>(obj, "Value6"));
        }
Beispiel #5
0
        public void GetFieldOrPropertyValueT_ComplexTestItem_ReturnsPropertyValues()
        {
            var obj = new ComplexTestItem
            {
                Value1 = "Value 1",
                Value2 = DateTime.Today,
                Value3 = true,
                Value4 = 100.1,
                Value5 = TestEnum.Second,
                Value6 = "Value 6"
            };

            FormatterUtils.GetFieldOrPropertyValue <string>(obj, "Value1").Should().Be(obj.Value1);
            FormatterUtils.GetFieldOrPropertyValue <DateTime>(obj, "Value2").Should().Be(obj.Value2);
            FormatterUtils.GetFieldOrPropertyValue <bool>(obj, "Value3").Should().Be(obj.Value3);
            FormatterUtils.GetFieldOrPropertyValue <double>(obj, "Value4").Should().Be(obj.Value4);
            FormatterUtils.GetFieldOrPropertyValue <TestEnum>(obj, "Value5").Should().Be(obj.Value5);
            FormatterUtils.GetFieldOrPropertyValue <string>(obj, "Value6").Should().Be(obj.Value6);
        }