| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml.DataValidation; |
| using System.IO; |
| using OfficeOpenXml; |
| |
| namespace EPPlusTest.DataValidation.IntegrationTests |
| { |
| /// <summary> |
| /// Remove the Ignore attributes from the testmethods if you want to run any of these tests |
| /// </summary> |
| [TestClass] |
| public class IntegrationTests : ValidationTestBase |
| { |
| [TestInitialize] |
| public void Setup() |
| { |
| SetupTestData(); |
| } |
| |
| [TestCleanup] |
| public void Cleanup() |
| { |
| CleanupTestData(); |
| } |
| |
| [TestMethod, Ignore] |
| public void DataValidations_AddOneValidationOfTypeWhole() |
| { |
| _sheet.Cells["B1"].Value = 2; |
| var validation = _sheet.DataValidations.AddIntegerValidation("A1"); |
| validation.ShowErrorMessage = true; |
| validation.ErrorStyle = ExcelDataValidationWarningStyle.stop; |
| validation.ErrorTitle = "Invalid value was entered"; |
| validation.PromptTitle = "Enter value here"; |
| validation.Operator = ExcelDataValidationOperator.greaterThan; |
| //validation.Value.Value = 3; |
| validation.Formula.ExcelFormula = "B1"; |
| |
| _package.SaveAs(new FileInfo(GetTestOutputPath("AddOneValidationOfTypeWhole.xlsx"))); |
| } |
| [TestMethod, Ignore] |
| public void DataValidations_AddOneValidationOfTypeDecimal() |
| { |
| var validation = _sheet.DataValidations.AddDecimalValidation("A1"); |
| validation.ShowErrorMessage = true; |
| validation.ErrorStyle = ExcelDataValidationWarningStyle.stop; |
| validation.ErrorTitle = "Invalid value was entered"; |
| validation.Error = "Value must be greater than 1.4"; |
| validation.PromptTitle = "Enter value here"; |
| validation.Prompt = "Enter a value that is greater than 1.4"; |
| validation.ShowInputMessage = true; |
| validation.Operator = ExcelDataValidationOperator.greaterThan; |
| validation.Formula.Value = 1.4; |
| |
| _package.SaveAs(new FileInfo(GetTestOutputPath("AddOneValidationOfTypeDecimal.xlsx"))); |
| } |
| |
| [TestMethod] |
| public void DataValidations_AddOneValidationOfTypeListOfTypeList() |
| { |
| var validation = _sheet.DataValidations.AddListValidation("A:A"); |
| validation.ShowErrorMessage = true; |
| validation.ShowInputMessage = true; |
| validation.Formula.Values.Add("1"); |
| validation.Formula.Values.Add("2"); |
| validation.Formula.Values.Add("3"); |
| validation.Validate(); |
| |
| _package.SaveAs(new FileInfo(GetTestOutputPath("AddOneValidationOfTypeList.xlsx"))); |
| } |
| |
| [TestMethod] |
| public void DataValidations_AddOneValidationOfTypeListOfTypeTime() |
| { |
| var validation = _sheet.DataValidations.AddTimeValidation("A1"); |
| validation.ShowErrorMessage = true; |
| validation.ShowInputMessage = true; |
| validation.Formula.Value.Hour = 14; |
| validation.Formula.Value.Minute = 30; |
| validation.Operator = ExcelDataValidationOperator.greaterThan; |
| validation.Prompt = "Enter a time greater than 14:30"; |
| validation.Error = "Invalid time was entered"; |
| validation.Validate(); |
| |
| _package.SaveAs(new FileInfo(GetTestOutputPath("AddOneValidationOfTypeTime.xlsx"))); |
| } |
| |
| [TestMethod, Ignore] |
| public void DataValidations_ReadExistingWorkbookWithDataValidations() |
| { |
| using (var package = new ExcelPackage(new FileInfo(GetTestOutputPath("DVTest.xlsx")))) |
| { |
| Assert.AreEqual(3, package.Workbook.Worksheets[1].DataValidations.Count); |
| } |
| } |
| |
| //[TestMethod] |
| //public void Bug_OpenOffice() |
| //{ |
| // var xlsPath = GetTestOutputPath("OpenOffice.xlsx"); |
| // var newFile = new FileInfo(xlsPath); |
| // if( newFile.Exists) |
| // { |
| // newFile.Delete(); |
| // //ensures we create a new workbook |
| // newFile = new FileInfo(xlsPath); |
| |
| // } |
| // using(var package = new ExcelPackage(newFile)) |
| // { |
| // // add a new worksheet to the empty workbook |
| // var worksheet = package.Workbook.Worksheets.Add("Inventory"); |
| // // Add the headers |
| // worksheet.Cells[1, 1].Value = "ID"; |
| // worksheet.Cells[1, 2].Value = "Product"; |
| //// worksheet.Cells[1, 3].Value = "Quantity"; |
| // worksheet.Cells[1, 4].Value = "Price"; |
| |
| // worksheet.Cells[1, 5].Value = "Value"; |
| |
| // worksheet.Column(1).Width = 15; |
| // worksheet.Column(2).Width = 12; |
| // worksheet.Column(3).Width = 12; |
| |
| // worksheet.View.PageLayoutView = true; |
| |
| // package.Workbook.Properties.Title = "Invertory"; |
| // package.Workbook.Properties.Author = "Jan Källman"; |
| // package.Save(); |
| // } |
| |
| } |
| } |