| using System; |
| using System.Globalization; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml.Utils; |
| |
| namespace EPPlusTest.Utils |
| { |
| [TestClass] |
| public class ConvertUtilTest |
| { |
| [TestMethod] |
| public void TryParseNumericString() |
| { |
| double result; |
| object numericString = null; |
| double expected = 0; |
| Assert.IsFalse(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| expected = 1442.0; |
| numericString = expected.ToString("e", CultureInfo.CurrentCulture); // 1.442E+003 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| numericString = expected.ToString("f0", CultureInfo.CurrentCulture); // 1442 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| numericString = expected.ToString("f2", CultureInfo.CurrentCulture); // 1442.00 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| numericString = expected.ToString("n", CultureInfo.CurrentCulture); // 1,442.0 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| expected = -0.00526; |
| numericString = expected.ToString("e", CultureInfo.CurrentCulture); // -5.26E-003 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| numericString = expected.ToString("f0", CultureInfo.CurrentCulture); // -0 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(0.0, result); |
| numericString = expected.ToString("f3", CultureInfo.CurrentCulture); // -0.005 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(-0.005, result); |
| numericString = expected.ToString("n6", CultureInfo.CurrentCulture); // -0.005260 |
| Assert.IsTrue(ConvertUtil.TryParseNumericString(numericString, out result)); |
| Assert.AreEqual(expected, result); |
| } |
| |
| [TestMethod] |
| public void TryParseDateString() |
| { |
| DateTime result; |
| object dateString = null; |
| DateTime expected = DateTime.MinValue; |
| Assert.IsFalse(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| expected = new DateTime(2013, 1, 15); |
| dateString = expected.ToString("d", CultureInfo.CurrentCulture); // 1/15/2013 |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| dateString = expected.ToString("D", CultureInfo.CurrentCulture); // Tuesday, January 15, 2013 |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| dateString = expected.ToString("F", CultureInfo.CurrentCulture); // Tuesday, January 15, 2013 12:00:00 AM |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| dateString = expected.ToString("g", CultureInfo.CurrentCulture); // 1/15/2013 12:00 AM |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| expected = new DateTime(2013, 1, 15, 15, 26, 32); |
| dateString = expected.ToString("F", CultureInfo.CurrentCulture); // Tuesday, January 15, 2013 3:26:32 PM |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(expected, result); |
| dateString = expected.ToString("g", CultureInfo.CurrentCulture); // 1/15/2013 3:26 PM |
| Assert.IsTrue(ConvertUtil.TryParseDateString(dateString, out result)); |
| Assert.AreEqual(new DateTime(2013, 1, 15, 15, 26, 0), result); |
| } |
| } |
| } |