Example #1
0
        public void LenShouldReturnStringsLength()
        {
            var func   = new Len();
            var result = func.Execute(FunctionsHelper.CreateArgs("abc"), _parsingContext);

            Assert.AreEqual(3d, result.Result);
        }
Example #2
0
        public void LenWithInvalidArgumentReturnsPoundValue()
        {
            var func   = new Len();
            var args   = FunctionsHelper.CreateArgs();
            var result = func.Execute(args, this.ParsingContext);

            Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type);
        }
        public void StringTestLenNeedsOneParameters(int count, bool throwsException)
        {
            var sut = new Len();

            var parameters = new List <Accumulator>
            {
                new Accumulator("ABCDEF"),
                new Accumulator(3.0),
            };

            var result = Test.Throws <SyntaxErrorException, Accumulator>(
                () => sut.Execute(parameters.Take(count).ToArray()),
                throwsException);
        }
        public void StringTestLen(object parameter, short expectedResult, bool throwsTypeMismatch)
        {
            var   mismatchTypeExceptionThrown = false;
            var   sut = new Len();
            short result;

            try
            {
                result = sut.Execute(new List <Accumulator> {
                    new Accumulator(parameter)
                }).ValueAsShort();
                Assert.AreEqual(expectedResult, result);
            }
            catch (ClassicBasic.Interpreter.Exceptions.TypeMismatchException)
            {
                mismatchTypeExceptionThrown = true;
            }

            Assert.AreEqual(throwsTypeMismatch, mismatchTypeExceptionThrown, "Mismatch");
        }