|  | using System; | 
|  | using System.Text; | 
|  | using System.Collections.Generic; | 
|  | using System.Linq; | 
|  | using Microsoft.VisualStudio.TestTools.UnitTesting; | 
|  | using OfficeOpenXml; | 
|  | using System.IO; | 
|  | using OfficeOpenXml.DataValidation; | 
|  | using System.Xml; | 
|  | using System.Globalization; | 
|  |  | 
|  | namespace EPPlusTest.DataValidation | 
|  | { | 
|  | public abstract class ValidationTestBase | 
|  | { | 
|  | protected ExcelPackage _package; | 
|  | protected ExcelWorksheet _sheet; | 
|  | protected XmlNode _dataValidationNode; | 
|  | protected XmlNamespaceManager _namespaceManager; | 
|  | protected CultureInfo _cultureInfo; | 
|  |  | 
|  | public void SetupTestData() | 
|  | { | 
|  | _package = new ExcelPackage(); | 
|  | _sheet = _package.Workbook.Worksheets.Add("test"); | 
|  | _cultureInfo = new CultureInfo("en-US"); | 
|  | } | 
|  |  | 
|  | public void CleanupTestData() | 
|  | { | 
|  | _package = null; | 
|  | _sheet = null; | 
|  | _namespaceManager = null; | 
|  | } | 
|  |  | 
|  | protected string GetTestOutputPath(string fileName) | 
|  | { | 
|  | return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fileName); | 
|  | } | 
|  |  | 
|  | protected void SaveTestOutput(string fileName) | 
|  | { | 
|  | var path = GetTestOutputPath(fileName); | 
|  | if (File.Exists(path)) | 
|  | { | 
|  | File.Delete(path); | 
|  | } | 
|  | _package.SaveAs(new FileInfo(path)); | 
|  | } | 
|  |  | 
|  | protected void LoadXmlTestData(string address, string validationType, string formula1Value) | 
|  | { | 
|  | var xmlDoc = new XmlDocument(); | 
|  | _namespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); | 
|  | _namespaceManager.AddNamespace("d", "urn:a"); | 
|  | var sb = new StringBuilder(); | 
|  | sb.AppendFormat("<dataValidation xmlns:d=\"urn:a\" type=\"{0}\" sqref=\"{1}\">", validationType, address); | 
|  | sb.AppendFormat("<d:formula1>{0}</d:formula1>", formula1Value); | 
|  | sb.Append("</dataValidation>"); | 
|  | xmlDoc.LoadXml(sb.ToString()); | 
|  | _dataValidationNode = xmlDoc.DocumentElement; | 
|  | } | 
|  |  | 
|  | protected void LoadXmlTestData(string address, string validationType, string operatorName, string formula1Value) | 
|  | { | 
|  | var xmlDoc = new XmlDocument(); | 
|  | _namespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); | 
|  | _namespaceManager.AddNamespace("d", "urn:a"); | 
|  | var sb = new StringBuilder(); | 
|  | sb.AppendFormat("<dataValidation xmlns:d=\"urn:a\" type=\"{0}\" sqref=\"{1}\" operator=\"{2}\">", validationType, address, operatorName); | 
|  | sb.AppendFormat("<d:formula1>{0}</d:formula1>", formula1Value); | 
|  | sb.Append("</dataValidation>"); | 
|  | xmlDoc.LoadXml(sb.ToString()); | 
|  | _dataValidationNode = xmlDoc.DocumentElement; | 
|  | } | 
|  |  | 
|  | protected void LoadXmlTestData(string address, string validationType, string formula1Value, bool showErrorMsg, bool showInputMsg) | 
|  | { | 
|  | var xmlDoc = new XmlDocument(); | 
|  | _namespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); | 
|  | _namespaceManager.AddNamespace("d", "urn:a"); | 
|  | var sb = new StringBuilder(); | 
|  | sb.AppendFormat("<dataValidation xmlns:d=\"urn:a\" type=\"{0}\" sqref=\"{1}\" ", validationType, address); | 
|  | sb.AppendFormat(" showErrorMessage=\"{0}\" showInputMessage=\"{1}\">", showErrorMsg ? 1 : 0, showInputMsg ? 1 : 0); | 
|  | sb.AppendFormat("<d:formula1>{0}</d:formula1>", formula1Value); | 
|  | sb.Append("</dataValidation>"); | 
|  | xmlDoc.LoadXml(sb.ToString()); | 
|  | _dataValidationNode = xmlDoc.DocumentElement; | 
|  | } | 
|  |  | 
|  | protected void LoadXmlTestData(string address, string validationType, string formula1Value, string prompt, string promptTitle, string error, string errorTitle) | 
|  | { | 
|  | var xmlDoc = new XmlDocument(); | 
|  | _namespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); | 
|  | _namespaceManager.AddNamespace("d", "urn:a"); | 
|  | var sb = new StringBuilder(); | 
|  | sb.AppendFormat("<dataValidation xmlns:d=\"urn:a\" type=\"{0}\" sqref=\"{1}\"", validationType, address); | 
|  | sb.AppendFormat(" prompt=\"{0}\" promptTitle=\"{1}\"", prompt, promptTitle); | 
|  | sb.AppendFormat(" error=\"{0}\" errorTitle=\"{1}\">", error, errorTitle); | 
|  | sb.AppendFormat("<d:formula1>{0}</d:formula1>", formula1Value); | 
|  | sb.Append("</dataValidation>"); | 
|  | xmlDoc.LoadXml(sb.ToString()); | 
|  | _dataValidationNode = xmlDoc.DocumentElement; | 
|  | } | 
|  |  | 
|  | } | 
|  | } |