File indexing completed on 2024-05-12 16:35:56

0001 /* This file is part of the KDE project
0002    Copyright 2007 Brad Hards <bradh@frogmouth.net>
0003    Copyright 2007 Sascha Pfau <MrPeacock@gmail.com>
0004 
0005    This library is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU Library General Public
0007    License as published by the Free Software Foundation; only
0008    version 2 of the License.
0009 
0010    This library is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013    Library General Public License for more details.
0014 
0015    You should have received a copy of the GNU Library General Public License
0016    along with this library; see the file COPYING.LIB.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018    Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #ifndef CALLIGRA_SHEETS_TEST_INFORMATION_FUNCTIONS
0022 #define CALLIGRA_SHEETS_TEST_INFORMATION_FUNCTIONS
0023 
0024 #include <QObject>
0025 
0026 #include <Value.h>
0027 #include <Cell.h>
0028 
0029 namespace Calligra
0030 {
0031 namespace Sheets
0032 {
0033 class Map;
0034 class Cell;
0035 
0036 class TestInformationFunctions: public QObject
0037 {
0038     Q_OBJECT
0039 
0040 private Q_SLOTS:
0041 
0042     void initTestCase();
0043 
0044     void testAREAS();
0045     void testCELL();
0046     void testCOLUMN();
0047     void testCOLUMNS();
0048     void testCOUNT();
0049     void testCOUNTA();
0050     void testCOUNTBLANK();
0051     void testCOUNTIF();
0052     void testERRORTYPE();
0053     void testFORMULA();
0054     void testINFO();
0055     void testISBLANK();
0056     void testISERR();
0057     void testISERROR();
0058     void testISEVEN();
0059     void testISFORMULA();
0060     void testISLOGICAL();
0061     void testISNONTEXT();
0062     void testISNA();
0063     void testISNUMBER();
0064     void testISODD();
0065     void testISTEXT();
0066     void testISREF();
0067     void testMATCH();
0068     void testN();
0069     void testNA();
0070     void testROW();
0071     void testROWS();
0072     void testSHEET();
0073     void testSHEETS();
0074     void testTYPE();
0075     void testVALUE();
0076 
0077     void cleanupTestCase();
0078 
0079 private:
0080     Value evaluate(const QString&, Value& ex, const Cell &cell = Cell());
0081 
0082     Map* m_map;
0083 };
0084 
0085 } // namespace Sheets
0086 } // namespace Calligra
0087 
0088 #endif