|  | 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()); | 
|  | } | 
|  | } | 
|  |  | 
|  | } | 
|  | } |