File indexing completed on 2024-05-12 16:45:19
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr 0003 * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 ***************************************************************************/ 0006 /** @file 0007 * This file is a test for SKGPredicatCreator component. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgtestpredicatcreator.h" 0012 #include "skgdocumentbank.h" 0013 #include "skgpredicatcreator.h" 0014 #include "skgquerycreator.h" 0015 0016 void SKGTESTPredicatCreator::Test() 0017 { 0018 KLocalizedString::setApplicationDomain("skrooge"); 0019 0020 SKGDocumentBank doc; 0021 QStringList attributeForQuery; 0022 attributeForQuery << QStringLiteral("d_date") << QStringLiteral("t_number") << QStringLiteral("t_mode") << QStringLiteral("t_PAYEE") << QStringLiteral("p_prop") << QStringLiteral("t_status"); 0023 0024 SKGPredicatCreator d_col_s(nullptr, &doc, QStringLiteral("d_date"), false, attributeForQuery); 0025 d_col_s.setXmlDescription(d_col_s.xmlDescription()); 0026 d_col_s.text(); 0027 0028 SKGPredicatCreator d_col_u(nullptr, &doc, QStringLiteral("d_date"), true, attributeForQuery); 0029 d_col_u.setXmlDescription(d_col_u.xmlDescription()); 0030 d_col_u.text(); 0031 0032 SKGPredicatCreator i_col_s(nullptr, &doc, QStringLiteral("t_number"), false, attributeForQuery); 0033 i_col_s.setXmlDescription(i_col_s.xmlDescription()); 0034 i_col_s.text(); 0035 0036 SKGPredicatCreator i_col_u(nullptr, &doc, QStringLiteral("t_number"), true, attributeForQuery); 0037 i_col_u.setXmlDescription(i_col_u.xmlDescription()); 0038 i_col_u.text(); 0039 0040 SKGPredicatCreator t_col_s(nullptr, &doc, QStringLiteral("t_mode"), false, attributeForQuery); 0041 t_col_s.setXmlDescription(t_col_s.xmlDescription()); 0042 t_col_s.text(); 0043 0044 SKGPredicatCreator t_col_u(nullptr, &doc, QStringLiteral("t_mode"), true, attributeForQuery); 0045 t_col_u.setXmlDescription(t_col_s.xmlDescription()); 0046 t_col_u.text(); 0047 0048 SKGPredicatCreator t2_col_s(nullptr, &doc, QStringLiteral("t_PAYEE"), false, attributeForQuery); 0049 t2_col_s.setXmlDescription(t2_col_s.xmlDescription()); 0050 t2_col_s.text(); 0051 0052 SKGPredicatCreator t2_col_u(nullptr, &doc, QStringLiteral("t_PAYEE"), true, attributeForQuery); 0053 t2_col_u.setXmlDescription(t2_col_u.xmlDescription()); 0054 t2_col_u.text(); 0055 0056 SKGPredicatCreator p_col_s(nullptr, &doc, QStringLiteral("p_prop"), false, attributeForQuery); 0057 p_col_s.setXmlDescription(p_col_s.xmlDescription()); 0058 p_col_s.text(); 0059 0060 SKGPredicatCreator p_col_u(nullptr, &doc, QStringLiteral("p_prop"), true, attributeForQuery); 0061 p_col_u.setXmlDescription(p_col_u.xmlDescription()); 0062 p_col_u.text(); 0063 0064 SKGPredicatCreator t3_col_s(nullptr, &doc, QStringLiteral("t_status"), false, attributeForQuery); 0065 t3_col_s.setXmlDescription(t3_col_s.xmlDescription()); 0066 t3_col_s.text(); 0067 0068 SKGPredicatCreator t3_col_u(nullptr, &doc, QStringLiteral("t_status"), true, attributeForQuery); 0069 t3_col_u.setXmlDescription(t3_col_u.xmlDescription()); 0070 t3_col_u.text(); 0071 0072 QString xml = QStringLiteral("<!DOCTYPE SKGML>" 0073 "<element> <!--OR-->" 0074 "<element> <!--AND-->" 0075 "<element attribute=\"d_date\" operator=\"STRFTIME('%Y',#ATT#)=STRFTIME('%Y',date('now', 'localtime', 'localtime'))\" />" 0076 "</element>" 0077 "</element>"); 0078 0079 SKGQueryCreator c1(nullptr); 0080 c1.setParameters(&doc, QStringLiteral("v_suboperation_consolidated"), attributeForQuery, false); 0081 c1.setXMLCondition(xml); 0082 c1.clearContents(); 0083 0084 SKGQueryCreator c2(nullptr); 0085 c2.setParameters(&doc, QStringLiteral("v_suboperation_consolidated"), attributeForQuery, true); 0086 c2.setXMLCondition(xml); 0087 c1.getXMLCondition(); 0088 } 0089 0090 QTEST_MAIN(SKGTESTPredicatCreator) 0091