public void LenShouldReturnStringsLength() { var func = new Len(); var result = func.Execute(FunctionsHelper.CreateArgs("abc"), _parsingContext); Assert.AreEqual(3d, result.Result); }
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"); }