Author: fanningpj
Date: Fri Apr 29 22:34:20 2022
New Revision: 1900407
URL: http://svn.apache.org/viewvc?rev=1900407&view=rev
Log:
support gcd function
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestGcd.java
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestGcd.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestGcd.java?rev=1900407&r1=1900406&r2=1900407&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestGcd.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/functions/TestGcd.java
Fri Apr 29 22:34:20 2022
@@ -62,24 +62,41 @@ final class TestGcd {
confirmNumError(Arrays.asList(10, -1));
}
- private static ValueEval invokeValue(List<Number> numberList) {
+ @Test
+ void testInvalidError() {
+ confirmInvalid(Arrays.asList());
+ confirmInvalid(Arrays.asList("num"));
+ confirmInvalid(Arrays.asList(3, "num"));
+ }
+
+ private static ValueEval invokeValue(List<Object> numberList) {
ValueEval[] args = new ValueEval[numberList.size()];
int i = 0;
- for (Number num : numberList) {
- args[i++] = new NumberEval(num.doubleValue());
+ for (Object obj : numberList) {
+ if (obj instanceof Number) {
+ args[i++] = new NumberEval(((Number)obj).doubleValue());
+ } else {
+ args[i++] = new StringEval(obj.toString());
+ }
}
return Gcd.instance.evaluate(args, ec);
}
- private static void confirmValue(List<Number> numberList, double expected)
{
+ private static void confirmValue(List<Object> numberList, double expected)
{
ValueEval result = invokeValue(numberList);
assertEquals(NumberEval.class, result.getClass());
assertEquals(expected, ((NumberEval) result).getNumberValue(),
0.00000000000001);
}
- private static void confirmNumError(List<Number> numberList) {
+ private static void confirmNumError(List<Object> numberList) {
ValueEval result = invokeValue(numberList);
assertEquals(ErrorEval.class, result.getClass());
assertEquals(ErrorEval.NUM_ERROR, result);
}
+
+ private static void confirmInvalid(List<Object> numberList) {
+ ValueEval result = invokeValue(numberList);
+ assertEquals(ErrorEval.class, result.getClass());
+ assertEquals(ErrorEval.VALUE_INVALID, result);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]