From bc95663b1808d690e82a5c49bdbaec9b9a981ac5 Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Tue, 8 Jan 2019 12:54:39 +0000 Subject: [PATCH] Bug 63054: improved evaluation of array formulas with error in arguments git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1850742 13f79535-47bb-0310-9956-ffa450edef68 --- ...perandNumericFunctionsFromSpreadsheet.java | 33 ++++++++++++++++++ .../TwoOperandNumericFunctionTestCaseData.xls | Bin 0 -> 32256 bytes 2 files changed, 33 insertions(+) create mode 100644 src/testcases/org/apache/poi/ss/formula/functions/TestTwoOperandNumericFunctionsFromSpreadsheet.java create mode 100644 test-data/spreadsheet/TwoOperandNumericFunctionTestCaseData.xls diff --git a/src/testcases/org/apache/poi/ss/formula/functions/TestTwoOperandNumericFunctionsFromSpreadsheet.java b/src/testcases/org/apache/poi/ss/formula/functions/TestTwoOperandNumericFunctionsFromSpreadsheet.java new file mode 100644 index 0000000000..f630af5cab --- /dev/null +++ b/src/testcases/org/apache/poi/ss/formula/functions/TestTwoOperandNumericFunctionsFromSpreadsheet.java @@ -0,0 +1,33 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.formula.functions; + +import org.junit.runners.Parameterized.Parameters; + +import java.util.Collection; + +/** + * Tests for numeric functions with two arguments such aqs +, -, *, POWER + * as loaded from a test data spreadsheet. + */ +public class TestTwoOperandNumericFunctionsFromSpreadsheet extends BaseTestFunctionsFromSpreadsheet { + @Parameters(name="{0}") + public static Collection data() throws Exception { + return data(TestTwoOperandNumericFunctionsFromSpreadsheet.class, "TwoOperandNumericFunctionTestCaseData.xls"); + } +} diff --git a/test-data/spreadsheet/TwoOperandNumericFunctionTestCaseData.xls b/test-data/spreadsheet/TwoOperandNumericFunctionTestCaseData.xls new file mode 100644 index 0000000000000000000000000000000000000000..d0b533cceaefeba9a535fafce514c29434df65c4 GIT binary patch literal 32256 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 literal 0 HcmV?d00001 -- 2.39.5