| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml.FormulaParsing.Excel.Functions; |
| |
| namespace EPPlusTest.Excel.Functions |
| { |
| [TestClass] |
| public class ArgumentParsersImplementationsTests |
| { |
| [TestMethod, ExpectedException(typeof(ArgumentNullException))] |
| public void IntParserShouldThrowIfArgumentIsNull() |
| { |
| var parser = new IntArgumentParser(); |
| parser.Parse(null); |
| } |
| |
| [TestMethod] |
| public void IntParserShouldConvertToAnInteger() |
| { |
| var parser = new IntArgumentParser(); |
| var result = parser.Parse(3); |
| Assert.AreEqual(3, result); |
| } |
| |
| [TestMethod] |
| public void IntParserShouldConvertADoubleToAnInteger() |
| { |
| var parser = new IntArgumentParser(); |
| var result = parser.Parse(3d); |
| Assert.AreEqual(3, result); |
| } |
| |
| [TestMethod] |
| public void IntParserShouldConvertAStringValueToAnInteger() |
| { |
| var parser = new IntArgumentParser(); |
| var result = parser.Parse("3"); |
| Assert.AreEqual(3, result); |
| } |
| |
| [TestMethod] |
| public void BoolParserShouldConvertNullToFalse() |
| { |
| var parser = new BoolArgumentParser(); |
| var result = (bool)parser.Parse(null); |
| Assert.IsFalse(result); |
| } |
| |
| [TestMethod] |
| public void BoolParserShouldConvertStringValueTrueToBoolValueTrue() |
| { |
| var parser = new BoolArgumentParser(); |
| var result = (bool)parser.Parse("true"); |
| Assert.IsTrue(result); |
| } |
| |
| [TestMethod] |
| public void BoolParserShouldConvert0ToFalse() |
| { |
| var parser = new BoolArgumentParser(); |
| var result = (bool)parser.Parse(0); |
| Assert.IsFalse(result); |
| } |
| |
| [TestMethod] |
| public void BoolParserShouldConvert1ToTrue() |
| { |
| var parser = new BoolArgumentParser(); |
| var result = (bool)parser.Parse(0); |
| Assert.IsFalse(result); |
| } |
| |
| [TestMethod] |
| public void DoubleParserShouldConvertDoubleToDouble() |
| { |
| var parser = new DoubleArgumentParser(); |
| var result = parser.Parse(3d); |
| Assert.AreEqual(3d, result); |
| } |
| |
| [TestMethod] |
| public void DoubleParserShouldConvertIntToDouble() |
| { |
| var parser = new DoubleArgumentParser(); |
| var result = parser.Parse(3); |
| Assert.AreEqual(3d, result); |
| } |
| |
| [TestMethod, ExpectedException(typeof(ArgumentNullException))] |
| public void DoubleParserShouldThrowIfArgumentIsNull() |
| { |
| var parser = new DoubleArgumentParser(); |
| parser.Parse(null); |
| } |
| |
| [TestMethod] |
| public void DoubleParserConvertStringToDoubleWithDotSeparator() |
| { |
| var parser = new DoubleArgumentParser(); |
| var result = parser.Parse("3.3"); |
| Assert.AreEqual(3.3d, result); |
| } |
| |
| } |
| } |