예제 #1
0
        public void TryGetValue_Enum_BadString()
        {
            var ws = new XLWorkbook().AddWorksheet();

            Assert.IsFalse(ws.FirstCell().SetValue("ABC").TryGetValue(out NumberStyles value));
            Assert.IsFalse(ws.FirstCell().SetValue("ABC").TryGetValue(out NumberStyles? value2));
        }
예제 #2
0
        public void InsertData_with_Guids()
        {
            var ws = new XLWorkbook().Worksheets.Add("Sheet1");

            ws.FirstCell().InsertData(Enumerable.Range(1, 20).Select(i => new { Guid = Guid.NewGuid() }));

            Assert.AreEqual(XLDataType.Text, ws.FirstCell().DataType);
            Assert.AreEqual(Guid.NewGuid().ToString().Length, ws.FirstCell().GetString().Length);
        }
        public void TryGetValue_DateTime_BadString2()
        {
            IXLWorksheet ws   = new XLWorkbook().Worksheets.Add("Sheet1");
            var          date = 5545454;

            ws.FirstCell().SetValue(date).DataType = XLDataType.DateTime;
            bool success = ws.FirstCell().TryGetValue(out DateTime outValue);

            Assert.IsFalse(success);
        }
예제 #4
0
        public void TryGetValue_Enum_Good()
        {
            var ws = new XLWorkbook().AddWorksheet();

            Assert.IsTrue(ws.FirstCell().SetValue(NumberStyles.AllowCurrencySymbol).TryGetValue(out NumberStyles value));
            Assert.AreEqual(NumberStyles.AllowCurrencySymbol, value);

            // Nullable alternative
            Assert.IsTrue(ws.FirstCell().SetValue(NumberStyles.AllowCurrencySymbol).TryGetValue(out NumberStyles? value2));
            Assert.AreEqual(NumberStyles.AllowCurrencySymbol, value2);
        }
예제 #5
0
        public void InsertTooLargeNumberOrRowsFails()
        {
            var ws    = new XLWorkbook().AddWorksheet("Sheet1");
            var range = ws.FirstCell().AsRange();

            Assert.Throws(typeof(ArgumentOutOfRangeException), () => range.InsertRowsAbove(1048577));
            Assert.Throws(typeof(ArgumentOutOfRangeException), () => range.InsertRowsBelow(1048577));
        }
예제 #6
0
        public void InsertTooLargeNumberOfColumnsFails()
        {
            var ws    = new XLWorkbook().AddWorksheet("Sheet1");
            var range = ws.FirstCell().AsRange();

            Assert.Throws(typeof(ArgumentOutOfRangeException), () => range.InsertColumnsAfter(16385));
            Assert.Throws(typeof(ArgumentOutOfRangeException), () => range.InsertColumnsBefore(16385));
        }
        public void CanCreateInvalidSparklineWithoutSourceData()
        {
            var ws        = new XLWorkbook().AddWorksheet("Sheet1");
            var group     = new XLSparklineGroup(ws);
            var sparkline = new XLSparkline(group, ws.FirstCell(), null);

            Assert.IsFalse(sparkline.IsValid);
        }
예제 #8
0
        public void SetCellValueToEnum()
        {
            var ws       = new XLWorkbook().AddWorksheet("Sheet1");
            var dataType = XLDataType.Number;

            ws.FirstCell().Value = dataType;
            Assert.AreEqual(XLDataType.Text, ws.FirstCell().DataType);
            Assert.AreEqual(dataType.ToString(), ws.FirstCell().Value);
            Assert.AreEqual(dataType.ToString(), ws.FirstCell().GetString());

            dataType = XLDataType.TimeSpan;
            ws.FirstCell().SetValue(dataType);
            Assert.AreEqual(XLDataType.Text, ws.FirstCell().DataType);
            Assert.AreEqual(dataType.ToString(), ws.FirstCell().Value);
            Assert.AreEqual(dataType.ToString(), ws.FirstCell().GetString());
        }
예제 #9
0
        public void SetCellValueToGuid()
        {
            var ws   = new XLWorkbook().AddWorksheet("Sheet1");
            var guid = Guid.NewGuid();

            ws.FirstCell().Value = guid;
            Assert.AreEqual(XLDataType.Text, ws.FirstCell().DataType);
            Assert.AreEqual(guid.ToString(), ws.FirstCell().Value);
            Assert.AreEqual(guid.ToString(), ws.FirstCell().GetString());

            guid = Guid.NewGuid();
            ws.FirstCell().SetValue(guid);
            Assert.AreEqual(XLDataType.Text, ws.FirstCell().DataType);
            Assert.AreEqual(guid.ToString(), ws.FirstCell().Value);
            Assert.AreEqual(guid.ToString(), ws.FirstCell().GetString());
        }
예제 #10
0
        public void InsertData_with_Nulls_IEnumerable()
        {
            var ws = new XLWorkbook().Worksheets.Add("Sheet1");

            var dateTimeList = new List <DateTime?>()
            {
                new DateTime(2000, 1, 1),
                new DateTime(2000, 1, 2),
                new DateTime(2000, 1, 3),
                new DateTime(2000, 1, 4),
                null
            };

            ws.FirstCell().InsertData(dateTimeList);

            Assert.AreEqual(new DateTime(2000, 1, 1), ws.Cell("A1").GetDateTime());
            Assert.AreEqual(String.Empty, ws.Cell("A5").Value);
        }
예제 #11
0
        public void WorksheetContainsNamedRange()
        {
            IXLWorksheet ws = new XLWorkbook().AddWorksheet("Sheet1");

            ws.FirstCell().AddToNamed("Name", XLScope.Worksheet);

            Assert.IsTrue(ws.NamedRanges.Contains("Name"));
            Assert.IsFalse(ws.NamedRanges.Contains("NameX"));

            Assert.IsNotNull(ws.NamedRange("Name"));
            Assert.IsNull(ws.NamedRange("NameX"));

            Boolean result1 = ws.NamedRanges.TryGetValue("Name", out IXLNamedRange range1);

            Assert.IsTrue(result1);
            Assert.IsNotNull(range1);

            Boolean result2 = ws.NamedRanges.TryGetValue("NameX", out IXLNamedRange range2);

            Assert.IsFalse(result2);
            Assert.IsNull(range2);
        }
예제 #12
0
        public void InsertData_with_Nulls()
        {
            var ws = new XLWorkbook().Worksheets.Add("Sheet1");

            var table = new DataTable();

            table.TableName = "Patients";
            table.Columns.Add("Dosage", typeof(int));
            table.Columns.Add("Drug", typeof(string));
            table.Columns.Add("Patient", typeof(string));
            table.Columns.Add("Date", typeof(DateTime));

            table.Rows.Add(25, "Indocin", "David", new DateTime(2000, 1, 1));
            table.Rows.Add(50, "Enebrel", "Sam", new DateTime(2000, 1, 2));
            table.Rows.Add(10, "Hydralazine", "Christoff", new DateTime(2000, 1, 3));
            table.Rows.Add(21, "Combivent", DBNull.Value, new DateTime(2000, 1, 4));
            table.Rows.Add(100, "Dilantin", "Melanie", DBNull.Value);

            ws.FirstCell().InsertData(table);

            Assert.AreEqual(25, ws.Cell("A1").Value);
            Assert.AreEqual("", ws.Cell("C4").Value);
            Assert.AreEqual("", ws.Cell("D5").Value);
        }