| using System; | |
| using System.Linq; | |
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |
| using OfficeOpenXml; | |
| using OfficeOpenXml.FormulaParsing; | |
| using OfficeOpenXml.FormulaParsing.Excel.Functions.Database; | |
| namespace EPPlusTest.FormulaParsing.Excel.Functions.Database | |
| { | |
| [TestClass] | |
| public class CriteriaTests | |
| { | |
| [TestMethod] | |
| public void CriteriaShouldReadFieldsAndValues() | |
| { | |
| using (var package = new ExcelPackage()) | |
| { | |
| var sheet = package.Workbook.Worksheets.Add("test"); | |
| sheet.Cells["A1"].Value = "Crit1"; | |
| sheet.Cells["B1"].Value = "Crit2"; | |
| sheet.Cells["A2"].Value = 1; | |
| sheet.Cells["B2"].Value = 2; | |
| var provider = new EpplusExcelDataProvider(package); | |
| var criteria = new ExcelDatabaseCriteria(provider, "A1:B2"); | |
| Assert.AreEqual(2, criteria.Items.Count); | |
| Assert.AreEqual("crit1", criteria.Items.Keys.First().ToString()); | |
| Assert.AreEqual("crit2", criteria.Items.Keys.Last().ToString()); | |
| Assert.AreEqual(1, criteria.Items.Values.First()); | |
| Assert.AreEqual(2, criteria.Items.Values.Last()); | |
| } | |
| } | |
| [TestMethod] | |
| public void CriteriaShouldIgnoreEmptyFields1() | |
| { | |
| using (var package = new ExcelPackage()) | |
| { | |
| var sheet = package.Workbook.Worksheets.Add("test"); | |
| sheet.Cells["A1"].Value = "Crit1"; | |
| sheet.Cells["B1"].Value = "Crit2"; | |
| sheet.Cells["A2"].Value = 1; | |
| var provider = new EpplusExcelDataProvider(package); | |
| var criteria = new ExcelDatabaseCriteria(provider, "A1:B2"); | |
| Assert.AreEqual(1, criteria.Items.Count); | |
| Assert.AreEqual("crit1", criteria.Items.Keys.First().ToString()); | |
| Assert.AreEqual(1, criteria.Items.Values.Last()); | |
| } | |
| } | |
| [TestMethod] | |
| public void CriteriaShouldIgnoreEmptyFields2() | |
| { | |
| using (var package = new ExcelPackage()) | |
| { | |
| var sheet = package.Workbook.Worksheets.Add("test"); | |
| sheet.Cells["A1"].Value = "Crit1"; | |
| sheet.Cells["A2"].Value = 1; | |
| var provider = new EpplusExcelDataProvider(package); | |
| var criteria = new ExcelDatabaseCriteria(provider, "A1:B2"); | |
| Assert.AreEqual(1, criteria.Items.Count); | |
| Assert.AreEqual("crit1", criteria.Items.Keys.First().ToString()); | |
| Assert.AreEqual(1, criteria.Items.Values.Last()); | |
| } | |
| } | |
| } | |
| } |