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