summaryrefslogtreecommitdiffstats
path: root/tests/auto/xmlpatternsxqts
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-04-24 11:34:15 (GMT)
committeraxis <qt-info@nokia.com>2009-04-24 11:34:15 (GMT)
commit8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76 (patch)
treea17e1a767a89542ab59907462206d7dcf2e504b2 /tests/auto/xmlpatternsxqts
downloadQt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.zip
Qt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.tar.gz
Qt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.tar.bz2
Long live Qt for S60!
Diffstat (limited to 'tests/auto/xmlpatternsxqts')
-rw-r--r--tests/auto/xmlpatternsxqts/.gitattributes1
-rw-r--r--tests/auto/xmlpatternsxqts/.gitignore3
-rw-r--r--tests/auto/xmlpatternsxqts/Baseline.xml2
-rw-r--r--tests/auto/xmlpatternsxqts/TODO241
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ASTItem.cpp202
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ASTItem.h156
-rw-r--r--tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp305
-rw-r--r--tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h169
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp207
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorHandler.h190
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp183
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ErrorItem.h135
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExitCode.h146
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp95
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h121
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp357
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h322
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp181
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h178
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Global.cpp124
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Global.h169
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp117
-rw-r--r--tests/auto/xmlpatternsxqts/lib/ResultThreader.h151
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp545
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.h246
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestCase.cpp480
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestCase.h297
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestContainer.cpp192
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestContainer.h164
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.cpp180
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.h134
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestItem.h174
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResult.cpp199
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResult.h220
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp139
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestResultHandler.h156
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.cpp302
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.h191
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp353
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h210
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp214
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h134
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeItem.cpp103
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeItem.h155
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.cpp220
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.h151
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Worker.cpp299
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Worker.h141
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp710
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XMLWriter.h444
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp327
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h190
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp275
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h199
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp63
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml3
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp63
-rw-r--r--tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml3
-rw-r--r--tests/auto/xmlpatternsxqts/lib/lib.pro78
-rw-r--r--tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp227
-rw-r--r--tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h118
-rwxr-xr-xtests/auto/xmlpatternsxqts/summarizeBaseline.sh10
-rw-r--r--tests/auto/xmlpatternsxqts/summarizeBaseline.xsl25
-rw-r--r--tests/auto/xmlpatternsxqts/test/test.pro28
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp166
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.h99
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp106
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro11
68 files changed, 12499 insertions, 0 deletions
diff --git a/tests/auto/xmlpatternsxqts/.gitattributes b/tests/auto/xmlpatternsxqts/.gitattributes
new file mode 100644
index 0000000..11fab7e
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/.gitattributes
@@ -0,0 +1 @@
+summarizeBaseline.xsl -crlf
diff --git a/tests/auto/xmlpatternsxqts/.gitignore b/tests/auto/xmlpatternsxqts/.gitignore
new file mode 100644
index 0000000..1c2add2
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/.gitignore
@@ -0,0 +1,3 @@
+CandidateBaseline.xml
+runTests
+tst_xmlpatternsxqts
diff --git a/tests/auto/xmlpatternsxqts/Baseline.xml b/tests/auto/xmlpatternsxqts/Baseline.xml
new file mode 100644
index 0000000..e295dfb
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/Baseline.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-suite-result xmlns="http://www.w3.org/2005/02/query-test-XQTSResult"><implementation name="Patternist" version="0.1"><organization name="K Desktop Environment(KDE)" website="http://www.kde.org/"/><submittor name="Frans Englich" email="fenglich@trolltech.com"/><description><p>Patternist is an implementation written in C++ and with the Qt/KDE libraries. It is licensed under GNU LGPL and part of KDE, the K Desktop Environment.</p></description></implementation><syntax>XQuery</syntax><test-run dateRun="2009-01-15"><test-suite version="1.0.3 dev"/></test-run><test-case name="combined-errors-1" result="pass"/><test-case name="combined-errors-2" result="pass"/><test-case name="combined-errors-3" result="pass"/><test-case name="combined-errors-4" result="pass"/><test-case name="K-CombinedErrorCodes-1" result="pass"/><test-case name="K-CombinedErrorCodes-2" result="pass"/><test-case name="K-CombinedErrorCodes-3" result="pass"/><test-case name="K-CombinedErrorCodes-4" result="pass"/><test-case name="K-CombinedErrorCodes-5" result="pass"/><test-case name="K-CombinedErrorCodes-6" result="pass"/><test-case name="K-CombinedErrorCodes-7" result="pass"/><test-case name="K-CombinedErrorCodes-9" result="pass"/><test-case name="K-CombinedErrorCodes-10" result="pass"/><test-case name="K-CombinedErrorCodes-11" result="pass"/><test-case name="K-CombinedErrorCodes-12" result="pass"/><test-case name="K-CombinedErrorCodes-13" result="pass"/><test-case name="K-CombinedErrorCodes-14" result="pass"/><test-case name="K-CombinedErrorCodes-15" result="pass"/><test-case name="static-context-1" result="pass"/><test-case name="sequence-type-1" result="pass"/><test-case name="sequence-type-2" result="pass"/><test-case name="sequence-type-3" result="pass"/><test-case name="sequence-type-4" result="pass"/><test-case name="sequence-type-5" result="pass"/><test-case name="sequence-type-6" result="pass"/><test-case name="sequence-type-7" result="pass"/><test-case name="sequence-type-8" result="pass"/><test-case name="sequence-type-9" result="pass"/><test-case name="sequence-type-10" result="pass"/><test-case name="sequence-type-11" result="pass"/><test-case name="sequence-type-12" result="pass"/><test-case name="sequence-type-13" result="pass"/><test-case name="sequence-type-14" result="pass"/><test-case name="sequence-type-15" result="pass"/><test-case name="sequence-type-16" result="pass"/><test-case name="sequence-type-17" result="pass"/><test-case name="sequence-type-18" result="pass"/><test-case name="sequence-type-19" result="pass"/><test-case name="sequence-type-20" result="pass"/><test-case name="sequence-type-21" result="pass"/><test-case name="Literals001" result="pass"/><test-case name="Literals002" result="pass"/><test-case name="Literals003" result="pass"/><test-case name="Literals004" result="pass"/><test-case name="Literals005" result="pass"/><test-case name="Literals006" result="pass"/><test-case name="Literals007" result="pass"/><test-case name="Literals008" result="pass"/><test-case name="Literals009" result="pass"/><test-case name="Literals010" result="pass"/><test-case name="Literals011" result="pass"/><test-case name="Literals012" result="pass"/><test-case name="Literals013" result="pass"/><test-case name="Literals014" result="pass"/><test-case name="Literals015" result="pass"/><test-case name="Literals016" result="pass"/><test-case name="Literals017" result="pass"/><test-case name="Literals018" result="pass"/><test-case name="Literals019" result="pass"/><test-case name="Literals020" result="pass"/><test-case name="Literals021" result="pass"/><test-case name="Literals022" result="pass"/><test-case name="Literals023" result="pass"/><test-case name="Literals024" result="pass"/><test-case name="Literals025" result="pass"/><test-case name="Literals026" result="pass"/><test-case name="Literals027" result="pass"/><test-case name="Literals028" result="pass"/><test-case name="Literals029" result="pass"/><test-case name="Literals030" result="pass"/><test-case name="Literals031" result="pass"/><test-case name="Literals032" result="pass"/><test-case name="Literals033" result="pass"/><test-case name="Literals034" result="pass"/><test-case name="Literals035" result="pass"/><test-case name="Literals036" result="pass"/><test-case name="Literals037" result="pass"/><test-case name="Literals038" result="pass"/><test-case name="Literals039" result="pass"/><test-case name="Literals040" result="pass"/><test-case name="Literals041" result="pass"/><test-case name="Literals042" result="pass"/><test-case name="Literals043" result="pass"/><test-case name="Literals044" result="pass"/><test-case name="Literals045" result="pass"/><test-case name="Literals046" result="pass"/><test-case name="Literals047" result="pass"/><test-case name="Literals048" result="pass"/><test-case name="Literals049" result="pass"/><test-case name="Literals050" result="pass"/><test-case name="Literals051" result="pass"/><test-case name="Literals052" result="pass"/><test-case name="Literals053" result="pass"/><test-case name="Literals054" result="pass"/><test-case name="Literals055" result="pass"/><test-case name="Literals056" result="pass"/><test-case name="Literals057" result="pass"/><test-case name="Literals058" result="pass"/><test-case name="Literals059" result="pass"/><test-case name="Literals060" result="pass"/><test-case name="Literals061" result="pass"/><test-case name="Literals062" result="pass"/><test-case name="Literals063" result="pass"/><test-case name="Literals064" result="pass"/><test-case name="Literals065" result="pass"/><test-case name="Literals066" result="pass"/><test-case name="Literals067" result="pass"/><test-case name="Literals068" result="pass"/><test-case name="Literals069" result="pass"/><test-case name="K-Literals-1" result="pass"/><test-case name="K-Literals-2" result="pass"/><test-case name="K-Literals-3" result="pass"/><test-case name="K-Literals-4" result="pass"/><test-case name="K-Literals-5" result="pass"/><test-case name="K-Literals-6" result="pass"/><test-case name="K-Literals-7" result="pass"/><test-case name="K-Literals-8" result="pass"/><test-case name="K-Literals-9" result="pass"/><test-case name="K-Literals-10" result="pass"/><test-case name="K-Literals-11" result="pass"/><test-case name="K-Literals-12" result="pass"/><test-case name="K-Literals-13" result="pass"/><test-case name="K-Literals-14" result="pass"/><test-case name="K-Literals-15" result="pass"/><test-case name="K-Literals-16" result="pass"/><test-case name="K-Literals-17" result="pass"/><test-case name="K-Literals-18" result="pass"/><test-case name="K-Literals-19" result="pass"/><test-case name="K-Literals-20" result="pass"/><test-case name="K-Literals-21" result="pass"/><test-case name="K-Literals-22" result="pass"/><test-case name="K-Literals-23" result="pass"/><test-case name="K-Literals-24" result="pass"/><test-case name="K-Literals-25" result="pass"/><test-case name="K-Literals-26" result="pass"/><test-case name="K-Literals-27" result="pass"/><test-case name="K-Literals-28" result="pass"/><test-case name="K-Literals-29" result="pass"/><test-case name="K-Literals-30" result="pass"/><test-case name="K-Literals-31" result="pass"/><test-case name="K-Literals-32" result="pass"/><test-case name="K-Literals-33" result="pass"/><test-case name="K-Literals-34" result="pass"/><test-case name="K-Literals-35" result="pass"/><test-case name="K-Literals-36" result="pass"/><test-case name="K-Literals-37" result="pass"/><test-case name="K-Literals-38" result="pass"/><test-case name="K-Literals-39" result="pass"/><test-case name="K-Literals-40" result="pass"/><test-case name="K-Literals-41" result="pass"/><test-case name="K-Literals-42" result="pass"/><test-case name="K-Literals-43" result="pass"/><test-case name="K-Literals-44" result="pass"/><test-case name="K-Literals-45" result="pass"/><test-case name="K-Literals-46" result="pass"/><test-case name="K-Literals-47" result="pass"/><test-case name="K-Literals-48" result="pass"/><test-case name="K-Literals-49" result="pass"/><test-case name="K-Literals-50" result="pass"/><test-case name="K2-Literals-1" result="fail"/><test-case name="K2-Literals-2" result="pass"/><test-case name="K2-Literals-3" result="pass"/><test-case name="K2-Literals-4" result="fail"/><test-case name="K2-Literals-5" result="fail"/><test-case name="K2-Literals-6" result="fail"/><test-case name="K2-Literals-7" result="fail"/><test-case name="K2-Literals-8" result="fail"/><test-case name="K2-Literals-9" result="fail"/><test-case name="K2-Literals-10" result="fail"/><test-case name="K2-Literals-11" result="pass"/><test-case name="K2-Literals-12" result="pass"/><test-case name="K2-Literals-13" result="pass"/><test-case name="K2-Literals-14" result="pass"/><test-case name="K2-Literals-15" result="pass"/><test-case name="K2-Literals-16" result="fail"/><test-case name="K2-Literals-17" result="fail"/><test-case name="K2-Literals-18" result="fail"/><test-case name="K2-Literals-19" result="fail"/><test-case name="K2-Literals-20" result="pass"/><test-case name="K2-Literals-21" result="pass"/><test-case name="K2-Literals-22" result="fail"/><test-case name="K2-Literals-23" result="fail"/><test-case name="K2-Literals-24" result="fail"/><test-case name="K2-Literals-25" result="fail"/><test-case name="K2-Literals-26" result="pass"/><test-case name="K2-Literals-27" result="pass"/><test-case name="K2-Literals-28" result="pass"/><test-case name="K2-Literals-29" result="pass"/><test-case name="K2-Literals-30" result="pass"/><test-case name="K2-Literals-31" result="pass"/><test-case name="K2-Literals-32" result="pass"/><test-case name="K2-Literals-33" result="pass"/><test-case name="K2-Literals-34" result="pass"/><test-case name="K2-Literals-35" result="pass"/><test-case name="K2-Literals-36" result="pass"/><test-case name="K2-Literals-37" result="pass"/><test-case name="K2-Literals-38" result="pass"/><test-case name="K2-Literals-39" result="pass"/><test-case name="Parenexpr-1" result="pass"/><test-case name="Parenexpr-2" result="pass"/><test-case name="Parenexpr-3" result="pass"/><test-case name="Parenexpr-4" result="pass"/><test-case name="Parenexpr-5" result="pass"/><test-case name="Parenexpr-6" result="pass"/><test-case name="Parenexpr-7" result="pass"/><test-case name="Parenexpr-8" result="pass"/><test-case name="Parenexpr-9" result="pass"/><test-case name="Parenexpr-10" result="pass"/><test-case name="Parenexpr-11" result="pass"/><test-case name="Parenexpr-12" result="pass"/><test-case name="Parenexpr-13" result="pass"/><test-case name="Parenexpr-14" result="pass"/><test-case name="Parenexpr-15" result="pass"/><test-case name="Parenexpr-16" result="pass"/><test-case name="Parenexpr-17" result="pass"/><test-case name="Parenexpr-18" result="pass"/><test-case name="Parenexpr-19" result="pass"/><test-case name="Parenexpr-20" result="pass"/><test-case name="externalcontextitem-1" result="pass"/><test-case name="externalcontextitem-2" result="pass"/><test-case name="externalcontextitem-3" result="pass"/><test-case name="externalcontextitem-4" result="pass"/><test-case name="externalcontextitem-5" result="pass"/><test-case name="externalcontextitem-6" result="pass"/><test-case name="externalcontextitem-7" result="pass"/><test-case name="externalcontextitem-8" result="pass"/><test-case name="externalcontextitem-9" result="pass"/><test-case name="externalcontextitem-10" result="pass"/><test-case name="externalcontextitem-11" result="pass"/><test-case name="externalcontextitem-12" result="pass"/><test-case name="externalcontextitem-13" result="pass"/><test-case name="externalcontextitem-14" result="pass"/><test-case name="externalcontextitem-15" result="pass"/><test-case name="externalcontextitem-16" result="pass"/><test-case name="externalcontextitem-17" result="pass"/><test-case name="externalcontextitem-18" result="pass"/><test-case name="externalcontextitem-19" result="pass"/><test-case name="externalcontextitem-20" result="pass"/><test-case name="externalcontextitem-21" result="pass"/><test-case name="externalcontextitem-22" result="pass"/><test-case name="externalcontextitem-23" result="pass"/><test-case name="externalcontextitem-24" result="pass"/><test-case name="internalcontextitem-1" result="pass"/><test-case name="internalcontextitem-2" result="pass"/><test-case name="internalcontextitem-3" result="pass"/><test-case name="internalcontextitem-4" result="pass"/><test-case name="internalcontextitem-5" result="pass"/><test-case name="internalcontextitem-6" result="pass"/><test-case name="internalcontextitem-7" result="pass"/><test-case name="internalcontextitem-8" result="pass"/><test-case name="internalcontextitem-9" result="pass"/><test-case name="internalcontextitem-10" result="pass"/><test-case name="internalcontextitem-11" result="pass"/><test-case name="internalcontextitem-12" result="pass"/><test-case name="internalcontextitem-13" result="pass"/><test-case name="internalcontextitem-14" result="pass"/><test-case name="internalcontextitem-15" result="pass"/><test-case name="internalcontextitem-16" result="pass"/><test-case name="internalcontextitem-17" result="pass"/><test-case name="internalcontextitem-18" result="pass"/><test-case name="internalcontextitem-19" result="pass"/><test-case name="internalcontextitem-20" result="pass"/><test-case name="internalcontextitem-21" result="pass"/><test-case name="K-FunctionCallExpr-1" result="pass"/><test-case name="K-FunctionCallExpr-2" result="pass"/><test-case name="K-FunctionCallExpr-3" result="pass"/><test-case name="K-FunctionCallExpr-4" result="pass"/><test-case name="K-FunctionCallExpr-5" result="pass"/><test-case name="K-FunctionCallExpr-6" result="pass"/><test-case name="K-FunctionCallExpr-7" result="pass"/><test-case name="K-FunctionCallExpr-8" result="pass"/><test-case name="K-FunctionCallExpr-9" result="pass"/><test-case name="K-FunctionCallExpr-10" result="pass"/><test-case name="K-FunctionCallExpr-11" result="pass"/><test-case name="K-FunctionCallExpr-12" result="pass"/><test-case name="K-FunctionCallExpr-13" result="pass"/><test-case name="K-FunctionCallExpr-14" result="pass"/><test-case name="K-FunctionCallExpr-15" result="pass"/><test-case name="K-FunctionCallExpr-16" result="pass"/><test-case name="K-FunctionCallExpr-17" result="pass"/><test-case name="K-FunctionCallExpr-18" result="pass"/><test-case name="K-FunctionCallExpr-19" result="pass"/><test-case name="K-FunctionCallExpr-20" result="pass"/><test-case name="K-FunctionCallExpr-21" result="pass"/><test-case name="K-FunctionCallExpr-22" result="pass"/><test-case name="K-FunctionCallExpr-23" result="pass"/><test-case name="K-FunctionCallExpr-24" result="pass"/><test-case name="K-FunctionCallExpr-25" result="pass"/><test-case name="K-FunctionCallExpr-26" result="pass"/><test-case name="K-FunctionCallExpr-27" result="pass"/><test-case name="K-FunctionCallExpr-28" result="pass"/><test-case name="K2-FunctionCallExpr-1" result="pass"/><test-case name="K2-FunctionCallExpr-2" result="pass"/><test-case name="K2-FunctionCallExpr-3" result="pass"/><test-case name="K2-FunctionCallExpr-4" result="pass"/><test-case name="K2-FunctionCallExpr-5" result="pass"/><test-case name="K2-FunctionCallExpr-6" result="pass"/><test-case name="K2-FunctionCallExpr-7" result="pass"/><test-case name="K2-FunctionCallExpr-8" result="pass"/><test-case name="K2-FunctionCallExpr-9" result="pass"/><test-case name="K2-FunctionCallExpr-10" result="pass"/><test-case name="K2-FunctionCallExpr-11" result="pass"/><test-case name="K2-FunctionCallExpr-12" result="pass"/><test-case name="K2-FunctionCallExpr-13" result="pass"/><test-case name="PathExprErr-2" result="pass"/><test-case name="K2-Steps-1" result="pass"/><test-case name="K2-Steps-2" result="pass"/><test-case name="K2-Steps-3" result="pass"/><test-case name="K2-Steps-4" result="pass"/><test-case name="K2-Steps-5" result="pass"/><test-case name="K2-Steps-6" result="pass"/><test-case name="K2-Steps-7" result="pass"/><test-case name="K2-Steps-8" result="pass"/><test-case name="K2-Steps-9" result="pass"/><test-case name="K2-Steps-10" result="pass"/><test-case name="K2-Steps-11" result="pass"/><test-case name="K2-Steps-12" result="pass"/><test-case name="K2-Steps-13" result="pass"/><test-case name="K2-Steps-14" result="pass"/><test-case name="K2-Steps-15" result="pass"/><test-case name="K2-Steps-16" result="pass"/><test-case name="K2-Steps-17" result="pass"/><test-case name="K2-Steps-18" result="pass"/><test-case name="K2-Steps-19" result="pass"/><test-case name="K2-Steps-20" result="pass"/><test-case name="K2-Steps-21" result="pass"/><test-case name="K2-Steps-22" result="pass"/><test-case name="K2-Steps-23" result="pass"/><test-case name="K2-Steps-24" result="pass"/><test-case name="K2-Steps-25" result="fail"/><test-case name="K2-Steps-26" result="fail"/><test-case name="K2-Steps-27" result="fail"/><test-case name="K2-Steps-28" result="pass"/><test-case name="K2-Steps-29" result="pass"/><test-case name="K2-Steps-30" result="pass"/><test-case name="K2-Steps-31" result="pass"/><test-case name="K2-Steps-32" result="pass"/><test-case name="K2-Steps-33" result="fail"/><test-case name="K2-Steps-34" result="fail"/><test-case name="K2-Steps-35" result="pass"/><test-case name="Axes001-1" result="pass"/><test-case name="Axes001-2" result="pass"/><test-case name="Axes001-3" result="pass"/><test-case name="Axes002-1" result="pass"/><test-case name="Axes002-2" result="pass"/><test-case name="Axes002-3" result="pass"/><test-case name="Axes002-4" result="pass"/><test-case name="Axes003-1" result="pass"/><test-case name="Axes003-2" result="pass"/><test-case name="Axes003-3" result="pass"/><test-case name="Axes003-4" result="pass"/><test-case name="Axes004-1" result="pass"/><test-case name="Axes004-2" result="pass"/><test-case name="Axes004-3" result="pass"/><test-case name="Axes005-1" result="pass"/><test-case name="Axes005-2" result="pass"/><test-case name="Axes005-3" result="pass"/><test-case name="Axes005-4" result="pass"/><test-case name="Axes006-1" result="pass"/><test-case name="Axes006-2" result="pass"/><test-case name="Axes006-3" result="pass"/><test-case name="Axes006-4" result="pass"/><test-case name="Axes007-1" result="pass"/><test-case name="Axes007-2" result="pass"/><test-case name="Axes007-3" result="pass"/><test-case name="Axes008-1" result="pass"/><test-case name="Axes008-2" result="pass"/><test-case name="Axes008-3" result="pass"/><test-case name="Axes009-1" result="pass"/><test-case name="Axes009-2" result="pass"/><test-case name="Axes009-3" result="pass"/><test-case name="Axes010-1" result="pass"/><test-case name="Axes010-2" result="pass"/><test-case name="Axes010-3" result="pass"/><test-case name="Axes011-1" result="pass"/><test-case name="Axes011-2" result="pass"/><test-case name="Axes011-3" result="pass"/><test-case name="Axes012-1" result="pass"/><test-case name="Axes013-1" result="pass"/><test-case name="Axes014-1" result="pass"/><test-case name="Axes015-1" result="pass"/><test-case name="Axes016-1" result="pass"/><test-case name="Axes017-1" result="pass"/><test-case name="Axes018-1" result="pass"/><test-case name="Axes019-1" result="pass"/><test-case name="Axes020-1" result="pass"/><test-case name="Axes021-1" result="pass"/><test-case name="Axes023-1" result="pass"/><test-case name="Axes027-1" result="pass"/><test-case name="Axes030-1" result="pass"/><test-case name="Axes030-2" result="pass"/><test-case name="Axes031-1" result="pass"/><test-case name="Axes031-2" result="pass"/><test-case name="Axes031-3" result="pass"/><test-case name="Axes031-4" result="pass"/><test-case name="Axes032-1" result="pass"/><test-case name="Axes032-2" result="pass"/><test-case name="Axes032-3" result="pass"/><test-case name="Axes032-4" result="pass"/><test-case name="Axes033-1" result="pass"/><test-case name="Axes033-2" result="pass"/><test-case name="Axes033-3" result="pass"/><test-case name="Axes033-4" result="pass"/><test-case name="Axes034-1" result="pass"/><test-case name="Axes034-2" result="pass"/><test-case name="Axes035-1" result="pass"/><test-case name="Axes035-2" result="pass"/><test-case name="Axes035-3" result="pass"/><test-case name="Axes035-4" result="pass"/><test-case name="Axes036-1" result="pass"/><test-case name="Axes036-2" result="pass"/><test-case name="Axes037-1" result="pass"/><test-case name="Axes037-2" result="pass"/><test-case name="Axes041-1" result="pass"/><test-case name="Axes043-1" result="pass"/><test-case name="Axes043-2" result="pass"/><test-case name="Axes044-1" result="pass"/><test-case name="Axes044-2" result="pass"/><test-case name="Axes045-1" result="pass"/><test-case name="Axes045-2" result="pass"/><test-case name="Axes046-1" result="pass"/><test-case name="Axes046-2" result="pass"/><test-case name="Axes047-1" result="pass"/><test-case name="Axes047-2" result="pass"/><test-case name="Axes048-1" result="pass"/><test-case name="Axes048-2" result="pass"/><test-case name="Axes049-1" result="pass"/><test-case name="Axes049-2" result="pass"/><test-case name="Axes055-1" result="pass"/><test-case name="Axes056-1" result="pass"/><test-case name="Axes056-2" result="pass"/><test-case name="Axes056-3" result="pass"/><test-case name="Axes057-1" result="pass"/><test-case name="Axes057-2" result="pass"/><test-case name="Axes057-3" result="pass"/><test-case name="Axes057-4" result="pass"/><test-case name="Axes058-1" result="pass"/><test-case name="Axes058-2" result="pass"/><test-case name="Axes058-3" result="pass"/><test-case name="Axes059-1" result="pass"/><test-case name="Axes059-2" result="pass"/><test-case name="Axes060-1" result="pass"/><test-case name="Axes060-2" result="pass"/><test-case name="Axes060-3" result="pass"/><test-case name="Axes060-4" result="pass"/><test-case name="Axes061-1" result="pass"/><test-case name="Axes061-2" result="pass"/><test-case name="Axes062-1" result="pass"/><test-case name="Axes062-2" result="pass"/><test-case name="Axes063-1" result="pass"/><test-case name="Axes063-2" result="pass"/><test-case name="Axes063-3" result="pass"/><test-case name="Axes063-4" result="pass"/><test-case name="Axes064-1" result="pass"/><test-case name="Axes064-2" result="pass"/><test-case name="Axes064-3" result="pass"/><test-case name="Axes065-1" result="pass"/><test-case name="Axes065-2" result="pass"/><test-case name="Axes066-1" result="pass"/><test-case name="Axes066-2" result="pass"/><test-case name="Axes066-3" result="pass"/><test-case name="Axes066-4" result="pass"/><test-case name="Axes067-1" result="pass"/><test-case name="Axes067-2" result="pass"/><test-case name="Axes067-3" result="pass"/><test-case name="Axes068-1" result="pass"/><test-case name="Axes068-2" result="pass"/><test-case name="Axes068-3" result="pass"/><test-case name="Axes069-1" result="pass"/><test-case name="Axes069-2" result="pass"/><test-case name="Axes069-3" result="pass"/><test-case name="Axes070-1" result="pass"/><test-case name="Axes070-2" result="pass"/><test-case name="Axes070-3" result="pass"/><test-case name="Axes071-1" result="pass"/><test-case name="Axes071-2" result="pass"/><test-case name="Axes071-3" result="pass"/><test-case name="Axes072-1" result="pass"/><test-case name="Axes072-2" result="pass"/><test-case name="Axes073-1" result="pass"/><test-case name="Axes073-2" result="pass"/><test-case name="Axes074-1" result="pass"/><test-case name="Axes074-2" result="pass"/><test-case name="Axes074-3" result="pass"/><test-case name="Axes074-4" result="pass"/><test-case name="Axes075-1" result="pass"/><test-case name="Axes075-2" result="pass"/><test-case name="Axes075-3" result="pass"/><test-case name="Axes075-4" result="pass"/><test-case name="Axes076-1" result="pass"/><test-case name="Axes076-2" result="pass"/><test-case name="Axes076-3" result="pass"/><test-case name="Axes076-4" result="pass"/><test-case name="Axes077-1" result="pass"/><test-case name="Axes077-2" result="pass"/><test-case name="Axes077-3" result="pass"/><test-case name="Axes078-1" result="pass"/><test-case name="Axes078-2" result="pass"/><test-case name="Axes078-3" result="pass"/><test-case name="Axes078-4" result="pass"/><test-case name="Axes079-1" result="pass"/><test-case name="Axes079-2" result="pass"/><test-case name="Axes079-3" result="pass"/><test-case name="Axes079-4" result="pass"/><test-case name="Axes080-1" result="pass"/><test-case name="Axes080-2" result="pass"/><test-case name="Axes080-3" result="pass"/><test-case name="Axes081-1" result="pass"/><test-case name="Axes081-2" result="pass"/><test-case name="Axes081-3" result="pass"/><test-case name="Axes081-4" result="pass"/><test-case name="Axes082-1" result="pass"/><test-case name="Axes082-2" result="pass"/><test-case name="Axes082-3" result="pass"/><test-case name="Axes083-1" result="pass"/><test-case name="Axes083-2" result="pass"/><test-case name="Axes083-3" result="pass"/><test-case name="Axes084-1" result="pass"/><test-case name="Axes084-2" result="pass"/><test-case name="Axes084-3" result="pass"/><test-case name="Axes084-4" result="pass"/><test-case name="Axes085" result="pass"/><test-case name="Axes086" result="pass"/><test-case name="Axes087" result="pass"/><test-case name="Axes088" result="pass"/><test-case name="Axes089" result="fail" comment="Skipped this test, we crash on it."/><test-case name="axis-err-1" result="pass"/><test-case name="K2-Axes-1" result="pass"/><test-case name="K2-Axes-2" result="pass"/><test-case name="K2-Axes-3" result="pass"/><test-case name="K2-Axes-4" result="pass"/><test-case name="K2-Axes-5" result="pass"/><test-case name="K2-Axes-6" result="pass"/><test-case name="K2-Axes-7" result="pass"/><test-case name="K2-Axes-8" result="pass"/><test-case name="K2-Axes-9" result="pass"/><test-case name="K2-Axes-10" result="pass"/><test-case name="K2-Axes-11" result="pass"/><test-case name="K2-Axes-12" result="pass"/><test-case name="K2-Axes-13" result="pass"/><test-case name="K2-Axes-14" result="pass"/><test-case name="K2-Axes-15" result="pass"/><test-case name="K2-Axes-16" result="pass"/><test-case name="K2-Axes-17" result="pass"/><test-case name="K2-Axes-18" result="pass"/><test-case name="K2-Axes-19" result="pass"/><test-case name="K2-Axes-20" result="pass"/><test-case name="K2-Axes-21" result="pass"/><test-case name="K2-Axes-22" result="pass"/><test-case name="K2-Axes-23" result="pass"/><test-case name="K2-Axes-24" result="pass"/><test-case name="K2-Axes-25" result="pass"/><test-case name="K2-Axes-26" result="pass"/><test-case name="K2-Axes-27" result="pass"/><test-case name="K2-Axes-28" result="pass"/><test-case name="K2-Axes-29" result="pass"/><test-case name="K2-Axes-30" result="pass"/><test-case name="K2-Axes-31" result="pass"/><test-case name="K2-Axes-32" result="pass"/><test-case name="K2-Axes-33" result="pass"/><test-case name="K2-Axes-34" result="pass"/><test-case name="K2-Axes-35" result="pass"/><test-case name="K2-Axes-36" result="pass"/><test-case name="K2-Axes-37" result="pass"/><test-case name="K2-Axes-38" result="pass"/><test-case name="K2-Axes-39" result="pass"/><test-case name="K2-Axes-40" result="pass"/><test-case name="K2-Axes-41" result="pass"/><test-case name="K2-Axes-42" result="pass"/><test-case name="K2-Axes-43" result="pass"/><test-case name="K2-Axes-44" result="pass"/><test-case name="K2-Axes-45" result="pass"/><test-case name="K2-Axes-46" result="pass"/><test-case name="K2-Axes-47" result="pass"/><test-case name="K2-Axes-48" result="pass"/><test-case name="K2-Axes-49" result="pass"/><test-case name="K2-Axes-50" result="pass"/><test-case name="K2-Axes-51" result="pass"/><test-case name="K2-Axes-52" result="pass"/><test-case name="K2-Axes-53" result="pass"/><test-case name="K2-Axes-54" result="pass"/><test-case name="K2-Axes-55" result="pass"/><test-case name="K2-Axes-56" result="pass"/><test-case name="K2-Axes-57" result="pass"/><test-case name="K2-Axes-58" result="pass"/><test-case name="K2-Axes-59" result="pass"/><test-case name="K2-Axes-60" result="pass"/><test-case name="K2-Axes-61" result="pass"/><test-case name="K2-Axes-62" result="pass"/><test-case name="K2-Axes-63" result="pass"/><test-case name="K2-Axes-64" result="pass"/><test-case name="K2-Axes-65" result="pass"/><test-case name="K2-Axes-66" result="pass"/><test-case name="K2-Axes-67" result="pass"/><test-case name="K2-Axes-68" result="pass"/><test-case name="K2-Axes-69" result="pass"/><test-case name="K2-Axes-70" result="pass"/><test-case name="K2-Axes-71" result="pass"/><test-case name="K2-Axes-72" result="pass"/><test-case name="K2-Axes-73" result="pass"/><test-case name="K2-Axes-74" result="pass"/><test-case name="K2-Axes-75" result="pass"/><test-case name="K2-Axes-76" result="pass"/><test-case name="K2-Axes-77" result="pass"/><test-case name="K2-Axes-78" result="pass"/><test-case name="K2-Axes-79" result="pass"/><test-case name="K2-Axes-80" result="pass"/><test-case name="K2-Axes-81" result="pass"/><test-case name="K2-Axes-82" result="pass"/><test-case name="K2-Axes-83" result="pass"/><test-case name="K2-Axes-84" result="pass"/><test-case name="K2-Axes-85" result="pass"/><test-case name="K2-Axes-86" result="pass"/><test-case name="K2-Axes-87" result="pass"/><test-case name="K2-Axes-88" result="pass"/><test-case name="K2-Axes-89" result="pass"/><test-case name="K2-Axes-90" result="pass"/><test-case name="K2-Axes-91" result="pass"/><test-case name="K2-Axes-92" result="pass"/><test-case name="K2-Axes-93" result="pass"/><test-case name="K2-Axes-94" result="pass"/><test-case name="K2-Axes-95" result="pass"/><test-case name="K2-Axes-96" result="pass"/><test-case name="K2-Axes-97" result="pass"/><test-case name="K2-Axes-98" result="pass"/><test-case name="K2-Axes-99" result="pass"/><test-case name="K2-Axes-100" result="pass"/><test-case name="K2-Axes-101" result="pass"/><test-case name="K2-Axes-102" result="pass"/><test-case name="K2-Axes-103" result="pass"/><test-case name="K2-Axes-104" result="pass"/><test-case name="NodeTest001" result="pass"/><test-case name="NodeTest002" result="pass"/><test-case name="NodeTest006" result="pass"/><test-case name="NodeTest007-1" result="pass"/><test-case name="NodeTest007-2" result="pass"/><test-case name="NodeTest008-1" result="pass"/><test-case name="NodeTest008-2" result="pass"/><test-case name="NodeTest009-1" result="pass"/><test-case name="NodeTest009-2" result="pass"/><test-case name="NodeTest010-1" result="pass"/><test-case name="NodeTest010-2" result="pass"/><test-case name="NodeTest011-1" result="pass"/><test-case name="NodeTest011-2" result="pass"/><test-case name="NodeTest012-1" result="pass"/><test-case name="NodeTest012-2" result="pass"/><test-case name="NodeTest013-1" result="pass"/><test-case name="NodeTesthc-1" result="pass"/><test-case name="NodeTesthc-2" result="pass"/><test-case name="NodeTesthc-3" result="pass"/><test-case name="NodeTesthc-4" result="pass"/><test-case name="NodeTesthc-5" result="pass"/><test-case name="NodeTesthc-6" result="pass"/><test-case name="NodeTesthc-7" result="pass"/><test-case name="NodeTesthc-8" result="pass"/><test-case name="K2-NodeTest-1" result="pass"/><test-case name="K2-NodeTest-2" result="pass"/><test-case name="K2-NodeTest-3" result="pass"/><test-case name="K2-NodeTest-4" result="pass"/><test-case name="K2-NodeTest-5" result="pass"/><test-case name="K2-NodeTest-6" result="pass"/><test-case name="K2-NodeTest-7" result="pass"/><test-case name="K2-NodeTest-8" result="pass"/><test-case name="K2-NodeTest-9" result="pass"/><test-case name="K2-NodeTest-10" result="pass"/><test-case name="K2-NodeTest-11" result="pass"/><test-case name="K2-NodeTest-12" result="pass"/><test-case name="K2-NodeTest-13" result="pass"/><test-case name="K2-NodeTest-14" result="pass"/><test-case name="K2-NodeTest-15" result="pass"/><test-case name="K2-NodeTest-16" result="pass"/><test-case name="K2-NodeTest-17" result="pass"/><test-case name="K2-NodeTest-18" result="pass"/><test-case name="K2-NodeTest-19" result="pass"/><test-case name="K2-NodeTest-20" result="pass"/><test-case name="K2-NodeTest-21" result="pass"/><test-case name="K2-NodeTest-22" result="pass"/><test-case name="K2-NodeTest-23" result="pass"/><test-case name="K2-NodeTest-24" result="pass"/><test-case name="K2-NodeTest-25" result="pass"/><test-case name="K2-NodeTest-26" result="pass"/><test-case name="K2-NodeTest-27" result="pass"/><test-case name="K2-NodeTest-28" result="pass"/><test-case name="K2-NodeTest-29" result="pass"/><test-case name="K2-NodeTest-30" result="pass"/><test-case name="K2-NodeTest-31" result="pass"/><test-case name="K2-NodeTest-32" result="pass"/><test-case name="K2-NodeTest-33" result="pass"/><test-case name="K2-NodeTest-34" result="pass"/><test-case name="K2-NodeTest-35" result="pass"/><test-case name="K2-NodeTest-36" result="pass"/><test-case name="K2-NodeTest-37" result="pass"/><test-case name="K2-NodeTest-38" result="pass"/><test-case name="K2-NodeTest-39" result="pass"/><test-case name="K2-NodeTest-40" result="pass"/><test-case name="K2-NodeTest-41" result="fail"/><test-case name="K2-NodeTest-42" result="fail"/><test-case name="K2-NodeTest-43" result="fail"/><test-case name="NodeTest003" result="pass"/><test-case name="NodeTest004" result="pass"/><test-case name="NodeTest005" result="pass"/><test-case name="nametest-1" result="pass"/><test-case name="nametest-2" result="pass"/><test-case name="nametest-3" result="pass"/><test-case name="nametest-4" result="pass"/><test-case name="nametest-5" result="pass"/><test-case name="nametest-6" result="pass"/><test-case name="nametest-7" result="pass"/><test-case name="nametest-8" result="pass"/><test-case name="nametest-9" result="pass"/><test-case name="nametest-10" result="pass"/><test-case name="nametest-11" result="pass"/><test-case name="nametest-12" result="pass"/><test-case name="nametest-13" result="pass"/><test-case name="nametest-14" result="pass"/><test-case name="nametest-15" result="pass"/><test-case name="nametest-16" result="pass"/><test-case name="nametest-17" result="pass"/><test-case name="nametest-18" result="pass"/><test-case name="K-NameTest-1" result="pass"/><test-case name="K-NameTest-2" result="pass"/><test-case name="K-NameTest-3" result="pass"/><test-case name="K-NameTest-4" result="pass"/><test-case name="K-NameTest-5" result="pass"/><test-case name="K-NameTest-6" result="pass"/><test-case name="K-NameTest-7" result="pass"/><test-case name="K-NameTest-8" result="pass"/><test-case name="K-NameTest-9" result="pass"/><test-case name="K-NameTest-10" result="pass"/><test-case name="K-NameTest-11" result="pass"/><test-case name="K2-NameTest-1" result="pass"/><test-case name="K2-NameTest-2" result="pass"/><test-case name="K2-NameTest-3" result="pass"/><test-case name="K2-NameTest-4" result="pass"/><test-case name="K2-NameTest-5" result="pass"/><test-case name="K2-NameTest-6" result="pass"/><test-case name="K2-NameTest-7" result="pass"/><test-case name="K2-NameTest-8" result="pass"/><test-case name="K2-NameTest-9" result="pass"/><test-case name="K2-NameTest-10" result="pass"/><test-case name="K2-NameTest-11" result="pass"/><test-case name="K2-NameTest-12" result="pass"/><test-case name="K2-NameTest-13" result="pass"/><test-case name="K2-NameTest-14" result="pass"/><test-case name="K2-NameTest-15" result="pass"/><test-case name="K2-NameTest-16" result="pass"/><test-case name="K2-NameTest-17" result="pass"/><test-case name="K2-NameTest-18" result="pass"/><test-case name="K2-NameTest-19" result="pass"/><test-case name="K2-NameTest-20" result="pass"/><test-case name="K2-NameTest-21" result="pass"/><test-case name="K2-NameTest-22" result="pass"/><test-case name="K2-NameTest-23" result="pass"/><test-case name="K2-NameTest-24" result="pass"/><test-case name="K2-NameTest-25" result="pass"/><test-case name="K2-NameTest-26" result="pass"/><test-case name="K2-NameTest-27" result="pass"/><test-case name="K2-NameTest-28" result="pass"/><test-case name="K2-NameTest-29" result="pass"/><test-case name="K2-NameTest-30" result="pass"/><test-case name="K2-NameTest-31" result="pass"/><test-case name="K2-NameTest-32" result="pass"/><test-case name="K2-NameTest-33" result="pass"/><test-case name="K2-NameTest-34" result="pass"/><test-case name="K2-NameTest-35" result="pass"/><test-case name="K2-NameTest-36" result="pass"/><test-case name="K2-NameTest-37" result="pass"/><test-case name="K2-NameTest-38" result="pass"/><test-case name="K2-NameTest-39" result="pass"/><test-case name="K2-NameTest-40" result="pass"/><test-case name="K2-NameTest-41" result="pass"/><test-case name="K2-NameTest-42" result="pass"/><test-case name="K2-NameTest-43" result="pass"/><test-case name="K2-NameTest-44" result="pass"/><test-case name="K2-NameTest-45" result="pass"/><test-case name="K2-NameTest-46" result="pass"/><test-case name="K2-NameTest-47" result="pass"/><test-case name="K2-NameTest-48" result="pass"/><test-case name="K2-NameTest-49" result="pass"/><test-case name="K2-NameTest-50" result="pass"/><test-case name="K2-NameTest-51" result="pass"/><test-case name="K2-NameTest-52" result="pass"/><test-case name="K2-NameTest-53" result="pass"/><test-case name="K2-NameTest-54" result="pass"/><test-case name="K2-NameTest-55" result="pass"/><test-case name="K2-NameTest-56" result="pass"/><test-case name="K2-NameTest-57" result="pass"/><test-case name="K2-NameTest-58" result="pass"/><test-case name="K2-NameTest-59" result="pass"/><test-case name="K2-NameTest-60" result="pass"/><test-case name="K2-NameTest-61" result="pass"/><test-case name="K2-NameTest-62" result="pass"/><test-case name="K2-NameTest-63" result="pass"/><test-case name="K2-NameTest-64" result="pass"/><test-case name="K2-NameTest-65" result="pass"/><test-case name="K2-NameTest-66" result="pass"/><test-case name="K2-NameTest-67" result="pass"/><test-case name="K2-NameTest-68" result="fail"/><test-case name="K2-NameTest-69" result="pass"/><test-case name="K2-NameTest-70" result="pass"/><test-case name="K2-NameTest-71" result="pass"/><test-case name="K2-NameTest-72" result="pass"/><test-case name="K2-NameTest-73" result="pass"/><test-case name="K2-NameTest-74" result="pass"/><test-case name="K2-NameTest-75" result="pass"/><test-case name="K2-NameTest-76" result="pass"/><test-case name="K2-NameTest-77" result="pass"/><test-case name="K2-NameTest-78" result="pass"/><test-case name="K2-NameTest-79" result="pass"/><test-case name="K2-NameTest-80" result="pass"/><test-case name="K2-NameTest-81" result="pass"/><test-case name="K2-NameTest-82" result="pass"/><test-case name="K2-NameTest-83" result="pass"/><test-case name="K2-NameTest-84" result="pass"/><test-case name="K2-NameTest-85" result="pass"/><test-case name="K2-NameTest-86" result="pass"/><test-case name="K2-NameTest-87" result="pass"/><test-case name="K2-NameTest-88" result="pass"/><test-case name="K2-NameTest-89" result="pass"/><test-case name="K2-NameTest-90" result="pass"/><test-case name="predicates-1" result="pass"/><test-case name="predicates-2" result="pass"/><test-case name="predicates-3" result="pass"/><test-case name="predicates-4" result="pass"/><test-case name="predicates-5" result="pass"/><test-case name="predicates-6" result="pass"/><test-case name="predicates-7" result="pass"/><test-case name="predicates-8" result="pass"/><test-case name="predicates-9" result="pass"/><test-case name="predicates-10" result="pass"/><test-case name="predicates-11" result="pass"/><test-case name="predicates-12" result="pass"/><test-case name="predicates-13" result="pass"/><test-case name="predicates-14" result="pass"/><test-case name="predicates-17" result="pass"/><test-case name="predicates-18" result="pass"/><test-case name="predicates-19" result="pass"/><test-case name="predicates-20" result="pass"/><test-case name="predicates-21" result="pass"/><test-case name="predicates-22" result="pass"/><test-case name="predicates-23" result="pass"/><test-case name="predicates-24" result="pass"/><test-case name="predicates-25" result="pass"/><test-case name="predicates-26" result="pass"/><test-case name="predicates-27" result="pass"/><test-case name="predicates-28" result="pass"/><test-case name="predicates-29" result="pass"/><test-case name="predicates-30" result="pass"/><test-case name="predicates-31" result="pass"/><test-case name="predicatesns-1" result="pass"/><test-case name="predicatesns-2" result="pass"/><test-case name="predicatesns-3" result="pass"/><test-case name="predicatesns-4" result="pass"/><test-case name="predicatesns-5" result="pass"/><test-case name="predicatesns-6" result="pass"/><test-case name="predicatesns-7" result="pass"/><test-case name="predicatesns-8" result="pass"/><test-case name="predicatesns-9" result="pass"/><test-case name="predicatesns-10" result="pass"/><test-case name="predicatesns-11" result="pass"/><test-case name="predicatesns-12" result="pass"/><test-case name="predicatesns-13" result="pass"/><test-case name="predicatesns-14" result="pass"/><test-case name="K2-Predicates-1" result="pass"/><test-case name="K2-Predicates-2" result="pass"/><test-case name="K2-Predicates-3" result="pass"/><test-case name="K2-Predicates-4" result="pass"/><test-case name="K2-Predicates-5" result="pass"/><test-case name="K2-Predicates-6" result="pass"/><test-case name="K2-Predicates-7" result="pass"/><test-case name="K2-Predicates-8" result="fail"/><test-case name="K2-Predicates-9" result="pass"/><test-case name="unabbreviatedSyntax-1" result="pass"/><test-case name="unabbreviatedSyntax-2" result="pass"/><test-case name="unabbreviatedSyntax-3" result="pass"/><test-case name="unabbreviatedSyntax-4" result="pass"/><test-case name="unabbreviatedSyntax-5" result="pass"/><test-case name="unabbreviatedSyntax-8" result="pass"/><test-case name="unabbreviatedSyntax-9" result="pass"/><test-case name="unabbreviatedSyntax-12" result="pass"/><test-case name="unabbreviatedSyntax-13" result="pass"/><test-case name="unabbreviatedSyntax-14" result="pass"/><test-case name="unabbreviatedSyntax-15" result="pass"/><test-case name="unabbreviatedSyntax-16" result="pass"/><test-case name="unabbreviatedSyntax-18" result="pass"/><test-case name="unabbreviatedSyntax-19" result="pass"/><test-case name="unabbreviatedSyntax-20" result="pass"/><test-case name="unabbreviatedSyntax-21" result="pass"/><test-case name="unabbreviatedSyntax-22" result="pass"/><test-case name="unabbreviatedSyntax-23" result="pass"/><test-case name="unabbreviatedSyntax-26" result="pass"/><test-case name="unabbreviatedSyntax-27" result="pass"/><test-case name="unabbreviatedSyntax-28" result="pass"/><test-case name="unabbreviatedSyntax-29" result="pass"/><test-case name="unabbreviatedSyntax-30" result="pass"/><test-case name="unabbreviatedSyntax-31" result="pass"/><test-case name="unabbreviatedSyntax-32" result="pass"/><test-case name="unabbreviatedSyntax-33" result="fail"/><test-case name="abbreviatedSyntax-1" result="pass"/><test-case name="abbreviatedSyntax-2" result="pass"/><test-case name="abbreviatedSyntax-3" result="pass"/><test-case name="abbreviatedSyntax-5" result="pass"/><test-case name="abbreviatedSyntax-6" result="pass"/><test-case name="abbreviatedSyntax-7" result="pass"/><test-case name="abbreviatedSyntax-8" result="pass"/><test-case name="abbreviatedSyntax-9" result="pass"/><test-case name="abbreviatedSyntax-10" result="pass"/><test-case name="abbreviatedSyntax-12" result="pass"/><test-case name="abbreviatedSyntax-13" result="pass"/><test-case name="abbreviatedSyntax-14" result="pass"/><test-case name="abbreviatedSyntax-16" result="pass"/><test-case name="abbreviatedSyntax-17" result="pass"/><test-case name="abbreviatedSyntax-18" result="pass"/><test-case name="abbreviatedSyntax-19" result="pass"/><test-case name="abbreviatedSyntax-20" result="pass"/><test-case name="abbreviatedSyntax-21" result="pass"/><test-case name="abbreviatedSyntax-22" result="pass"/><test-case name="abbreviatedSyntax-24" result="pass"/><test-case name="abbreviatedSyntax-25" result="pass"/><test-case name="K2-AbbrAxes-1" result="pass"/><test-case name="sequenceexpressionhc1" result="pass"/><test-case name="sequenceexpressionhc2" result="pass"/><test-case name="sequenceexpressionhc3" result="pass"/><test-case name="sequenceexpressionhc4" result="pass"/><test-case name="sequenceexpressionhc5" result="pass"/><test-case name="sequenceexpressionhc6" result="pass"/><test-case name="sequenceexpressionhc7" result="pass"/><test-case name="sequenceexpressionhc8" result="pass"/><test-case name="sequenceexpressionhc9" result="pass"/><test-case name="constSeq-1" result="pass"/><test-case name="constSeq-2" result="pass"/><test-case name="constSeq-3" result="pass"/><test-case name="constSeq-4" result="pass"/><test-case name="constSeq-5" result="pass"/><test-case name="constSeq-6" result="pass"/><test-case name="constSeq-7" result="pass"/><test-case name="constSeq-8" result="pass"/><test-case name="constSeq-9" result="pass"/><test-case name="constSeq-10" result="pass"/><test-case name="constSeq-11" result="pass"/><test-case name="constSeq-12" result="pass"/><test-case name="constSeq-13" result="pass"/><test-case name="constSeq-14" result="pass"/><test-case name="constSeq-15" result="pass"/><test-case name="constSeq-16" result="pass"/><test-case name="constSeq-17" result="pass"/><test-case name="constSeq-18" result="pass"/><test-case name="constSeq-19" result="pass"/><test-case name="constSeq-20" result="pass"/><test-case name="constSeq-21" result="pass"/><test-case name="constSeq-22" result="pass"/><test-case name="op-concatenate-mix-args-001" result="pass"/><test-case name="op-concatenate-mix-args-002" result="pass"/><test-case name="op-concatenate-mix-args-003" result="pass"/><test-case name="op-concatenate-mix-args-004" result="pass"/><test-case name="op-concatenate-mix-args-005" result="pass"/><test-case name="op-concatenate-mix-args-006" result="pass"/><test-case name="op-concatenate-mix-args-007" result="pass"/><test-case name="op-concatenate-mix-args-008" result="pass"/><test-case name="op-concatenate-mix-args-009" result="pass"/><test-case name="op-concatenate-mix-args-010" result="pass"/><test-case name="op-concatenate-mix-args-011" result="pass"/><test-case name="op-concatenate-mix-args-012" result="pass"/><test-case name="op-concatenate-mix-args-013" result="pass"/><test-case name="op-concatenate-mix-args-014" result="pass"/><test-case name="op-concatenate-mix-args-015" result="pass"/><test-case name="op-concatenate-mix-args-016" result="pass"/><test-case name="op-concatenate-mix-args-017" result="pass"/><test-case name="op-concatenate-mix-args-018" result="pass"/><test-case name="op-concatenate-mix-args-019" result="pass"/><test-case name="op-concatenate-mix-args-020" result="pass"/><test-case name="K-commaOp-1" result="pass"/><test-case name="K-commaOp-2" result="pass"/><test-case name="K-commaOp-3" result="pass"/><test-case name="rangeExpr-1" result="pass"/><test-case name="rangeExpr-2" result="pass"/><test-case name="rangeExpr-3" result="pass"/><test-case name="rangeExpr-4" result="pass"/><test-case name="rangeExpr-5" result="pass"/><test-case name="rangeExpr-6" result="pass"/><test-case name="rangeExpr-7" result="pass"/><test-case name="rangeExpr-8" result="pass"/><test-case name="rangeExpr-9" result="pass"/><test-case name="rangeExpr-10" result="pass"/><test-case name="rangeExpr-11" result="pass"/><test-case name="rangeExpr-12" result="pass"/><test-case name="rangeExpr-13" result="pass"/><test-case name="rangeExpr-14" result="pass"/><test-case name="rangeExpr-15" result="pass"/><test-case name="rangeExpr-16" result="pass"/><test-case name="rangeExpr-17" result="pass"/><test-case name="rangeExpr-18" result="pass"/><test-case name="rangeExpr-19" result="pass"/><test-case name="rangeExpr-20" result="pass"/><test-case name="rangeExpr-21" result="pass"/><test-case name="rangeExpr-22" result="pass"/><test-case name="rangeExpr-23" result="pass"/><test-case name="rangeExpr-24" result="pass"/><test-case name="rangeExpr-25" result="pass"/><test-case name="rangeExpr-26" result="pass"/><test-case name="rangeExpr-27" result="pass"/><test-case name="K-RangeExpr-1" result="pass"/><test-case name="K-RangeExpr-2" result="pass"/><test-case name="K-RangeExpr-3" result="pass"/><test-case name="K-RangeExpr-4" result="pass"/><test-case name="K-RangeExpr-5" result="pass"/><test-case name="K-RangeExpr-6" result="pass"/><test-case name="K-RangeExpr-7" result="pass"/><test-case name="K-RangeExpr-8" result="pass"/><test-case name="K-RangeExpr-9" result="pass"/><test-case name="K-RangeExpr-10" result="pass"/><test-case name="K-RangeExpr-11" result="pass"/><test-case name="K-RangeExpr-12" result="pass"/><test-case name="K-RangeExpr-13" result="pass"/><test-case name="K-RangeExpr-14" result="pass"/><test-case name="K-RangeExpr-15" result="pass"/><test-case name="K-RangeExpr-16" result="pass"/><test-case name="K-RangeExpr-17" result="pass"/><test-case name="K-RangeExpr-18" result="pass"/><test-case name="K-RangeExpr-19" result="pass"/><test-case name="K-RangeExpr-20" result="pass"/><test-case name="K-RangeExpr-21" result="pass"/><test-case name="K-RangeExpr-22" result="pass"/><test-case name="K-RangeExpr-23" result="pass"/><test-case name="K-RangeExpr-24" result="pass"/><test-case name="K-RangeExpr-25" result="pass"/><test-case name="K-RangeExpr-26" result="pass"/><test-case name="K-RangeExpr-27" result="pass"/><test-case name="K-RangeExpr-28" result="pass"/><test-case name="K-RangeExpr-29" result="pass"/><test-case name="K-RangeExpr-30" result="pass"/><test-case name="K-RangeExpr-31" result="pass"/><test-case name="K-RangeExpr-32" result="pass"/><test-case name="K-RangeExpr-33" result="pass"/><test-case name="K-RangeExpr-34" result="pass"/><test-case name="K-RangeExpr-35" result="pass"/><test-case name="K-RangeExpr-36" result="pass"/><test-case name="K2-RangeExpr-1" result="pass"/><test-case name="K2-RangeExpr-2" result="pass"/><test-case name="K2-RangeExpr-3" result="pass"/><test-case name="K2-RangeExpr-4" result="pass"/><test-case name="filterexpressionhc1" result="pass"/><test-case name="filterexpressionhc2" result="pass"/><test-case name="filterexpressionhc3" result="pass"/><test-case name="filterexpressionhc4" result="pass"/><test-case name="filterexpressionhc5" result="pass"/><test-case name="filterexpressionhc6" result="pass"/><test-case name="filterexpressionhc7" result="pass"/><test-case name="filterexpressionhc8" result="pass"/><test-case name="filterexpressionhc9" result="pass"/><test-case name="filterexpressionhc10" result="pass"/><test-case name="filterexpressionhc11" result="pass"/><test-case name="filterexpressionhc12" result="pass"/><test-case name="filterexpressionhc13" result="pass"/><test-case name="filterexpressionhc14" result="pass"/><test-case name="filterexpressionhc15" result="pass"/><test-case name="filterexpressionhc16" result="pass"/><test-case name="filterexpressionhc17" result="pass"/><test-case name="filterexpressionhc18" result="pass"/><test-case name="filterexpressionhc19" result="pass"/><test-case name="filterexpressionhc20" result="pass"/><test-case name="filterexpressionhc21" result="pass"/><test-case name="filterexpressionhc22" result="pass"/><test-case name="K-FilterExpr-1" result="pass"/><test-case name="K-FilterExpr-2" result="pass"/><test-case name="K-FilterExpr-3" result="pass"/><test-case name="K-FilterExpr-4" result="pass"/><test-case name="K-FilterExpr-5" result="pass"/><test-case name="K-FilterExpr-6" result="pass"/><test-case name="K-FilterExpr-7" result="pass"/><test-case name="K-FilterExpr-8" result="pass"/><test-case name="K-FilterExpr-9" result="pass"/><test-case name="K-FilterExpr-10" result="pass"/><test-case name="K-FilterExpr-11" result="pass"/><test-case name="K-FilterExpr-12" result="pass"/><test-case name="K-FilterExpr-13" result="pass"/><test-case name="K-FilterExpr-14" result="pass"/><test-case name="K-FilterExpr-15" result="pass"/><test-case name="K-FilterExpr-16" result="pass"/><test-case name="K-FilterExpr-17" result="pass"/><test-case name="K-FilterExpr-18" result="pass"/><test-case name="K-FilterExpr-19" result="pass"/><test-case name="K-FilterExpr-20" result="pass"/><test-case name="K-FilterExpr-21" result="pass"/><test-case name="K-FilterExpr-22" result="pass"/><test-case name="K-FilterExpr-23" result="pass"/><test-case name="K-FilterExpr-24" result="pass"/><test-case name="K-FilterExpr-25" result="pass"/><test-case name="K-FilterExpr-26" result="pass"/><test-case name="K-FilterExpr-27" result="pass"/><test-case name="K-FilterExpr-28" result="pass"/><test-case name="K-FilterExpr-29" result="pass"/><test-case name="K-FilterExpr-30" result="pass"/><test-case name="K-FilterExpr-31" result="pass"/><test-case name="K-FilterExpr-32" result="pass"/><test-case name="K-FilterExpr-33" result="pass"/><test-case name="K-FilterExpr-34" result="pass"/><test-case name="K-FilterExpr-35" result="pass"/><test-case name="K-FilterExpr-36" result="pass"/><test-case name="K-FilterExpr-37" result="pass"/><test-case name="K-FilterExpr-38" result="pass"/><test-case name="K-FilterExpr-39" result="pass"/><test-case name="K-FilterExpr-40" result="pass"/><test-case name="K-FilterExpr-41" result="pass"/><test-case name="K-FilterExpr-42" result="pass"/><test-case name="K-FilterExpr-43" result="pass"/><test-case name="K-FilterExpr-44" result="pass"/><test-case name="K-FilterExpr-45" result="pass"/><test-case name="K-FilterExpr-46" result="pass"/><test-case name="K-FilterExpr-47" result="pass"/><test-case name="K-FilterExpr-48" result="pass"/><test-case name="K-FilterExpr-49" result="pass"/><test-case name="K-FilterExpr-50" result="pass"/><test-case name="K-FilterExpr-51" result="pass"/><test-case name="K-FilterExpr-52" result="pass"/><test-case name="K-FilterExpr-53" result="pass"/><test-case name="K-FilterExpr-54" result="pass"/><test-case name="K-FilterExpr-55" result="pass"/><test-case name="K-FilterExpr-56" result="pass"/><test-case name="K-FilterExpr-57" result="pass"/><test-case name="K-FilterExpr-58" result="pass"/><test-case name="K-FilterExpr-59" result="pass"/><test-case name="K-FilterExpr-60" result="pass"/><test-case name="K-FilterExpr-61" result="pass"/><test-case name="K-FilterExpr-62" result="pass"/><test-case name="K-FilterExpr-63" result="pass"/><test-case name="K-FilterExpr-64" result="pass"/><test-case name="K-FilterExpr-65" result="pass"/><test-case name="K-FilterExpr-66" result="pass"/><test-case name="K-FilterExpr-67" result="pass"/><test-case name="K-FilterExpr-68" result="pass"/><test-case name="K-FilterExpr-69" result="pass"/><test-case name="K-FilterExpr-70" result="pass"/><test-case name="K-FilterExpr-71" result="pass"/><test-case name="K-FilterExpr-72" result="pass"/><test-case name="K-FilterExpr-73" result="pass"/><test-case name="K-FilterExpr-74" result="pass"/><test-case name="K-FilterExpr-75" result="pass"/><test-case name="K-FilterExpr-76" result="pass"/><test-case name="K-FilterExpr-77" result="pass"/><test-case name="K-FilterExpr-78" result="pass"/><test-case name="K-FilterExpr-79" result="pass"/><test-case name="K-FilterExpr-80" result="pass"/><test-case name="K-FilterExpr-81" result="pass"/><test-case name="K-FilterExpr-82" result="pass"/><test-case name="K-FilterExpr-83" result="pass"/><test-case name="K-FilterExpr-84" result="pass"/><test-case name="K-FilterExpr-85" result="pass"/><test-case name="K-FilterExpr-86" result="pass"/><test-case name="K-FilterExpr-87" result="pass"/><test-case name="K-FilterExpr-88" result="pass"/><test-case name="K-FilterExpr-89" result="pass"/><test-case name="K-FilterExpr-90" result="pass"/><test-case name="K-FilterExpr-91" result="pass"/><test-case name="K-FilterExpr-92" result="pass"/><test-case name="K-FilterExpr-93" result="pass"/><test-case name="K-FilterExpr-94" result="pass"/><test-case name="K2-FilterExpr-1" result="pass"/><test-case name="K2-FilterExpr-2" result="pass"/><test-case name="K2-FilterExpr-3" result="pass"/><test-case name="K2-FilterExpr-4" result="pass"/><test-case name="K2-FilterExpr-5" result="pass"/><test-case name="K2-FilterExpr-6" result="pass"/><test-case name="K2-FilterExpr-7" result="pass"/><test-case name="K2-FilterExpr-8" result="pass"/><test-case name="combiningnodeseqhc1" result="pass"/><test-case name="combiningnodeseqhc2" result="pass"/><test-case name="combiningnodeseqhc3" result="pass"/><test-case name="combiningnodeseqhc4" result="pass"/><test-case name="combiningnodeseqhc5" result="pass"/><test-case name="combiningnodeseqhc6" result="pass"/><test-case name="combiningnodeseqhc7" result="pass"/><test-case name="combiningnodeseqhc8" result="pass"/><test-case name="combiningnodeseqhc9" result="pass"/><test-case name="combiningnodeseqhc10" result="pass"/><test-case name="combiningnodeseqexcepthc1" result="pass"/><test-case name="combiningnodeseqexcepthc2" result="pass"/><test-case name="combiningnodeseqexcepthc3" result="pass"/><test-case name="combiningnodeseqexcepthc4" result="pass"/><test-case name="combiningnodeseqexcepthc5" result="pass"/><test-case name="combiningnodeseqexcepthc6" result="pass"/><test-case name="combiningnodeseqintersecthc1" result="pass"/><test-case name="combiningnodeseqintersecthc2" result="pass"/><test-case name="combiningnodeseqintersecthc3" result="pass"/><test-case name="combiningnodeseqintersecthc4" result="pass"/><test-case name="op-numeric-addint2args-1" result="pass"/><test-case name="op-numeric-addint2args-2" result="pass"/><test-case name="op-numeric-addint2args-3" result="pass"/><test-case name="op-numeric-addint2args-4" result="pass"/><test-case name="op-numeric-addintg2args-1" result="pass"/><test-case name="op-numeric-addintg2args-2" result="pass"/><test-case name="op-numeric-addintg2args-3" result="pass"/><test-case name="op-numeric-addintg2args-4" result="pass"/><test-case name="op-numeric-adddec2args-1" result="fail"/><test-case name="op-numeric-adddec2args-2" result="pass"/><test-case name="op-numeric-adddec2args-3" result="fail"/><test-case name="op-numeric-adddec2args-4" result="pass"/><test-case name="op-numeric-adddbl2args-1" result="pass"/><test-case name="op-numeric-adddbl2args-2" result="pass"/><test-case name="op-numeric-adddbl2args-3" result="pass"/><test-case name="op-numeric-adddbl2args-4" result="pass"/><test-case name="op-numeric-addflt2args-1" result="pass"/><test-case name="op-numeric-addflt2args-2" result="pass"/><test-case name="op-numeric-addflt2args-3" result="pass"/><test-case name="op-numeric-addflt2args-4" result="pass"/><test-case name="op-numeric-addlng2args-1" result="pass"/><test-case name="op-numeric-addlng2args-2" result="pass"/><test-case name="op-numeric-addlng2args-3" result="pass"/><test-case name="op-numeric-addlng2args-4" result="pass"/><test-case name="op-numeric-addusht2args-1" result="pass"/><test-case name="op-numeric-addusht2args-2" result="pass"/><test-case name="op-numeric-addusht2args-3" result="pass"/><test-case name="op-numeric-addusht2args-4" result="pass"/><test-case name="op-numeric-addusht2args-5" result="pass"/><test-case name="op-numeric-addnint2args-1" result="pass"/><test-case name="op-numeric-addnint2args-2" result="pass"/><test-case name="op-numeric-addnint2args-3" result="pass"/><test-case name="op-numeric-addnint2args-4" result="pass"/><test-case name="op-numeric-addpint2args-1" result="pass"/><test-case name="op-numeric-addpint2args-2" result="pass"/><test-case name="op-numeric-addpint2args-3" result="pass"/><test-case name="op-numeric-addpint2args-4" result="pass"/><test-case name="op-numeric-addpint2args-5" result="pass"/><test-case name="op-numeric-addulng2args-1" result="pass"/><test-case name="op-numeric-addulng2args-2" result="pass"/><test-case name="op-numeric-addulng2args-3" result="pass"/><test-case name="op-numeric-addulng2args-4" result="pass"/><test-case name="op-numeric-addulng2args-5" result="pass"/><test-case name="op-numeric-addnpi2args-1" result="pass"/><test-case name="op-numeric-addnpi2args-2" result="pass"/><test-case name="op-numeric-addnpi2args-3" result="pass"/><test-case name="op-numeric-addnpi2args-4" result="pass"/><test-case name="op-numeric-addnni2args-1" result="pass"/><test-case name="op-numeric-addnni2args-2" result="pass"/><test-case name="op-numeric-addnni2args-3" result="pass"/><test-case name="op-numeric-addnni2args-4" result="pass"/><test-case name="op-numeric-addnni2args-5" result="pass"/><test-case name="op-numeric-addsht2args-1" result="pass"/><test-case name="op-numeric-addsht2args-2" result="pass"/><test-case name="op-numeric-addsht2args-3" result="pass"/><test-case name="op-numeric-addsht2args-4" result="pass"/><test-case name="op-numeric-addmix2args-1" result="pass"/><test-case name="op-numeric-addmix2args-2" result="pass"/><test-case name="op-numeric-addmix2args-3" result="pass"/><test-case name="op-numeric-addmix2args-4" result="pass"/><test-case name="op-numeric-addmix2args-5" result="pass"/><test-case name="op-numeric-addmix2args-6" result="pass"/><test-case name="op-numeric-addmix2args-7" result="pass"/><test-case name="op-numeric-addmix2args-8" result="pass"/><test-case name="op-numeric-addmix2args-9" result="pass"/><test-case name="op-numeric-add-derived-1" result="pass"/><test-case name="op-numeric-add-derived-2" result="pass"/><test-case name="op-numeric-add-derived-3" result="pass"/><test-case name="op-numeric-add-derived-4" result="pass"/><test-case name="op-numeric-add-derived-5" result="pass"/><test-case name="K-NumericAdd-1" result="pass"/><test-case name="K-NumericAdd-2" result="pass"/><test-case name="K-NumericAdd-3" result="pass"/><test-case name="K-NumericAdd-4" result="pass"/><test-case name="K-NumericAdd-5" result="fail"/><test-case name="K-NumericAdd-6" result="fail"/><test-case name="K-NumericAdd-7" result="pass"/><test-case name="K-NumericAdd-8" result="pass"/><test-case name="K-NumericAdd-9" result="pass"/><test-case name="K-NumericAdd-10" result="pass"/><test-case name="K-NumericAdd-11" result="pass"/><test-case name="K-NumericAdd-12" result="pass"/><test-case name="K-NumericAdd-13" result="pass"/><test-case name="K-NumericAdd-14" result="pass"/><test-case name="K-NumericAdd-15" result="pass"/><test-case name="K-NumericAdd-16" result="pass"/><test-case name="K-NumericAdd-17" result="pass"/><test-case name="K-NumericAdd-18" result="pass"/><test-case name="K-NumericAdd-19" result="pass"/><test-case name="K-NumericAdd-20" result="pass"/><test-case name="K-NumericAdd-21" result="pass"/><test-case name="K-NumericAdd-22" result="pass"/><test-case name="K-NumericAdd-23" result="pass"/><test-case name="K-NumericAdd-24" result="pass"/><test-case name="K-NumericAdd-25" result="pass"/><test-case name="K-NumericAdd-26" result="pass"/><test-case name="K-NumericAdd-27" result="pass"/><test-case name="K-NumericAdd-28" result="pass"/><test-case name="K-NumericAdd-29" result="pass"/><test-case name="K-NumericAdd-30" result="pass"/><test-case name="K-NumericAdd-31" result="pass"/><test-case name="K-NumericAdd-32" result="pass"/><test-case name="K-NumericAdd-33" result="pass"/><test-case name="K-NumericAdd-34" result="pass"/><test-case name="K-NumericAdd-35" result="pass"/><test-case name="K-NumericAdd-36" result="pass"/><test-case name="K-NumericAdd-37" result="pass"/><test-case name="K-NumericAdd-38" result="pass"/><test-case name="K-NumericAdd-39" result="pass"/><test-case name="K-NumericAdd-40" result="pass"/><test-case name="K-NumericAdd-41" result="pass"/><test-case name="K-NumericAdd-42" result="pass"/><test-case name="K-NumericAdd-43" result="pass"/><test-case name="K-NumericAdd-44" result="pass"/><test-case name="K-NumericAdd-45" result="pass"/><test-case name="K-NumericAdd-46" result="pass"/><test-case name="K-NumericAdd-47" result="pass"/><test-case name="K-NumericAdd-48" result="pass"/><test-case name="K-NumericAdd-49" result="pass"/><test-case name="K-NumericAdd-50" result="pass"/><test-case name="K-NumericAdd-51" result="pass"/><test-case name="K-NumericAdd-52" result="pass"/><test-case name="K-NumericAdd-53" result="pass"/><test-case name="K-NumericAdd-54" result="pass"/><test-case name="K-NumericAdd-55" result="pass"/><test-case name="K-NumericAdd-56" result="pass"/><test-case name="K-NumericAdd-57" result="pass"/><test-case name="K-NumericAdd-58" result="pass"/><test-case name="K-NumericAdd-59" result="pass"/><test-case name="K-NumericAdd-60" result="pass"/><test-case name="K-NumericAdd-61" result="pass"/><test-case name="K-NumericAdd-62" result="pass"/><test-case name="K-NumericAdd-63" result="pass"/><test-case name="K-NumericAdd-64" result="pass"/><test-case name="K-NumericAdd-65" result="pass"/><test-case name="K-NumericAdd-66" result="pass"/><test-case name="K2-NumericAdd-1" result="pass"/><test-case name="K2-NumericAdd-2" result="pass"/><test-case name="K2-NumericAdd-3" result="pass"/><test-case name="op-numeric-subtractint2args-1" result="pass"/><test-case name="op-numeric-subtractint2args-2" result="pass"/><test-case name="op-numeric-subtractint2args-3" result="pass"/><test-case name="op-numeric-subtractint2args-4" result="pass"/><test-case name="op-numeric-subtractint2args-5" result="pass"/><test-case name="op-numeric-subtractintg2args-1" result="pass"/><test-case name="op-numeric-subtractintg2args-2" result="pass"/><test-case name="op-numeric-subtractintg2args-3" result="pass"/><test-case name="op-numeric-subtractintg2args-4" result="pass"/><test-case name="op-numeric-subtractintg2args-5" result="pass"/><test-case name="op-numeric-subtractdec2args-1" result="pass"/><test-case name="op-numeric-subtractdec2args-2" result="fail"/><test-case name="op-numeric-subtractdec2args-3" result="fail"/><test-case name="op-numeric-subtractdec2args-4" result="fail"/><test-case name="op-numeric-subtractdec2args-5" result="fail"/><test-case name="op-numeric-subtractdbl2args-1" result="pass"/><test-case name="op-numeric-subtractdbl2args-2" result="pass"/><test-case name="op-numeric-subtractdbl2args-3" result="pass"/><test-case name="op-numeric-subtractdbl2args-4" result="pass"/><test-case name="op-numeric-subtractdbl2args-5" result="pass"/><test-case name="op-numeric-subtractflt2args-1" result="pass"/><test-case name="op-numeric-subtractflt2args-2" result="pass"/><test-case name="op-numeric-subtractflt2args-3" result="pass"/><test-case name="op-numeric-subtractflt2args-4" result="pass"/><test-case name="op-numeric-subtractflt2args-5" result="pass"/><test-case name="op-numeric-subtractlng2args-1" result="pass"/><test-case name="op-numeric-subtractlng2args-2" result="pass"/><test-case name="op-numeric-subtractlng2args-3" result="pass"/><test-case name="op-numeric-subtractlng2args-4" result="pass"/><test-case name="op-numeric-subtractlng2args-5" result="pass"/><test-case name="op-numeric-subtractusht2args-1" result="pass"/><test-case name="op-numeric-subtractusht2args-2" result="pass"/><test-case name="op-numeric-subtractusht2args-3" result="pass"/><test-case name="op-numeric-subtractusht2args-4" result="pass"/><test-case name="op-numeric-subtractusht2args-5" result="pass"/><test-case name="op-numeric-subtractnint2args-1" result="pass"/><test-case name="op-numeric-subtractnint2args-2" result="pass"/><test-case name="op-numeric-subtractpint2args-1" result="pass"/><test-case name="op-numeric-subtractpint2args-2" result="pass"/><test-case name="op-numeric-subtractpint2args-3" result="pass"/><test-case name="op-numeric-subtractulng2args-1" result="pass"/><test-case name="op-numeric-subtractulng2args-2" result="pass"/><test-case name="op-numeric-subtractulng2args-3" result="pass"/><test-case name="op-numeric-subtractulng2args-4" result="pass"/><test-case name="op-numeric-subtractulng2args-5" result="pass"/><test-case name="op-numeric-subtractnpi2args-1" result="pass"/><test-case name="op-numeric-subtractnpi2args-2" result="pass"/><test-case name="op-numeric-subtractnpi2args-3" result="pass"/><test-case name="op-numeric-subtractnpi2args-4" result="pass"/><test-case name="op-numeric-subtractnpi2args-5" result="pass"/><test-case name="op-numeric-subtractnni2args-1" result="pass"/><test-case name="op-numeric-subtractnni2args-2" result="pass"/><test-case name="op-numeric-subtractnni2args-3" result="pass"/><test-case name="op-numeric-subtractnni2args-4" result="pass"/><test-case name="op-numeric-subtractnni2args-5" result="pass"/><test-case name="op-numeric-subtractsht2args-1" result="pass"/><test-case name="op-numeric-subtractsht2args-2" result="pass"/><test-case name="op-numeric-subtractsht2args-3" result="pass"/><test-case name="op-numeric-subtractsht2args-4" result="pass"/><test-case name="op-numeric-subtractsht2args-5" result="pass"/><test-case name="op-numeric-subtractmix2args-1" result="pass"/><test-case name="op-numeric-subtractmix2args-2" result="pass"/><test-case name="op-numeric-subtractmix2args-3" result="pass"/><test-case name="op-numeric-subtractmix2args-4" result="pass"/><test-case name="op-numeric-subtractmix2args-5" result="pass"/><test-case name="op-numeric-subtractmix2args-6" result="pass"/><test-case name="op-numeric-subtractmix2args-7" result="pass"/><test-case name="op-numeric-subtractmix2args-8" result="pass"/><test-case name="op-numeric-subtractmix2args-9" result="pass"/><test-case name="K-NumericSubtract-1" result="pass"/><test-case name="K-NumericSubtract-2" result="pass"/><test-case name="K-NumericSubtract-3" result="pass"/><test-case name="K-NumericSubtract-4" result="pass"/><test-case name="K-NumericSubtract-5" result="pass"/><test-case name="K-NumericSubtract-6" result="pass"/><test-case name="K-NumericSubtract-7" result="pass"/><test-case name="K-NumericSubtract-8" result="pass"/><test-case name="K-NumericSubtract-9" result="pass"/><test-case name="K-NumericSubtract-10" result="pass"/><test-case name="K-NumericSubtract-11" result="pass"/><test-case name="K-NumericSubtract-12" result="pass"/><test-case name="K-NumericSubtract-13" result="pass"/><test-case name="K-NumericSubtract-14" result="pass"/><test-case name="K-NumericSubtract-15" result="pass"/><test-case name="K-NumericSubtract-16" result="pass"/><test-case name="K-NumericSubtract-17" result="pass"/><test-case name="K-NumericSubtract-18" result="pass"/><test-case name="K-NumericSubtract-19" result="pass"/><test-case name="K-NumericSubtract-20" result="pass"/><test-case name="K-NumericSubtract-21" result="pass"/><test-case name="K-NumericSubtract-22" result="pass"/><test-case name="K-NumericSubtract-23" result="pass"/><test-case name="K-NumericSubtract-24" result="pass"/><test-case name="K-NumericSubtract-25" result="pass"/><test-case name="K-NumericSubtract-26" result="pass"/><test-case name="K-NumericSubtract-27" result="pass"/><test-case name="K-NumericSubtract-28" result="pass"/><test-case name="K-NumericSubtract-29" result="pass"/><test-case name="K-NumericSubtract-30" result="pass"/><test-case name="K-NumericSubtract-31" result="pass"/><test-case name="K-NumericSubtract-32" result="pass"/><test-case name="K-NumericSubtract-33" result="pass"/><test-case name="K-NumericSubtract-34" result="pass"/><test-case name="K-NumericSubtract-35" result="pass"/><test-case name="K-NumericSubtract-36" result="pass"/><test-case name="K-NumericSubtract-37" result="pass"/><test-case name="K-NumericSubtract-38" result="pass"/><test-case name="K2-NumericSubtract-1" result="pass"/><test-case name="K2-NumericSubtract-2" result="pass"/><test-case name="op-numeric-multiplydec2args-1" result="fail"/><test-case name="op-numeric-multiplydec2args-2" result="pass"/><test-case name="op-numeric-multiplydec2args-3" result="fail"/><test-case name="op-numeric-multiplydec2args-4" result="pass"/><test-case name="op-numeric-multiplydec2args-5" result="fail"/><test-case name="op-numeric-multiplydbl2args-1" result="pass"/><test-case name="op-numeric-multiplydbl2args-2" result="pass"/><test-case name="op-numeric-multiplydbl2args-3" result="pass"/><test-case name="op-numeric-multiplydbl2args-4" result="pass"/><test-case name="op-numeric-multiplydbl2args-5" result="pass"/><test-case name="op-numeric-multiplyflt2args-1" result="pass"/><test-case name="op-numeric-multiplyflt2args-2" result="pass"/><test-case name="op-numeric-multiplyflt2args-3" result="pass"/><test-case name="op-numeric-multiplyflt2args-4" result="pass"/><test-case name="op-numeric-multiplyflt2args-5" result="pass"/><test-case name="op-numeric-multiplyusht2args-1" result="pass"/><test-case name="op-numeric-multiplyusht2args-2" result="pass"/><test-case name="op-numeric-multiplyusht2args-3" result="pass"/><test-case name="op-numeric-multiplyusht2args-4" result="pass"/><test-case name="op-numeric-multiplyusht2args-5" result="pass"/><test-case name="op-numeric-multiplypint2args-1" result="pass"/><test-case name="op-numeric-multiplypint2args-2" result="pass"/><test-case name="op-numeric-multiplypint2args-3" result="pass"/><test-case name="op-numeric-multiplypint2args-4" result="pass"/><test-case name="op-numeric-multiplypint2args-5" result="pass"/><test-case name="op-numeric-multiplyulng2args-1" result="pass"/><test-case name="op-numeric-multiplyulng2args-2" result="pass"/><test-case name="op-numeric-multiplyulng2args-3" result="pass"/><test-case name="op-numeric-multiplyulng2args-4" result="pass"/><test-case name="op-numeric-multiplyulng2args-5" result="pass"/><test-case name="op-numeric-multiplynpi2args-1" result="pass"/><test-case name="op-numeric-multiplynpi2args-2" result="pass"/><test-case name="op-numeric-multiplynni2args-1" result="pass"/><test-case name="op-numeric-multiplynni2args-2" result="pass"/><test-case name="op-numeric-multiplynni2args-3" result="pass"/><test-case name="op-numeric-multiplynni2args-4" result="pass"/><test-case name="op-numeric-multiplynni2args-5" result="pass"/><test-case name="op-numeric-multiplymix2args-1" result="pass"/><test-case name="op-numeric-multiplymix2args-2" result="pass"/><test-case name="op-numeric-multiplymix2args-3" result="pass"/><test-case name="op-numeric-multiplymix2args-4" result="pass"/><test-case name="op-numeric-multiplymix2args-5" result="pass"/><test-case name="op-numeric-multiplymix2args-6" result="pass"/><test-case name="op-numeric-multiplymix2args-7" result="pass"/><test-case name="op-numeric-multiplymix2args-8" result="pass"/><test-case name="op-numeric-multiplymix2args-9" result="pass"/><test-case name="K-NumericMultiply-1" result="pass"/><test-case name="K-NumericMultiply-2" result="pass"/><test-case name="K-NumericMultiply-3" result="pass"/><test-case name="K-NumericMultiply-4" result="pass"/><test-case name="K-NumericMultiply-5" result="pass"/><test-case name="K-NumericMultiply-6" result="pass"/><test-case name="K-NumericMultiply-7" result="pass"/><test-case name="K-NumericMultiply-8" result="pass"/><test-case name="K-NumericMultiply-9" result="pass"/><test-case name="K-NumericMultiply-10" result="pass"/><test-case name="K-NumericMultiply-11" result="pass"/><test-case name="K-NumericMultiply-12" result="pass"/><test-case name="K-NumericMultiply-13" result="pass"/><test-case name="K-NumericMultiply-14" result="pass"/><test-case name="K-NumericMultiply-15" result="pass"/><test-case name="K-NumericMultiply-16" result="pass"/><test-case name="K-NumericMultiply-17" result="pass"/><test-case name="K-NumericMultiply-18" result="pass"/><test-case name="K-NumericMultiply-19" result="pass"/><test-case name="K-NumericMultiply-20" result="pass"/><test-case name="K-NumericMultiply-21" result="pass"/><test-case name="K-NumericMultiply-22" result="pass"/><test-case name="K-NumericMultiply-23" result="pass"/><test-case name="K-NumericMultiply-24" result="pass"/><test-case name="K-NumericMultiply-25" result="pass"/><test-case name="K-NumericMultiply-26" result="pass"/><test-case name="K-NumericMultiply-27" result="pass"/><test-case name="K-NumericMultiply-28" result="pass"/><test-case name="K-NumericMultiply-29" result="pass"/><test-case name="K-NumericMultiply-30" result="pass"/><test-case name="K-NumericMultiply-31" result="pass"/><test-case name="K-NumericMultiply-32" result="pass"/><test-case name="K-NumericMultiply-33" result="pass"/><test-case name="op-numeric-divideint2args-1" result="pass"/><test-case name="op-numeric-divideint2args-2" result="fail"/><test-case name="op-numeric-divideint2args-3" result="fail"/><test-case name="op-numeric-divideint2args-4" result="fail"/><test-case name="op-numeric-divideint2args-5" result="fail"/><test-case name="op-numeric-divideintg2args-1" result="pass"/><test-case name="op-numeric-divideintg2args-2" result="fail"/><test-case name="op-numeric-divideintg2args-3" result="pass"/><test-case name="op-numeric-divideintg2args-4" result="fail"/><test-case name="op-numeric-divideintg2args-5" result="pass"/><test-case name="op-numeric-dividedec2args-1" result="pass"/><test-case name="op-numeric-dividedec2args-2" result="fail"/><test-case name="op-numeric-dividedec2args-3" result="pass"/><test-case name="op-numeric-dividedec2args-4" result="fail"/><test-case name="op-numeric-dividedec2args-5" result="pass"/><test-case name="op-numeric-dividedbl2args-1" result="pass"/><test-case name="op-numeric-dividedbl2args-2" result="pass"/><test-case name="op-numeric-dividedbl2args-3" result="pass"/><test-case name="op-numeric-dividedbl2args-4" result="pass"/><test-case name="op-numeric-divideflt2args-1" result="pass"/><test-case name="op-numeric-divideflt2args-2" result="pass"/><test-case name="op-numeric-divideflt2args-3" result="pass"/><test-case name="op-numeric-divideflt2args-4" result="pass"/><test-case name="op-numeric-dividelng2args-1" result="pass"/><test-case name="op-numeric-dividelng2args-2" result="fail"/><test-case name="op-numeric-dividelng2args-3" result="pass"/><test-case name="op-numeric-dividelng2args-4" result="fail"/><test-case name="op-numeric-dividelng2args-5" result="pass"/><test-case name="op-numeric-divideusht2args-1" result="pass"/><test-case name="op-numeric-divideusht2args-2" result="pass"/><test-case name="op-numeric-dividenint2args-1" result="pass"/><test-case name="op-numeric-dividenint2args-2" result="fail"/><test-case name="op-numeric-dividenint2args-3" result="pass"/><test-case name="op-numeric-dividenint2args-4" result="fail"/><test-case name="op-numeric-dividenint2args-5" result="fail"/><test-case name="op-numeric-dividepint2args-1" result="pass"/><test-case name="op-numeric-dividepint2args-2" result="fail"/><test-case name="op-numeric-dividepint2args-3" result="fail"/><test-case name="op-numeric-dividepint2args-4" result="fail"/><test-case name="op-numeric-dividepint2args-5" result="pass"/><test-case name="op-numeric-divideulng2args-1" result="pass"/><test-case name="op-numeric-divideulng2args-2" result="pass"/><test-case name="op-numeric-dividenpi2args-1" result="pass"/><test-case name="op-numeric-dividenpi2args-2" result="fail"/><test-case name="op-numeric-dividenpi2args-3" result="pass"/><test-case name="op-numeric-dividenpi2args-4" result="fail"/><test-case name="op-numeric-dividenni2args-1" result="pass"/><test-case name="op-numeric-dividenni2args-2" result="pass"/><test-case name="op-numeric-dividesht2args-1" result="pass"/><test-case name="op-numeric-dividesht2args-2" result="fail"/><test-case name="op-numeric-dividesht2args-3" result="pass"/><test-case name="op-numeric-dividesht2args-4" result="fail"/><test-case name="op-numeric-dividesht2args-5" result="fail"/><test-case name="op-numeric-dividemix2args-1" result="pass"/><test-case name="op-numeric-dividemix2args-2" result="pass"/><test-case name="op-numeric-dividemix2args-3" result="pass"/><test-case name="op-numeric-dividemix2args-4" result="pass"/><test-case name="op-numeric-dividemix2args-5" result="pass"/><test-case name="op-numeric-dividemix2args-6" result="pass"/><test-case name="op-numeric-dividemix2args-7" result="pass"/><test-case name="op-numeric-dividemix2args-8" result="pass"/><test-case name="op-numeric-dividemix2args-9" result="pass"/><test-case name="K-NumericDivide-1" result="pass"/><test-case name="K-NumericDivide-2" result="pass"/><test-case name="K-NumericDivide-3" result="pass"/><test-case name="K-NumericDivide-4" result="pass"/><test-case name="K-NumericDivide-5" result="pass"/><test-case name="K-NumericDivide-6" result="pass"/><test-case name="K-NumericDivide-7" result="pass"/><test-case name="K-NumericDivide-8" result="pass"/><test-case name="K-NumericDivide-9" result="pass"/><test-case name="K-NumericDivide-10" result="pass"/><test-case name="K-NumericDivide-11" result="pass"/><test-case name="K-NumericDivide-12" result="pass"/><test-case name="K-NumericDivide-13" result="pass"/><test-case name="K-NumericDivide-14" result="pass"/><test-case name="K-NumericDivide-15" result="pass"/><test-case name="K-NumericDivide-16" result="pass"/><test-case name="K-NumericDivide-17" result="pass"/><test-case name="K-NumericDivide-18" result="pass"/><test-case name="K-NumericDivide-19" result="pass"/><test-case name="K-NumericDivide-20" result="pass"/><test-case name="K-NumericDivide-21" result="pass"/><test-case name="K-NumericDivide-22" result="pass"/><test-case name="K-NumericDivide-23" result="pass"/><test-case name="K-NumericDivide-24" result="pass"/><test-case name="K-NumericDivide-25" result="pass"/><test-case name="K-NumericDivide-26" result="pass"/><test-case name="K-NumericDivide-27" result="pass"/><test-case name="K-NumericDivide-28" result="pass"/><test-case name="K-NumericDivide-29" result="pass"/><test-case name="K-NumericDivide-30" result="pass"/><test-case name="K-NumericDivide-31" result="pass"/><test-case name="K-NumericDivide-32" result="pass"/><test-case name="K-NumericDivide-33" result="pass"/><test-case name="K-NumericDivide-34" result="pass"/><test-case name="K-NumericDivide-35" result="pass"/><test-case name="K-NumericDivide-36" result="pass"/><test-case name="K-NumericDivide-37" result="pass"/><test-case name="K-NumericDivide-38" result="pass"/><test-case name="K-NumericDivide-39" result="pass"/><test-case name="K-NumericDivide-40" result="pass"/><test-case name="K-NumericDivide-41" result="pass"/><test-case name="K-NumericDivide-42" result="pass"/><test-case name="K-NumericDivide-43" result="pass"/><test-case name="K2-NumericDivide-1" result="pass"/><test-case name="K2-NumericDivide-2" result="pass"/><test-case name="K2-NumericDivide-3" result="pass"/><test-case name="K2-NumericDivide-4" result="pass"/><test-case name="K2-NumericDivide-5" result="pass"/><test-case name="K2-NumericDivide-6" result="pass"/><test-case name="K2-NumericDivide-7" result="pass"/><test-case name="K2-NumericDivide-8" result="pass"/><test-case name="K2-NumericDivide-9" result="pass"/><test-case name="K2-NumericDivide-10" result="pass"/><test-case name="K2-NumericDivide-11" result="pass"/><test-case name="K2-NumericDivide-12" result="pass"/><test-case name="K2-NumericDivide-13" result="pass"/><test-case name="K2-NumericDivide-14" result="pass"/><test-case name="K2-NumericDivide-15" result="pass"/><test-case name="K2-NumericDivide-16" result="pass"/><test-case name="K2-NumericDivide-17" result="fail"/><test-case name="op-numeric-integer-divideint2args-1" result="pass"/><test-case name="op-numeric-integer-divideint2args-2" result="pass"/><test-case name="op-numeric-integer-divideint2args-3" result="pass"/><test-case name="op-numeric-integer-divideint2args-4" result="pass"/><test-case name="op-numeric-integer-divideint2args-5" result="pass"/><test-case name="op-numeric-integer-divideintg2args-1" result="pass"/><test-case name="op-numeric-integer-divideintg2args-2" result="pass"/><test-case name="op-numeric-integer-divideintg2args-3" result="pass"/><test-case name="op-numeric-integer-divideintg2args-4" result="pass"/><test-case name="op-numeric-integer-divideintg2args-5" result="pass"/><test-case name="op-numeric-integer-dividedec2args-1" result="pass"/><test-case name="op-numeric-integer-dividedec2args-2" result="pass"/><test-case name="op-numeric-integer-dividedec2args-3" result="pass"/><test-case name="op-numeric-integer-dividedec2args-4" result="pass"/><test-case name="op-numeric-integer-dividedec2args-5" result="pass"/><test-case name="op-numeric-integer-dividelng2args-1" result="pass"/><test-case name="op-numeric-integer-dividelng2args-2" result="pass"/><test-case name="op-numeric-integer-dividelng2args-3" result="pass"/><test-case name="op-numeric-integer-dividelng2args-4" result="pass"/><test-case name="op-numeric-integer-dividelng2args-5" result="pass"/><test-case name="op-numeric-integer-divideusht2args-1" result="pass"/><test-case name="op-numeric-integer-divideusht2args-2" result="pass"/><test-case name="op-numeric-integer-dividenint2args-1" result="pass"/><test-case name="op-numeric-integer-dividenint2args-2" result="pass"/><test-case name="op-numeric-integer-dividenint2args-3" result="pass"/><test-case name="op-numeric-integer-dividenint2args-4" result="pass"/><test-case name="op-numeric-integer-dividenint2args-5" result="pass"/><test-case name="op-numeric-integer-dividepint2args-1" result="pass"/><test-case name="op-numeric-integer-dividepint2args-2" result="pass"/><test-case name="op-numeric-integer-dividepint2args-3" result="pass"/><test-case name="op-numeric-integer-dividepint2args-4" result="pass"/><test-case name="op-numeric-integer-dividepint2args-5" result="pass"/><test-case name="op-numeric-integer-divideulng2args-1" result="pass"/><test-case name="op-numeric-integer-divideulng2args-2" result="pass"/><test-case name="op-numeric-integer-dividenpi2args-1" result="pass"/><test-case name="op-numeric-integer-dividenpi2args-2" result="pass"/><test-case name="op-numeric-integer-dividenpi2args-3" result="pass"/><test-case name="op-numeric-integer-dividenpi2args-4" result="pass"/><test-case name="op-numeric-integer-dividenni2args-1" result="pass"/><test-case name="op-numeric-integer-dividenni2args-2" result="pass"/><test-case name="op-numeric-integer-dividesht2args-1" result="pass"/><test-case name="op-numeric-integer-dividesht2args-2" result="pass"/><test-case name="op-numeric-integer-dividesht2args-3" result="pass"/><test-case name="op-numeric-integer-dividesht2args-4" result="pass"/><test-case name="op-numeric-integer-dividesht2args-5" result="pass"/><test-case name="op-numeric-integer-dividemix2args-1" result="pass"/><test-case name="op-numeric-integer-dividemix2args-2" result="pass"/><test-case name="op-numeric-integer-dividemix2args-3" result="pass"/><test-case name="op-numeric-integer-dividemix2args-4" result="pass"/><test-case name="op-numeric-integer-dividemix2args-5" result="pass"/><test-case name="op-numeric-integer-dividemix2args-6" result="pass"/><test-case name="op-numeric-integer-dividemix2args-7" result="pass"/><test-case name="op-numeric-integer-dividemix2args-8" result="pass"/><test-case name="op-numeric-integer-dividemix2args-9" result="pass"/><test-case name="op-numeric-integer-dividemix2args-10" result="pass"/><test-case name="op-numeric-integer-divide-1" result="pass"/><test-case name="K-NumericIntegerDivide-1" result="pass"/><test-case name="K-NumericIntegerDivide-2" result="pass"/><test-case name="K-NumericIntegerDivide-3" result="pass"/><test-case name="K-NumericIntegerDivide-4" result="pass"/><test-case name="K-NumericIntegerDivide-5" result="pass"/><test-case name="K-NumericIntegerDivide-6" result="pass"/><test-case name="K-NumericIntegerDivide-7" result="pass"/><test-case name="K-NumericIntegerDivide-8" result="pass"/><test-case name="K-NumericIntegerDivide-9" result="pass"/><test-case name="K-NumericIntegerDivide-10" result="pass"/><test-case name="K-NumericIntegerDivide-11" result="pass"/><test-case name="K-NumericIntegerDivide-12" result="pass"/><test-case name="K-NumericIntegerDivide-13" result="pass"/><test-case name="K-NumericIntegerDivide-14" result="pass"/><test-case name="K-NumericIntegerDivide-15" result="pass"/><test-case name="K-NumericIntegerDivide-16" result="pass"/><test-case name="K-NumericIntegerDivide-17" result="pass"/><test-case name="K-NumericIntegerDivide-18" result="pass"/><test-case name="K-NumericIntegerDivide-19" result="pass"/><test-case name="K-NumericIntegerDivide-20" result="pass"/><test-case name="K-NumericIntegerDivide-21" result="pass"/><test-case name="K-NumericIntegerDivide-22" result="pass"/><test-case name="K-NumericIntegerDivide-23" result="pass"/><test-case name="K-NumericIntegerDivide-24" result="pass"/><test-case name="K-NumericIntegerDivide-25" result="pass"/><test-case name="K-NumericIntegerDivide-26" result="pass"/><test-case name="K-NumericIntegerDivide-27" result="pass"/><test-case name="K-NumericIntegerDivide-28" result="pass"/><test-case name="K-NumericIntegerDivide-29" result="pass"/><test-case name="K-NumericIntegerDivide-30" result="pass"/><test-case name="K-NumericIntegerDivide-31" result="pass"/><test-case name="K-NumericIntegerDivide-32" result="pass"/><test-case name="K-NumericIntegerDivide-33" result="pass"/><test-case name="K-NumericIntegerDivide-34" result="pass"/><test-case name="K-NumericIntegerDivide-35" result="pass"/><test-case name="K-NumericIntegerDivide-36" result="pass"/><test-case name="K-NumericIntegerDivide-37" result="pass"/><test-case name="K-NumericIntegerDivide-38" result="pass"/><test-case name="K-NumericIntegerDivide-39" result="pass"/><test-case name="K-NumericIntegerDivide-40" result="pass"/><test-case name="K-NumericIntegerDivide-41" result="pass"/><test-case name="K-NumericIntegerDivide-42" result="pass"/><test-case name="K-NumericIntegerDivide-43" result="pass"/><test-case name="K-NumericIntegerDivide-44" result="pass"/><test-case name="K-NumericIntegerDivide-45" result="pass"/><test-case name="K-NumericIntegerDivide-46" result="pass"/><test-case name="K-NumericIntegerDivide-47" result="pass"/><test-case name="K-NumericIntegerDivide-48" result="pass"/><test-case name="K-NumericIntegerDivide-49" result="pass"/><test-case name="K-NumericIntegerDivide-50" result="pass"/><test-case name="K-NumericIntegerDivide-51" result="pass"/><test-case name="K-NumericIntegerDivide-52" result="pass"/><test-case name="K-NumericIntegerDivide-53" result="pass"/><test-case name="K2-NumericIntegerDivide-1" result="pass"/><test-case name="K2-NumericIntegerDivide-2" result="pass"/><test-case name="K2-NumericIntegerDivide-3" result="pass"/><test-case name="K2-NumericIntegerDivide-4" result="pass"/><test-case name="K2-NumericIntegerDivide-5" result="pass"/><test-case name="K2-NumericIntegerDivide-6" result="pass"/><test-case name="K2-NumericIntegerDivide-7" result="pass"/><test-case name="K2-NumericIntegerDivide-8" result="pass"/><test-case name="op-numeric-modint2args-1" result="pass"/><test-case name="op-numeric-modintg2args-1" result="pass"/><test-case name="op-numeric-modintg2args-2" result="pass"/><test-case name="op-numeric-moddec2args-1" result="fail"/><test-case name="op-numeric-moddec2args-2" result="pass"/><test-case name="op-numeric-moddbl2args-1" result="pass"/><test-case name="op-numeric-modflt2args-1" result="pass"/><test-case name="op-numeric-modlng2args-1" result="pass"/><test-case name="op-numeric-modusht2args-1" result="pass"/><test-case name="op-numeric-modusht2args-2" result="pass"/><test-case name="op-numeric-modpint2args-1" result="pass"/><test-case name="op-numeric-modpint2args-2" result="pass"/><test-case name="op-numeric-modpint2args-3" result="pass"/><test-case name="op-numeric-modpint2args-4" result="pass"/><test-case name="op-numeric-modpint2args-5" result="pass"/><test-case name="op-numeric-modulng2args-1" result="pass"/><test-case name="op-numeric-modulng2args-2" result="pass"/><test-case name="op-numeric-modnni2args-1" result="pass"/><test-case name="op-numeric-modnni2args-2" result="pass"/><test-case name="op-numeric-modsht2args-1" result="pass"/><test-case name="op-numeric-modmix2args-1" result="pass"/><test-case name="op-numeric-modmix2args-2" result="pass"/><test-case name="op-numeric-modmix2args-3" result="pass"/><test-case name="op-numeric-modmix2args-4" result="pass"/><test-case name="op-numeric-modmix2args-5" result="pass"/><test-case name="op-numeric-modmix2args-6" result="pass"/><test-case name="op-numeric-modmix2args-7" result="pass"/><test-case name="op-numeric-modmix2args-8" result="pass"/><test-case name="op-numeric-modmix2args-9" result="pass"/><test-case name="K-NumericMod-1" result="pass"/><test-case name="K-NumericMod-2" result="pass"/><test-case name="K-NumericMod-3" result="pass"/><test-case name="K-NumericMod-4" result="pass"/><test-case name="K-NumericMod-5" result="pass"/><test-case name="K-NumericMod-6" result="pass"/><test-case name="K-NumericMod-7" result="pass"/><test-case name="K-NumericMod-8" result="pass"/><test-case name="K-NumericMod-9" result="pass"/><test-case name="K-NumericMod-10" result="pass"/><test-case name="K-NumericMod-11" result="pass"/><test-case name="K-NumericMod-12" result="pass"/><test-case name="K-NumericMod-13" result="pass"/><test-case name="K-NumericMod-14" result="pass"/><test-case name="K-NumericMod-15" result="pass"/><test-case name="K-NumericMod-16" result="pass"/><test-case name="K-NumericMod-17" result="pass"/><test-case name="K-NumericMod-18" result="pass"/><test-case name="K-NumericMod-19" result="pass"/><test-case name="K-NumericMod-20" result="pass"/><test-case name="K-NumericMod-21" result="pass"/><test-case name="K-NumericMod-22" result="pass"/><test-case name="K-NumericMod-23" result="pass"/><test-case name="K-NumericMod-24" result="pass"/><test-case name="K-NumericMod-25" result="pass"/><test-case name="K-NumericMod-26" result="pass"/><test-case name="K-NumericMod-27" result="pass"/><test-case name="K-NumericMod-28" result="pass"/><test-case name="K-NumericMod-29" result="pass"/><test-case name="K2-NumericMod-1" result="pass"/><test-case name="K2-NumericMod-2" result="pass"/><test-case name="K2-NumericMod-3" result="pass"/><test-case name="K2-NumericMod-4" result="pass"/><test-case name="K2-NumericMod-5" result="fail"/><test-case name="K2-NumericMod-6" result="pass"/><test-case name="K2-NumericMod-7" result="fail"/><test-case name="K2-NumericMod-8" result="fail"/><test-case name="K2-NumericMod-9" result="pass"/><test-case name="K2-NumericMod-10" result="pass"/><test-case name="K2-NumericMod-11" result="pass"/><test-case name="K2-NumericMod-12" result="pass"/><test-case name="K2-NumericMod-13" result="pass"/><test-case name="K2-NumericMod-14" result="pass"/><test-case name="K2-NumericMod-15" result="pass"/><test-case name="K2-NumericMod-16" result="pass"/><test-case name="K2-NumericMod-17" result="pass"/><test-case name="K2-NumericMod-18" result="pass"/><test-case name="K2-NumericMod-19" result="pass"/><test-case name="K2-NumericMod-20" result="pass"/><test-case name="K2-NumericMod-21" result="pass"/><test-case name="K2-NumericMod-22" result="pass"/><test-case name="K2-NumericMod-23" result="pass"/><test-case name="K2-NumericMod-24" result="pass"/><test-case name="K2-NumericMod-25" result="pass"/><test-case name="K2-NumericMod-26" result="pass"/><test-case name="K2-NumericMod-27" result="pass"/><test-case name="K2-NumericMod-28" result="pass"/><test-case name="K2-NumericMod-29" result="pass"/><test-case name="K2-NumericMod-30" result="pass"/><test-case name="K2-NumericMod-31" result="pass"/><test-case name="K2-NumericMod-32" result="pass"/><test-case name="K2-NumericMod-33" result="pass"/><test-case name="K2-NumericMod-34" result="pass"/><test-case name="K2-NumericMod-35" result="pass"/><test-case name="K2-NumericMod-36" result="pass"/><test-case name="K2-NumericMod-37" result="pass"/><test-case name="K2-NumericMod-38" result="pass"/><test-case name="K2-NumericMod-39" result="pass"/><test-case name="K2-NumericMod-40" result="pass"/><test-case name="K2-NumericMod-41" result="pass"/><test-case name="K2-NumericMod-42" result="pass"/><test-case name="K2-NumericMod-43" result="pass"/><test-case name="K2-NumericMod-44" result="pass"/><test-case name="K2-NumericMod-45" result="pass"/><test-case name="K2-NumericMod-46" result="pass"/><test-case name="K2-NumericMod-47" result="pass"/><test-case name="K2-NumericMod-48" result="pass"/><test-case name="K2-NumericMod-49" result="pass"/><test-case name="K2-NumericMod-50" result="pass"/><test-case name="K2-NumericMod-51" result="pass"/><test-case name="K2-NumericMod-52" result="pass"/><test-case name="K2-NumericMod-53" result="pass"/><test-case name="K2-NumericMod-54" result="pass"/><test-case name="K2-NumericMod-55" result="pass"/><test-case name="K2-NumericMod-56" result="pass"/><test-case name="K2-NumericMod-57" result="pass"/><test-case name="K2-NumericMod-58" result="pass"/><test-case name="K2-NumericMod-59" result="pass"/><test-case name="K2-NumericMod-60" result="pass"/><test-case name="K2-NumericMod-61" result="pass"/><test-case name="K2-NumericMod-62" result="fail"/><test-case name="op-numeric-unary-plusint1args-1" result="pass"/><test-case name="op-numeric-unary-plusint1args-2" result="pass"/><test-case name="op-numeric-unary-plusint1args-3" result="pass"/><test-case name="op-numeric-unary-plusintg1args-1" result="pass"/><test-case name="op-numeric-unary-plusintg1args-2" result="pass"/><test-case name="op-numeric-unary-plusintg1args-3" result="pass"/><test-case name="op-numeric-unary-plusdec1args-1" result="fail"/><test-case name="op-numeric-unary-plusdec1args-2" result="fail"/><test-case name="op-numeric-unary-plusdec1args-3" result="fail"/><test-case name="op-numeric-unary-plusdbl1args-1" result="pass"/><test-case name="op-numeric-unary-plusdbl1args-2" result="pass"/><test-case name="op-numeric-unary-plusdbl1args-3" result="pass"/><test-case name="op-numeric-unary-plusflt1args-1" result="pass"/><test-case name="op-numeric-unary-plusflt1args-2" result="pass"/><test-case name="op-numeric-unary-plusflt1args-3" result="pass"/><test-case name="op-numeric-unary-pluslng1args-1" result="pass"/><test-case name="op-numeric-unary-pluslng1args-2" result="pass"/><test-case name="op-numeric-unary-pluslng1args-3" result="pass"/><test-case name="op-numeric-unary-plususht1args-1" result="pass"/><test-case name="op-numeric-unary-plususht1args-2" result="pass"/><test-case name="op-numeric-unary-plususht1args-3" result="pass"/><test-case name="op-numeric-unary-plusnint1args-1" result="pass"/><test-case name="op-numeric-unary-plusnint1args-2" result="pass"/><test-case name="op-numeric-unary-plusnint1args-3" result="pass"/><test-case name="op-numeric-unary-pluspint1args-1" result="pass"/><test-case name="op-numeric-unary-pluspint1args-2" result="pass"/><test-case name="op-numeric-unary-pluspint1args-3" result="pass"/><test-case name="op-numeric-unary-plusulng1args-1" result="pass"/><test-case name="op-numeric-unary-plusulng1args-2" result="pass"/><test-case name="op-numeric-unary-plusulng1args-3" result="pass"/><test-case name="op-numeric-unary-plusnpi1args-1" result="pass"/><test-case name="op-numeric-unary-plusnpi1args-2" result="pass"/><test-case name="op-numeric-unary-plusnpi1args-3" result="pass"/><test-case name="op-numeric-unary-plusnni1args-1" result="pass"/><test-case name="op-numeric-unary-plusnni1args-2" result="pass"/><test-case name="op-numeric-unary-plusnni1args-3" result="pass"/><test-case name="op-numeric-unary-plussht1args-1" result="pass"/><test-case name="op-numeric-unary-plussht1args-2" result="pass"/><test-case name="op-numeric-unary-plussht1args-3" result="pass"/><test-case name="K-NumericUnaryPlus-1" result="pass"/><test-case name="K-NumericUnaryPlus-2" result="pass"/><test-case name="K-NumericUnaryPlus-3" result="pass"/><test-case name="K-NumericUnaryPlus-4" result="pass"/><test-case name="K-NumericUnaryPlus-5" result="pass"/><test-case name="K-NumericUnaryPlus-6" result="pass"/><test-case name="K-NumericUnaryPlus-7" result="pass"/><test-case name="K-NumericUnaryPlus-8" result="pass"/><test-case name="K-NumericUnaryPlus-9" result="pass"/><test-case name="K-NumericUnaryPlus-10" result="pass"/><test-case name="K-NumericUnaryPlus-11" result="pass"/><test-case name="K-NumericUnaryPlus-12" result="pass"/><test-case name="K2-NumericUnaryPlus-1" result="pass"/><test-case name="K2-NumericUnaryPlus-2" result="pass"/><test-case name="op-numeric-unary-minusint1args-1" result="pass"/><test-case name="op-numeric-unary-minusint1args-2" result="pass"/><test-case name="op-numeric-unary-minusint1args-3" result="pass"/><test-case name="op-numeric-unary-minusintg1args-1" result="pass"/><test-case name="op-numeric-unary-minusintg1args-2" result="pass"/><test-case name="op-numeric-unary-minusintg1args-3" result="pass"/><test-case name="op-numeric-unary-minusdec1args-1" result="fail"/><test-case name="op-numeric-unary-minusdec1args-2" result="fail"/><test-case name="op-numeric-unary-minusdec1args-3" result="fail"/><test-case name="op-numeric-unary-minusdbl1args-1" result="pass"/><test-case name="op-numeric-unary-minusdbl1args-2" result="pass"/><test-case name="op-numeric-unary-minusdbl1args-3" result="pass"/><test-case name="op-numeric-unary-minusflt1args-1" result="pass"/><test-case name="op-numeric-unary-minusflt1args-2" result="pass"/><test-case name="op-numeric-unary-minusflt1args-3" result="pass"/><test-case name="op-numeric-unary-minuslng1args-1" result="pass"/><test-case name="op-numeric-unary-minuslng1args-2" result="pass"/><test-case name="op-numeric-unary-minuslng1args-3" result="pass"/><test-case name="op-numeric-unary-minususht1args-1" result="pass"/><test-case name="op-numeric-unary-minususht1args-2" result="pass"/><test-case name="op-numeric-unary-minususht1args-3" result="pass"/><test-case name="op-numeric-unary-minusnint1args-1" result="pass"/><test-case name="op-numeric-unary-minusnint1args-2" result="pass"/><test-case name="op-numeric-unary-minusnint1args-3" result="pass"/><test-case name="op-numeric-unary-minuspint1args-1" result="pass"/><test-case name="op-numeric-unary-minuspint1args-2" result="pass"/><test-case name="op-numeric-unary-minuspint1args-3" result="pass"/><test-case name="op-numeric-unary-minusulng1args-1" result="pass"/><test-case name="op-numeric-unary-minusulng1args-2" result="pass"/><test-case name="op-numeric-unary-minusulng1args-3" result="pass"/><test-case name="op-numeric-unary-minusnpi1args-1" result="pass"/><test-case name="op-numeric-unary-minusnpi1args-2" result="pass"/><test-case name="op-numeric-unary-minusnpi1args-3" result="pass"/><test-case name="op-numeric-unary-minusnni1args-1" result="pass"/><test-case name="op-numeric-unary-minusnni1args-2" result="pass"/><test-case name="op-numeric-unary-minusnni1args-3" result="pass"/><test-case name="op-numeric-unary-minussht1args-1" result="pass"/><test-case name="op-numeric-unary-minussht1args-2" result="pass"/><test-case name="op-numeric-unary-minussht1args-3" result="pass"/><test-case name="K-NumericUnaryMinus-1" result="pass"/><test-case name="K-NumericUnaryMinus-2" result="pass"/><test-case name="K-NumericUnaryMinus-3" result="pass"/><test-case name="K-NumericUnaryMinus-4" result="pass"/><test-case name="K-NumericUnaryMinus-5" result="pass"/><test-case name="K-NumericUnaryMinus-6" result="pass"/><test-case name="K-NumericUnaryMinus-7" result="pass"/><test-case name="K-NumericUnaryMinus-8" result="pass"/><test-case name="K-NumericUnaryMinus-9" result="pass"/><test-case name="K-NumericUnaryMinus-10" result="pass"/><test-case name="K-NumericUnaryMinus-11" result="pass"/><test-case name="K-NumericUnaryMinus-12" result="pass"/><test-case name="K-NumericUnaryMinus-13" result="pass"/><test-case name="K2-NumericUnaryMinus-1" result="pass"/><test-case name="K2-NumericUnaryMinus-2" result="pass"/><test-case name="K2-NumericUnaryMinus-3" result="pass"/><test-case name="K2-NumericUnaryMinus-4" result="pass"/><test-case name="K2-NumericUnaryMinus-5" result="pass"/><test-case name="K2-NumericUnaryMinus-6" result="pass"/><test-case name="K2-NumericUnaryMinus-7" result="pass"/><test-case name="K2-NumericUnaryMinus-8" result="pass"/><test-case name="K2-NumericUnaryMinus-9" result="pass"/><test-case name="K2-NumericUnaryMinus-10" result="pass"/><test-case name="op-add-yearMonthDurations2args-1" result="pass"/><test-case name="op-add-yearMonthDurations2args-2" result="pass"/><test-case name="op-add-yearMonthDurations2args-3" result="pass"/><test-case name="op-add-yearMonthDurations2args-4" result="pass"/><test-case name="op-add-yearMonthDurations2args-5" result="pass"/><test-case name="op-add-yearMonthDurations-1" result="pass"/><test-case name="op-add-yearMonthDurations-2" result="pass"/><test-case name="op-add-yearMonthDurations-3" result="pass"/><test-case name="op-add-yearMonthDurations-4" result="pass"/><test-case name="op-add-yearMonthDurations-5" result="pass"/><test-case name="op-add-yearMonthDurations-6" result="pass"/><test-case name="op-add-yearMonthDurations-7" result="pass"/><test-case name="op-add-yearMonthDurations-8" result="pass"/><test-case name="op-add-yearMonthDurations-9" result="pass"/><test-case name="op-add-yearMonthDurations-10" result="pass"/><test-case name="op-add-yearMonthDurations-11" result="pass"/><test-case name="op-add-yearMonthDurations-12" result="pass"/><test-case name="op-add-yearMonthDurations-13" result="pass"/><test-case name="op-add-yearMonthDurations-14" result="pass"/><test-case name="op-add-yearMonthDurations-15" result="pass"/><test-case name="op-add-yearMonthDurations-16" result="pass"/><test-case name="K-YearMonthDurationAdd-1" result="pass"/><test-case name="K-YearMonthDurationAdd-2" result="pass"/><test-case name="K-YearMonthDurationAdd-3" result="pass"/><test-case name="op-subtract-yearMonthDurations2args-1" result="pass"/><test-case name="op-subtract-yearMonthDurations2args-2" result="pass"/><test-case name="op-subtract-yearMonthDurations2args-3" result="pass"/><test-case name="op-subtract-yearMonthDurations2args-4" result="pass"/><test-case name="op-subtract-yearMonthDurations2args-5" result="pass"/><test-case name="op-subtract-yearMonthDurations-1" result="pass"/><test-case name="op-subtract-yearMonthDurations-2" result="pass"/><test-case name="op-subtract-yearMonthDurations-3" result="pass"/><test-case name="op-subtract-yearMonthDurations-4" result="pass"/><test-case name="op-subtract-yearMonthDurations-5" result="pass"/><test-case name="op-subtract-yearMonthDurations-6" result="pass"/><test-case name="op-subtract-yearMonthDurations-7" result="pass"/><test-case name="op-subtract-yearMonthDurations-8" result="pass"/><test-case name="op-subtract-yearMonthDurations-9" result="pass"/><test-case name="op-subtract-yearMonthDurations-10" result="pass"/><test-case name="op-subtract-yearMonthDurations-11" result="pass"/><test-case name="op-subtract-yearMonthDurations-12" result="pass"/><test-case name="op-subtract-yearMonthDurations-13" result="pass"/><test-case name="op-subtract-yearMonthDurations-14" result="pass"/><test-case name="op-subtract-yearMonthDurations-15" result="pass"/><test-case name="op-subtract-yearMonthDurations-16" result="pass"/><test-case name="K-YearMonthDurationSubtract-1" result="pass"/><test-case name="K-YearMonthDurationSubtract-2" result="pass"/><test-case name="K-YearMonthDurationSubtract-3" result="pass"/><test-case name="K-YearMonthDurationSubtract-4" result="pass"/><test-case name="K-YearMonthDurationSubtract-5" result="pass"/><test-case name="K-YearMonthDurationSubtract-6" result="pass"/><test-case name="K-YearMonthDurationSubtract-7" result="pass"/><test-case name="K-YearMonthDurationSubtract-8" result="pass"/><test-case name="K-YearMonthDurationSubtract-9" result="pass"/><test-case name="op-multiply-yearMonthDuration2args-1" result="pass"/><test-case name="op-multiply-yearMonthDuration2args-2" result="pass"/><test-case name="op-multiply-yearMonthDuration2args-3" result="pass"/><test-case name="op-multiply-yearMonthDuration2args-4" result="pass"/><test-case name="op-multiply-yearMonthDuration2args-5" result="pass"/><test-case name="op-multiply-yearMonthDuration-1" result="fail"/><test-case name="op-multiply-yearMonthDuration-2" result="pass"/><test-case name="op-multiply-yearMonthDuration-3" result="pass"/><test-case name="op-multiply-yearMonthDuration-4" result="pass"/><test-case name="op-multiply-yearMonthDuration-5" result="pass"/><test-case name="op-multiply-yearMonthDuration-6" result="pass"/><test-case name="op-multiply-yearMonthDuration-7" result="pass"/><test-case name="op-multiply-yearMonthDuration-8" result="pass"/><test-case name="op-multiply-yearMonthDuration-9" result="pass"/><test-case name="op-multiply-yearMonthDuration-10" result="pass"/><test-case name="op-multiply-yearMonthDuration-11" result="pass"/><test-case name="op-multiply-yearMonthDuration-12" result="pass"/><test-case name="op-multiply-yearMonthDuration-13" result="pass"/><test-case name="op-multiply-yearMonthDuration-14" result="pass"/><test-case name="op-multiply-yearMonthDuration-15" result="pass"/><test-case name="op-multiply-yearMonthDuration-16" result="pass"/><test-case name="op-multiply-yearMonthDuration-17" result="pass"/><test-case name="op-multiply-yearMonthDuration-18" result="pass"/><test-case name="op-multiply-yearMonthDuration-19" result="pass"/><test-case name="K-YearMonthDurationMultiply-1" result="pass"/><test-case name="K-YearMonthDurationMultiply-2" result="pass"/><test-case name="K-YearMonthDurationMultiply-3" result="pass"/><test-case name="K-YearMonthDurationMultiply-4" result="pass"/><test-case name="K-YearMonthDurationMultiply-5" result="pass"/><test-case name="K-YearMonthDurationMultiply-6" result="pass"/><test-case name="K-YearMonthDurationMultiply-7" result="pass"/><test-case name="K-YearMonthDurationMultiply-8" result="pass"/><test-case name="K-YearMonthDurationMultiply-9" result="pass"/><test-case name="K-YearMonthDurationMultiply-10" result="pass"/><test-case name="K-YearMonthDurationMultiply-11" result="pass"/><test-case name="K-YearMonthDurationMultiply-12" result="pass"/><test-case name="K-YearMonthDurationMultiply-13" result="pass"/><test-case name="op-divide-yearMonthDuration2args-1" result="pass"/><test-case name="op-divide-yearMonthDuration2args-2" result="pass"/><test-case name="op-divide-yearMonthDuration2args-3" result="pass"/><test-case name="op-divide-yearMonthDuration2args-4" result="pass"/><test-case name="op-divide-yearMonthDuration2args-5" result="pass"/><test-case name="op-divide-yearMonthDuration-1" result="pass"/><test-case name="op-divide-yearMonthDuration-2" result="pass"/><test-case name="op-divide-yearMonthDuration-3" result="pass"/><test-case name="op-divide-yearMonthDuration-4" result="pass"/><test-case name="op-divide-yearMonthDuration-5" result="pass"/><test-case name="op-divide-yearMonthDuration-6" result="pass"/><test-case name="op-divide-yearMonthDuration-7" result="pass"/><test-case name="op-divide-yearMonthDuration-8" result="pass"/><test-case name="op-divide-yearMonthDuration-9" result="pass"/><test-case name="op-divide-yearMonthDuration-10" result="pass"/><test-case name="op-divide-yearMonthDuration-11" result="pass"/><test-case name="op-divide-yearMonthDuration-12" result="pass"/><test-case name="op-divide-yearMonthDuration-13" result="pass"/><test-case name="op-divide-yearMonthDuration-14" result="pass"/><test-case name="op-divide-yearMonthDuration-15" result="pass"/><test-case name="op-divide-yearMonthDuration-16" result="pass"/><test-case name="K-YearMonthDurationDivide-1" result="pass"/><test-case name="K-YearMonthDurationDivide-2" result="pass"/><test-case name="K-YearMonthDurationDivide-3" result="pass"/><test-case name="K-YearMonthDurationDivide-4" result="pass"/><test-case name="K-YearMonthDurationDivide-5" result="pass"/><test-case name="K-YearMonthDurationDivide-6" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yearMonthDuration2args-1" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yearMonthDuration2args-2" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yearMonthDuration2args-3" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yearMonthDuration2args-4" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yearMonthDuration2args-5" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-1" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-2" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-3" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-4" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-5" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-6" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-7" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-8" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-9" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-10" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-11" result="fail"/><test-case name="op-divide-yearMonthDuration-by-yMD-12" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-13" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-14" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-15" result="pass"/><test-case name="op-divide-yearMonthDuration-by-yMD-16" result="pass"/><test-case name="K-YearMonthDurationDivideYMD-1" result="pass"/><test-case name="op-add-dayTimeDurations2args-1" result="pass"/><test-case name="op-add-dayTimeDurations2args-2" result="pass"/><test-case name="op-add-dayTimeDurations2args-3" result="fail"/><test-case name="op-add-dayTimeDurations2args-4" result="pass"/><test-case name="op-add-dayTimeDurations2args-5" result="fail"/><test-case name="op-add-dayTimeDurations-1" result="pass"/><test-case name="op-add-dayTimeDurations-2" result="pass"/><test-case name="op-add-dayTimeDurations-3" result="pass"/><test-case name="op-add-dayTimeDurations-4" result="pass"/><test-case name="op-add-dayTimeDurations-5" result="pass"/><test-case name="op-add-dayTimeDurations-6" result="pass"/><test-case name="op-add-dayTimeDurations-7" result="pass"/><test-case name="op-add-dayTimeDurations-8" result="pass"/><test-case name="op-add-dayTimeDurations-9" result="pass"/><test-case name="op-add-dayTimeDurations-10" result="pass"/><test-case name="op-add-dayTimeDurations-11" result="pass"/><test-case name="op-add-dayTimeDurations-12" result="pass"/><test-case name="op-add-dayTimeDurations-13" result="pass"/><test-case name="op-add-dayTimeDurations-14" result="pass"/><test-case name="op-add-dayTimeDurations-15" result="pass"/><test-case name="op-add-dayTimeDurations-16" result="pass"/><test-case name="K-DayTimeDurationAdd-1" result="pass"/><test-case name="K-DayTimeDurationAdd-2" result="pass"/><test-case name="K-DayTimeDurationAdd-3" result="pass"/><test-case name="op-subtract-dayTimeDurations2args-1" result="pass"/><test-case name="op-subtract-dayTimeDurations2args-2" result="pass"/><test-case name="op-subtract-dayTimeDurations2args-3" result="fail"/><test-case name="op-subtract-dayTimeDurations2args-4" result="pass"/><test-case name="op-subtract-dayTimeDurations2args-5" result="fail"/><test-case name="op-subtract-dayTimeDurations-1" result="pass"/><test-case name="op-subtract-dayTimeDurations-2" result="pass"/><test-case name="op-subtract-dayTimeDurations-3" result="pass"/><test-case name="op-subtract-dayTimeDurations-4" result="pass"/><test-case name="op-subtract-dayTimeDurations-5" result="pass"/><test-case name="op-subtract-dayTimeDurations-6" result="pass"/><test-case name="op-subtract-dayTimeDurations-7" result="pass"/><test-case name="op-subtract-dayTimeDurations-8" result="pass"/><test-case name="op-subtract-dayTimeDurations-9" result="pass"/><test-case name="op-subtract-dayTimeDurations-10" result="pass"/><test-case name="op-subtract-dayTimeDurations-11" result="fail"/><test-case name="op-subtract-dayTimeDurations-12" result="pass"/><test-case name="op-subtract-dayTimeDurations-13" result="pass"/><test-case name="op-subtract-dayTimeDurations-14" result="pass"/><test-case name="op-subtract-dayTimeDurations-15" result="pass"/><test-case name="op-subtract-dayTimeDurations-16" result="pass"/><test-case name="K-DayTimeDurationSubtract-1" result="pass"/><test-case name="K-DayTimeDurationSubtract-2" result="pass"/><test-case name="K-DayTimeDurationSubtract-3" result="pass"/><test-case name="K-DayTimeDurationSubtract-4" result="pass"/><test-case name="K-DayTimeDurationSubtract-5" result="pass"/><test-case name="K-DayTimeDurationSubtract-6" result="pass"/><test-case name="K-DayTimeDurationSubtract-7" result="pass"/><test-case name="K-DayTimeDurationSubtract-8" result="pass"/><test-case name="K-DayTimeDurationSubtract-9" result="pass"/><test-case name="K2-DayTimeDurationSubtract-1" result="pass"/><test-case name="K2-DayTimeDurationSubtract-2" result="pass"/><test-case name="op-multiply-dayTimeDuration2args-1" result="pass"/><test-case name="op-multiply-dayTimeDuration2args-2" result="pass"/><test-case name="op-multiply-dayTimeDuration2args-3" result="pass"/><test-case name="op-multiply-dayTimeDuration2args-4" result="pass"/><test-case name="op-multiply-dayTimeDuration2args-5" result="pass"/><test-case name="op-multiply-dayTimeDuration-1" result="pass"/><test-case name="op-multiply-dayTimeDuration-2" result="pass"/><test-case name="op-multiply-dayTimeDuration-3" result="pass"/><test-case name="op-multiply-dayTimeDuration-4" result="pass"/><test-case name="op-multiply-dayTimeDuration-5" result="pass"/><test-case name="op-multiply-dayTimeDuration-6" result="pass"/><test-case name="op-multiply-dayTimeDuration-7" result="pass"/><test-case name="op-multiply-dayTimeDuration-8" result="pass"/><test-case name="op-multiply-dayTimeDuration-9" result="pass"/><test-case name="op-multiply-dayTimeDuration-10" result="pass"/><test-case name="op-multiply-dayTimeDuration-11" result="pass"/><test-case name="op-multiply-dayTimeDuration-12" result="pass"/><test-case name="op-multiply-dayTimeDuration-13" result="pass"/><test-case name="op-multiply-dayTimeDuration-14" result="pass"/><test-case name="op-multiply-dayTimeDuration-15" result="pass"/><test-case name="op-multiply-dayTimeDuration-16" result="pass"/><test-case name="op-multiply-dayTimeDuration-17" result="pass"/><test-case name="op-multiply-dayTimeDuration-18" result="pass"/><test-case name="K-DayTimeDurationMultiply-1" result="pass"/><test-case name="K-DayTimeDurationMultiply-2" result="pass"/><test-case name="K-DayTimeDurationMultiply-3" result="pass"/><test-case name="K-DayTimeDurationMultiply-4" result="pass"/><test-case name="K-DayTimeDurationMultiply-5" result="pass"/><test-case name="K-DayTimeDurationMultiply-6" result="pass"/><test-case name="K-DayTimeDurationMultiply-7" result="pass"/><test-case name="K-DayTimeDurationMultiply-8" result="pass"/><test-case name="K-DayTimeDurationMultiply-9" result="pass"/><test-case name="op-divide-dayTimeDuration2args-1" result="pass"/><test-case name="op-divide-dayTimeDuration2args-2" result="pass"/><test-case name="op-divide-dayTimeDuration2args-3" result="pass"/><test-case name="op-divide-dayTimeDuration2args-4" result="pass"/><test-case name="op-divide-dayTimeDuration2args-5" result="pass"/><test-case name="op-divide-dayTimeDuration-2" result="pass"/><test-case name="op-divide-dayTimeDuration-3" result="pass"/><test-case name="op-divide-dayTimeDuration-4" result="pass"/><test-case name="op-divide-dayTimeDuration-5" result="pass"/><test-case name="op-divide-dayTimeDuration-6" result="pass"/><test-case name="op-divide-dayTimeDuration-7" result="pass"/><test-case name="op-divide-dayTimeDuration-8" result="pass"/><test-case name="op-divide-dayTimeDuration-9" result="pass"/><test-case name="op-divide-dayTimeDuration-10" result="pass"/><test-case name="op-divide-dayTimeDuration-11" result="pass"/><test-case name="op-divide-dayTimeDuration-12" result="pass"/><test-case name="op-divide-dayTimeDuration-13" result="pass"/><test-case name="op-divide-dayTimeDuration-14" result="pass"/><test-case name="op-divide-dayTimeDuration-15" result="pass"/><test-case name="op-divide-dayTimeDuration-16" result="pass"/><test-case name="K-DayTimeDurationDivide-1" result="pass"/><test-case name="K-DayTimeDurationDivide-2" result="pass"/><test-case name="K-DayTimeDurationDivide-3" result="pass"/><test-case name="K-DayTimeDurationDivide-4" result="pass"/><test-case name="K-DayTimeDurationDivide-5" result="pass"/><test-case name="K-DayTimeDurationDivide-6" result="pass"/><test-case name="K-DayTimeDurationDivide-7" result="pass"/><test-case name="K-DayTimeDurationDivide-8" result="pass"/><test-case name="K-DayTimeDurationDivide-9" result="pass"/><test-case name="K-DayTimeDurationDivide-10" result="pass"/><test-case name="K-DayTimeDurationDivide-11" result="pass"/><test-case name="K-DayTimeDurationDivide-12" result="pass"/><test-case name="K-DayTimeDurationDivide-13" result="pass"/><test-case name="K-DayTimeDurationDivide-14" result="pass"/><test-case name="K-DayTimeDurationDivide-15" result="pass"/><test-case name="K-DayTimeDurationDivide-16" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dayTimeDuration2args-1" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dayTimeDuration2args-2" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dayTimeDuration2args-3" result="fail"/><test-case name="op-divide-dayTimeDuration-by-dayTimeDuration2args-4" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dayTimeDuration2args-5" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-1" result="fail"/><test-case name="op-divide-dayTimeDuration-by-dTD-2" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-3" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-4" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-5" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-6" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-7" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-8" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-9" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-10" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-11" result="fail"/><test-case name="op-divide-dayTimeDuration-by-dTD-12" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-13" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-14" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-15" result="pass"/><test-case name="op-divide-dayTimeDuration-by-dTD-16" result="pass"/><test-case name="K-DayTimeDurationDivideDTD-1" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-1" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-2" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-3" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-4" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-5" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-6" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-7" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-8" result="fail"/><test-case name="op-subtract-dateTimes-yielding-DTD-9" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-10" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-11" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-12" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-13" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-14" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-15" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-16" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-17" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-18" result="pass"/><test-case name="op-subtract-dateTimes-yielding-DTD-19" result="fail"/><test-case name="op-subtract-dateTimes-yielding-DTD-20" result="fail"/><test-case name="K-dateTimesSubtract-1" result="pass"/><test-case name="K-dateTimesSubtract-2" result="pass"/><test-case name="K-dateTimesSubtract-3" result="pass"/><test-case name="K-dateTimesSubtract-4" result="pass"/><test-case name="K-dateTimesSubtract-5" result="pass"/><test-case name="K-dateTimesSubtract-6" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-1" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-2" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-3" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-4" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-5" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-6" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-7" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-8" result="fail"/><test-case name="op-subtract-dates-yielding-DTD-9" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-10" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-11" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-12" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-13" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-14" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-15" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-16" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-17" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-18" result="pass"/><test-case name="op-subtract-dates-yielding-DTD-19" result="fail"/><test-case name="op-subtract-dates-yielding-DTD-20" result="fail"/><test-case name="K-DatesSubtract-1" result="fail"/><test-case name="K-DatesSubtract-2" result="pass"/><test-case name="K-DatesSubtract-3" result="pass"/><test-case name="K-DatesSubtract-4" result="pass"/><test-case name="K-DatesSubtract-5" result="pass"/><test-case name="K-DatesSubtract-6" result="pass"/><test-case name="op-subtract-times2args-1" result="pass"/><test-case name="op-subtract-times2args-2" result="pass"/><test-case name="op-subtract-times2args-3" result="pass"/><test-case name="op-subtract-times2args-4" result="pass"/><test-case name="op-subtract-times2args-5" result="pass"/><test-case name="op-subtract-times-1" result="pass"/><test-case name="op-subtract-times-2" result="pass"/><test-case name="op-subtract-times-3" result="pass"/><test-case name="op-subtract-times-4" result="pass"/><test-case name="op-subtract-times-5" result="pass"/><test-case name="op-subtract-times-6" result="pass"/><test-case name="op-subtract-times-7" result="pass"/><test-case name="op-subtract-times-8" result="pass"/><test-case name="op-subtract-times-9" result="pass"/><test-case name="op-subtract-times-10" result="pass"/><test-case name="op-subtract-times-11" result="pass"/><test-case name="op-subtract-times-12" result="pass"/><test-case name="op-subtract-times-13" result="pass"/><test-case name="op-subtract-times-14" result="pass"/><test-case name="op-subtract-times-15" result="pass"/><test-case name="op-subtract-times-16" result="pass"/><test-case name="K-TimeSubtract-1" result="pass"/><test-case name="K-TimeSubtract-2" result="pass"/><test-case name="K-TimeSubtract-3" result="pass"/><test-case name="K-TimeSubtract-4" result="pass"/><test-case name="K-TimeSubtract-5" result="pass"/><test-case name="K-TimeSubtract-6" result="pass"/><test-case name="K-TimeSubtract-7" result="pass"/><test-case name="K-TimeSubtract-8" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime2args-1" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime2args-2" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime2args-3" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime2args-4" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime2args-5" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-1" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-2" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-3" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-4" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTimealt-5" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-6" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-7" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-8" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-9" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-10" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-12" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-13" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-14" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-15" result="pass"/><test-case name="op-add-yearMonthDuration-to-dateTime-16" result="pass"/><test-case name="K-YearMonthDurationAddDT-1" result="pass"/><test-case name="K-YearMonthDurationAddDT-2" result="pass"/><test-case name="K-YearMonthDurationAddDT-3" result="pass"/><test-case name="K-YearMonthDurationAddDT-4" result="pass"/><test-case name="K-YearMonthDurationAddDT-5" result="pass"/><test-case name="K-YearMonthDurationAddDT-6" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime2args-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime2args-2" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime2args-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime2args-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime2args-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-2" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-6" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-7" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-8" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-9" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-10" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-12" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-13" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-14" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-15" result="pass"/><test-case name="op-add-dayTimeDuration-to-dateTime-16" result="pass"/><test-case name="K-DateTimeAddDTD-1" result="pass"/><test-case name="K-DateTimeAddDTD-2" result="pass"/><test-case name="K-DateTimeAddDTD-3" result="pass"/><test-case name="K-DateTimeAddDTD-4" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime2args-1" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime2args-2" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime2args-3" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime2args-4" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime2args-5" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-1" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-2" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-3" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-4" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-5" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-6" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-7" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-8" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-9" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-10" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-12" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-13" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-14" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-15" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-dateTime-16" result="pass"/><test-case name="K-DateTimeSubtractYMD-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime2args-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime2args-2" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime2args-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime2args-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime2args-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-2" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-6" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-7" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-8" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-9" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-10" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-12" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-13" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-14" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-15" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-dateTime-16" result="pass"/><test-case name="op-add-yearMonthDuration-to-date2args-1" result="pass"/><test-case name="op-add-yearMonthDuration-to-date2args-2" result="pass"/><test-case name="op-add-yearMonthDuration-to-date2args-3" result="pass"/><test-case name="op-add-yearMonthDuration-to-date2args-4" result="pass"/><test-case name="op-add-yearMonthDuration-to-date2args-5" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-1" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-2" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-3" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-4" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-5" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-6" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-7" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-8" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-9" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-10" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-12" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-13" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-14" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-15" result="pass"/><test-case name="op-add-yearMonthDuration-to-date-16" result="pass"/><test-case name="K-DateAddYMD-1" result="pass"/><test-case name="K-DateAddYMD-2" result="pass"/><test-case name="K-DateAddYMD-3" result="pass"/><test-case name="K-DateAddYMD-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-date2args-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-date2args-2" result="pass"/><test-case name="op-add-dayTimeDuration-to-date2args-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-date2args-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-date2args-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-datealt-2" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-6" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-7" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-8" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-9" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-10" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-12" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-13" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-14" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-15" result="pass"/><test-case name="op-add-dayTimeDuration-to-date-16" result="pass"/><test-case name="K-DateAddDTD-1" result="pass"/><test-case name="K-DateAddDTD-2" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date2args-1" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date2args-2" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date2args-3" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date2args-4" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date2args-5" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-1" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-2" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-3" result="fail"/><test-case name="op-subtract-yearMonthDuration-from-date-4" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-5" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-6" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-7" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-8" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-9" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-10" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-12" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-13" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-14" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-15" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-16" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-17" result="pass"/><test-case name="op-subtract-yearMonthDuration-from-date-18" result="pass"/><test-case name="K-DateSubtractYMD-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date2args-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date2args-2" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date2args-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date2args-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date2args-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-2" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-6" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-7" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-8" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-9" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-10" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-12" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-13" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-14" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-15" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-date-16" result="pass"/><test-case name="K-DateSubtractDTD-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-time2args-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-time2args-2" result="pass"/><test-case name="op-add-dayTimeDuration-to-time2args-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-time2args-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-time2args-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-1" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-2" result="fail"/><test-case name="op-add-dayTimeDuration-to-time-3" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-4" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-5" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-6" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-7" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-8" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-9" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-10" result="pass"/><test-case name="op-add-dayTimeDuration-to-timealt-12" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-13" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-14" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-15" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-16" result="pass"/><test-case name="op-add-dayTimeDuration-to-time-17" result="pass"/><test-case name="K-TimeAddDTD-1" result="pass"/><test-case name="K-TimeAddDTD-2" result="pass"/><test-case name="K2-TimeAddDTD-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time2args-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time2args-2" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time2args-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time2args-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time2args-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-1" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-2" result="fail"/><test-case name="op-subtract-dayTimeDuration-from-time-3" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-4" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-5" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-6" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-7" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-8" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-9" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-10" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-12" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-13" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-14" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-15" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-16" result="pass"/><test-case name="op-subtract-dayTimeDuration-from-time-17" result="pass"/><test-case name="K-TimeSubtractDTD-1" result="pass"/><test-case name="K-TimeSubtractDTD-2" result="pass"/><test-case name="K-TimeSubtractDTD-3" result="pass"/><test-case name="K-TimeSubtractDTD-4" result="pass"/><test-case name="K-TimeSubtractDTD-5" result="pass"/><test-case name="op-numeric-equalint2args-1" result="pass"/><test-case name="op-numeric-equalint2args-2" result="pass"/><test-case name="op-numeric-equalint2args-3" result="pass"/><test-case name="op-numeric-equalint2args-4" result="pass"/><test-case name="op-numeric-equalint2args-5" result="pass"/><test-case name="op-numeric-equalint2args-6" result="pass"/><test-case name="op-numeric-equalint2args-7" result="pass"/><test-case name="op-numeric-equalint2args-8" result="pass"/><test-case name="op-numeric-equalint2args-9" result="pass"/><test-case name="op-numeric-equalint2args-10" result="pass"/><test-case name="op-numeric-equalintg2args-1" result="pass"/><test-case name="op-numeric-equalintg2args-2" result="pass"/><test-case name="op-numeric-equalintg2args-3" result="pass"/><test-case name="op-numeric-equalintg2args-4" result="pass"/><test-case name="op-numeric-equalintg2args-5" result="pass"/><test-case name="op-numeric-equalintg2args-6" result="pass"/><test-case name="op-numeric-equalintg2args-7" result="pass"/><test-case name="op-numeric-equalintg2args-8" result="pass"/><test-case name="op-numeric-equalintg2args-9" result="pass"/><test-case name="op-numeric-equalintg2args-10" result="pass"/><test-case name="op-numeric-equaldec2args-1" result="pass"/><test-case name="op-numeric-equaldec2args-2" result="pass"/><test-case name="op-numeric-equaldec2args-3" result="pass"/><test-case name="op-numeric-equaldec2args-4" result="pass"/><test-case name="op-numeric-equaldec2args-5" result="pass"/><test-case name="op-numeric-equaldec2args-6" result="pass"/><test-case name="op-numeric-equaldec2args-7" result="pass"/><test-case name="op-numeric-equaldec2args-8" result="pass"/><test-case name="op-numeric-equaldec2args-9" result="pass"/><test-case name="op-numeric-equaldec2args-10" result="pass"/><test-case name="op-numeric-equaldbl2args-1" result="pass"/><test-case name="op-numeric-equaldbl2args-2" result="pass"/><test-case name="op-numeric-equaldbl2args-3" result="pass"/><test-case name="op-numeric-equaldbl2args-4" result="pass"/><test-case name="op-numeric-equaldbl2args-5" result="pass"/><test-case name="op-numeric-equaldbl2args-6" result="pass"/><test-case name="op-numeric-equaldbl2args-7" result="pass"/><test-case name="op-numeric-equaldbl2args-8" result="pass"/><test-case name="op-numeric-equaldbl2args-9" result="pass"/><test-case name="op-numeric-equaldbl2args-10" result="pass"/><test-case name="op-numeric-equalflt2args-1" result="pass"/><test-case name="op-numeric-equalflt2args-2" result="pass"/><test-case name="op-numeric-equalflt2args-3" result="pass"/><test-case name="op-numeric-equalflt2args-4" result="pass"/><test-case name="op-numeric-equalflt2args-5" result="pass"/><test-case name="op-numeric-equalflt2args-6" result="pass"/><test-case name="op-numeric-equalflt2args-7" result="pass"/><test-case name="op-numeric-equalflt2args-8" result="pass"/><test-case name="op-numeric-equalflt2args-9" result="pass"/><test-case name="op-numeric-equalflt2args-10" result="pass"/><test-case name="op-numeric-equallng2args-1" result="pass"/><test-case name="op-numeric-equallng2args-2" result="pass"/><test-case name="op-numeric-equallng2args-3" result="pass"/><test-case name="op-numeric-equallng2args-4" result="pass"/><test-case name="op-numeric-equallng2args-5" result="pass"/><test-case name="op-numeric-equallng2args-6" result="pass"/><test-case name="op-numeric-equallng2args-7" result="pass"/><test-case name="op-numeric-equallng2args-8" result="pass"/><test-case name="op-numeric-equallng2args-9" result="pass"/><test-case name="op-numeric-equallng2args-10" result="pass"/><test-case name="op-numeric-equalusht2args-1" result="pass"/><test-case name="op-numeric-equalusht2args-2" result="pass"/><test-case name="op-numeric-equalusht2args-3" result="pass"/><test-case name="op-numeric-equalusht2args-4" result="pass"/><test-case name="op-numeric-equalusht2args-5" result="pass"/><test-case name="op-numeric-equalusht2args-6" result="pass"/><test-case name="op-numeric-equalusht2args-7" result="pass"/><test-case name="op-numeric-equalusht2args-8" result="pass"/><test-case name="op-numeric-equalusht2args-9" result="pass"/><test-case name="op-numeric-equalusht2args-10" result="pass"/><test-case name="op-numeric-equalnint2args-1" result="pass"/><test-case name="op-numeric-equalnint2args-2" result="pass"/><test-case name="op-numeric-equalnint2args-3" result="pass"/><test-case name="op-numeric-equalnint2args-4" result="pass"/><test-case name="op-numeric-equalnint2args-5" result="pass"/><test-case name="op-numeric-equalnint2args-6" result="pass"/><test-case name="op-numeric-equalnint2args-7" result="pass"/><test-case name="op-numeric-equalnint2args-8" result="pass"/><test-case name="op-numeric-equalnint2args-9" result="pass"/><test-case name="op-numeric-equalnint2args-10" result="pass"/><test-case name="op-numeric-equalpint2args-1" result="pass"/><test-case name="op-numeric-equalpint2args-2" result="pass"/><test-case name="op-numeric-equalpint2args-3" result="pass"/><test-case name="op-numeric-equalpint2args-4" result="pass"/><test-case name="op-numeric-equalpint2args-5" result="pass"/><test-case name="op-numeric-equalpint2args-6" result="pass"/><test-case name="op-numeric-equalpint2args-7" result="pass"/><test-case name="op-numeric-equalpint2args-8" result="pass"/><test-case name="op-numeric-equalpint2args-9" result="pass"/><test-case name="op-numeric-equalpint2args-10" result="pass"/><test-case name="op-numeric-equalulng2args-1" result="pass"/><test-case name="op-numeric-equalulng2args-2" result="pass"/><test-case name="op-numeric-equalulng2args-3" result="pass"/><test-case name="op-numeric-equalulng2args-4" result="pass"/><test-case name="op-numeric-equalulng2args-5" result="pass"/><test-case name="op-numeric-equalulng2args-6" result="pass"/><test-case name="op-numeric-equalulng2args-7" result="pass"/><test-case name="op-numeric-equalulng2args-8" result="pass"/><test-case name="op-numeric-equalulng2args-9" result="pass"/><test-case name="op-numeric-equalulng2args-10" result="pass"/><test-case name="op-numeric-equalnpi2args-1" result="pass"/><test-case name="op-numeric-equalnpi2args-2" result="pass"/><test-case name="op-numeric-equalnpi2args-3" result="pass"/><test-case name="op-numeric-equalnpi2args-4" result="pass"/><test-case name="op-numeric-equalnpi2args-5" result="pass"/><test-case name="op-numeric-equalnpi2args-6" result="pass"/><test-case name="op-numeric-equalnpi2args-7" result="pass"/><test-case name="op-numeric-equalnpi2args-8" result="pass"/><test-case name="op-numeric-equalnpi2args-9" result="pass"/><test-case name="op-numeric-equalnpi2args-10" result="pass"/><test-case name="op-numeric-equalnni2args-1" result="pass"/><test-case name="op-numeric-equalnni2args-2" result="pass"/><test-case name="op-numeric-equalnni2args-3" result="pass"/><test-case name="op-numeric-equalnni2args-4" result="pass"/><test-case name="op-numeric-equalnni2args-5" result="pass"/><test-case name="op-numeric-equalnni2args-6" result="pass"/><test-case name="op-numeric-equalnni2args-7" result="pass"/><test-case name="op-numeric-equalnni2args-8" result="pass"/><test-case name="op-numeric-equalnni2args-9" result="pass"/><test-case name="op-numeric-equalnni2args-10" result="pass"/><test-case name="op-numeric-equalsht2args-1" result="pass"/><test-case name="op-numeric-equalsht2args-2" result="pass"/><test-case name="op-numeric-equalsht2args-3" result="pass"/><test-case name="op-numeric-equalsht2args-4" result="pass"/><test-case name="op-numeric-equalsht2args-5" result="pass"/><test-case name="op-numeric-equalsht2args-6" result="pass"/><test-case name="op-numeric-equalsht2args-7" result="pass"/><test-case name="op-numeric-equalsht2args-8" result="pass"/><test-case name="op-numeric-equalsht2args-9" result="pass"/><test-case name="op-numeric-equalsht2args-10" result="pass"/><test-case name="op-numeric-equal-emptyseq" result="pass"/><test-case name="K-NumericEqual-1" result="pass"/><test-case name="K-NumericEqual-2" result="pass"/><test-case name="K-NumericEqual-3" result="pass"/><test-case name="K-NumericEqual-4" result="pass"/><test-case name="K-NumericEqual-5" result="pass"/><test-case name="K-NumericEqual-6" result="pass"/><test-case name="K-NumericEqual-7" result="pass"/><test-case name="K-NumericEqual-8" result="pass"/><test-case name="K-NumericEqual-9" result="pass"/><test-case name="K-NumericEqual-10" result="pass"/><test-case name="K-NumericEqual-11" result="pass"/><test-case name="K-NumericEqual-12" result="pass"/><test-case name="K-NumericEqual-13" result="pass"/><test-case name="K-NumericEqual-14" result="pass"/><test-case name="K-NumericEqual-15" result="pass"/><test-case name="K-NumericEqual-16" result="pass"/><test-case name="K-NumericEqual-17" result="pass"/><test-case name="K-NumericEqual-18" result="pass"/><test-case name="K-NumericEqual-19" result="pass"/><test-case name="K-NumericEqual-20" result="pass"/><test-case name="K-NumericEqual-21" result="pass"/><test-case name="K-NumericEqual-22" result="pass"/><test-case name="K-NumericEqual-23" result="pass"/><test-case name="K-NumericEqual-24" result="pass"/><test-case name="K-NumericEqual-25" result="pass"/><test-case name="K-NumericEqual-26" result="pass"/><test-case name="K-NumericEqual-27" result="pass"/><test-case name="K-NumericEqual-28" result="pass"/><test-case name="K-NumericEqual-29" result="pass"/><test-case name="K-NumericEqual-30" result="pass"/><test-case name="K-NumericEqual-31" result="pass"/><test-case name="K-NumericEqual-32" result="pass"/><test-case name="K-NumericEqual-33" result="pass"/><test-case name="K-NumericEqual-34" result="pass"/><test-case name="K-NumericEqual-35" result="pass"/><test-case name="K-NumericEqual-36" result="pass"/><test-case name="K-NumericEqual-37" result="pass"/><test-case name="K-NumericEqual-38" result="pass"/><test-case name="K-NumericEqual-39" result="pass"/><test-case name="K-NumericEqual-40" result="pass"/><test-case name="K-NumericEqual-41" result="pass"/><test-case name="K-NumericEqual-42" result="pass"/><test-case name="K-NumericEqual-43" result="pass"/><test-case name="K-NumericEqual-44" result="pass"/><test-case name="K-NumericEqual-45" result="pass"/><test-case name="K-NumericEqual-46" result="pass"/><test-case name="K-NumericEqual-47" result="pass"/><test-case name="K2-NumericEqual-1" result="pass"/><test-case name="K2-NumericEqual-2" result="pass"/><test-case name="K2-NumericEqual-3" result="pass"/><test-case name="K2-NumericEqual-4" result="pass"/><test-case name="K2-NumericEqual-5" result="pass"/><test-case name="K2-NumericEqual-6" result="pass"/><test-case name="op-numeric-less-thanint2args-1" result="pass"/><test-case name="op-numeric-less-thanint2args-2" result="pass"/><test-case name="op-numeric-less-thanint2args-3" result="pass"/><test-case name="op-numeric-less-thanint2args-4" result="pass"/><test-case name="op-numeric-less-thanint2args-5" result="pass"/><test-case name="op-numeric-less-thanint2args-6" result="pass"/><test-case name="op-numeric-less-thanint2args-7" result="pass"/><test-case name="op-numeric-less-thanint2args-8" result="pass"/><test-case name="op-numeric-less-thanint2args-9" result="pass"/><test-case name="op-numeric-less-thanint2args-10" result="pass"/><test-case name="op-numeric-less-thanintg2args-1" result="pass"/><test-case name="op-numeric-less-thanintg2args-2" result="pass"/><test-case name="op-numeric-less-thanintg2args-3" result="pass"/><test-case name="op-numeric-less-thanintg2args-4" result="pass"/><test-case name="op-numeric-less-thanintg2args-5" result="pass"/><test-case name="op-numeric-less-thanintg2args-6" result="pass"/><test-case name="op-numeric-less-thanintg2args-7" result="pass"/><test-case name="op-numeric-less-thanintg2args-8" result="pass"/><test-case name="op-numeric-less-thanintg2args-9" result="pass"/><test-case name="op-numeric-less-thanintg2args-10" result="pass"/><test-case name="op-numeric-less-thandec2args-1" result="pass"/><test-case name="op-numeric-less-thandec2args-2" result="pass"/><test-case name="op-numeric-less-thandec2args-3" result="pass"/><test-case name="op-numeric-less-thandec2args-4" result="pass"/><test-case name="op-numeric-less-thandec2args-5" result="pass"/><test-case name="op-numeric-less-thandec2args-6" result="pass"/><test-case name="op-numeric-less-thandec2args-7" result="pass"/><test-case name="op-numeric-less-thandec2args-8" result="pass"/><test-case name="op-numeric-less-thandec2args-9" result="pass"/><test-case name="op-numeric-less-thandec2args-10" result="pass"/><test-case name="op-numeric-less-thandbl2args-1" result="pass"/><test-case name="op-numeric-less-thandbl2args-2" result="pass"/><test-case name="op-numeric-less-thandbl2args-3" result="pass"/><test-case name="op-numeric-less-thandbl2args-4" result="pass"/><test-case name="op-numeric-less-thandbl2args-5" result="pass"/><test-case name="op-numeric-less-thandbl2args-6" result="pass"/><test-case name="op-numeric-less-thandbl2args-7" result="pass"/><test-case name="op-numeric-less-thandbl2args-8" result="pass"/><test-case name="op-numeric-less-thandbl2args-9" result="pass"/><test-case name="op-numeric-less-thandbl2args-10" result="pass"/><test-case name="op-numeric-less-thanflt2args-1" result="pass"/><test-case name="op-numeric-less-thanflt2args-2" result="pass"/><test-case name="op-numeric-less-thanflt2args-3" result="pass"/><test-case name="op-numeric-less-thanflt2args-4" result="pass"/><test-case name="op-numeric-less-thanflt2args-5" result="pass"/><test-case name="op-numeric-less-thanflt2args-6" result="pass"/><test-case name="op-numeric-less-thanflt2args-7" result="pass"/><test-case name="op-numeric-less-thanflt2args-8" result="pass"/><test-case name="op-numeric-less-thanflt2args-9" result="pass"/><test-case name="op-numeric-less-thanflt2args-10" result="pass"/><test-case name="op-numeric-less-thanlng2args-1" result="pass"/><test-case name="op-numeric-less-thanlng2args-2" result="pass"/><test-case name="op-numeric-less-thanlng2args-3" result="pass"/><test-case name="op-numeric-less-thanlng2args-4" result="pass"/><test-case name="op-numeric-less-thanlng2args-5" result="pass"/><test-case name="op-numeric-less-thanlng2args-6" result="pass"/><test-case name="op-numeric-less-thanlng2args-7" result="pass"/><test-case name="op-numeric-less-thanlng2args-8" result="pass"/><test-case name="op-numeric-less-thanlng2args-9" result="pass"/><test-case name="op-numeric-less-thanlng2args-10" result="pass"/><test-case name="op-numeric-less-thanusht2args-1" result="pass"/><test-case name="op-numeric-less-thanusht2args-2" result="pass"/><test-case name="op-numeric-less-thanusht2args-3" result="pass"/><test-case name="op-numeric-less-thanusht2args-4" result="pass"/><test-case name="op-numeric-less-thanusht2args-5" result="pass"/><test-case name="op-numeric-less-thanusht2args-6" result="pass"/><test-case name="op-numeric-less-thanusht2args-7" result="pass"/><test-case name="op-numeric-less-thanusht2args-8" result="pass"/><test-case name="op-numeric-less-thanusht2args-9" result="pass"/><test-case name="op-numeric-less-thanusht2args-10" result="pass"/><test-case name="op-numeric-less-thannint2args-1" result="pass"/><test-case name="op-numeric-less-thannint2args-2" result="pass"/><test-case name="op-numeric-less-thannint2args-3" result="pass"/><test-case name="op-numeric-less-thannint2args-4" result="pass"/><test-case name="op-numeric-less-thannint2args-5" result="pass"/><test-case name="op-numeric-less-thannint2args-6" result="pass"/><test-case name="op-numeric-less-thannint2args-7" result="pass"/><test-case name="op-numeric-less-thannint2args-8" result="pass"/><test-case name="op-numeric-less-thannint2args-9" result="pass"/><test-case name="op-numeric-less-thannint2args-10" result="pass"/><test-case name="op-numeric-less-thanpint2args-1" result="pass"/><test-case name="op-numeric-less-thanpint2args-2" result="pass"/><test-case name="op-numeric-less-thanpint2args-3" result="pass"/><test-case name="op-numeric-less-thanpint2args-4" result="pass"/><test-case name="op-numeric-less-thanpint2args-5" result="pass"/><test-case name="op-numeric-less-thanpint2args-6" result="pass"/><test-case name="op-numeric-less-thanpint2args-7" result="pass"/><test-case name="op-numeric-less-thanpint2args-8" result="pass"/><test-case name="op-numeric-less-thanpint2args-9" result="pass"/><test-case name="op-numeric-less-thanpint2args-10" result="pass"/><test-case name="op-numeric-less-thanulng2args-1" result="pass"/><test-case name="op-numeric-less-thanulng2args-2" result="pass"/><test-case name="op-numeric-less-thanulng2args-3" result="pass"/><test-case name="op-numeric-less-thanulng2args-4" result="pass"/><test-case name="op-numeric-less-thanulng2args-5" result="pass"/><test-case name="op-numeric-less-thanulng2args-6" result="pass"/><test-case name="op-numeric-less-thanulng2args-7" result="pass"/><test-case name="op-numeric-less-thanulng2args-8" result="pass"/><test-case name="op-numeric-less-thanulng2args-9" result="pass"/><test-case name="op-numeric-less-thanulng2args-10" result="pass"/><test-case name="op-numeric-less-thannpi2args-1" result="pass"/><test-case name="op-numeric-less-thannpi2args-2" result="pass"/><test-case name="op-numeric-less-thannpi2args-3" result="pass"/><test-case name="op-numeric-less-thannpi2args-4" result="pass"/><test-case name="op-numeric-less-thannpi2args-5" result="pass"/><test-case name="op-numeric-less-thannpi2args-6" result="pass"/><test-case name="op-numeric-less-thannpi2args-7" result="pass"/><test-case name="op-numeric-less-thannpi2args-8" result="pass"/><test-case name="op-numeric-less-thannpi2args-9" result="pass"/><test-case name="op-numeric-less-thannpi2args-10" result="pass"/><test-case name="op-numeric-less-thannni2args-1" result="pass"/><test-case name="op-numeric-less-thannni2args-2" result="pass"/><test-case name="op-numeric-less-thannni2args-3" result="pass"/><test-case name="op-numeric-less-thannni2args-4" result="pass"/><test-case name="op-numeric-less-thannni2args-5" result="pass"/><test-case name="op-numeric-less-thannni2args-6" result="pass"/><test-case name="op-numeric-less-thannni2args-7" result="pass"/><test-case name="op-numeric-less-thannni2args-8" result="pass"/><test-case name="op-numeric-less-thannni2args-9" result="pass"/><test-case name="op-numeric-less-thannni2args-10" result="pass"/><test-case name="op-numeric-less-thansht2args-1" result="pass"/><test-case name="op-numeric-less-thansht2args-2" result="pass"/><test-case name="op-numeric-less-thansht2args-3" result="pass"/><test-case name="op-numeric-less-thansht2args-4" result="pass"/><test-case name="op-numeric-less-thansht2args-5" result="pass"/><test-case name="op-numeric-less-thansht2args-6" result="pass"/><test-case name="op-numeric-less-thansht2args-7" result="pass"/><test-case name="op-numeric-less-thansht2args-8" result="pass"/><test-case name="op-numeric-less-thansht2args-9" result="pass"/><test-case name="op-numeric-less-thansht2args-10" result="pass"/><test-case name="K-NumericLT-1" result="pass"/><test-case name="K-NumericLT-2" result="pass"/><test-case name="K-NumericLT-3" result="pass"/><test-case name="K-NumericLT-4" result="pass"/><test-case name="K-NumericLT-5" result="pass"/><test-case name="K-NumericLT-6" result="pass"/><test-case name="K-NumericLT-7" result="pass"/><test-case name="K-NumericLT-8" result="pass"/><test-case name="K-NumericLT-9" result="pass"/><test-case name="K-NumericLT-10" result="pass"/><test-case name="K-NumericLT-11" result="pass"/><test-case name="K-NumericLT-12" result="pass"/><test-case name="K-NumericLT-13" result="pass"/><test-case name="K-NumericLT-14" result="pass"/><test-case name="K-NumericLT-15" result="pass"/><test-case name="K-NumericLT-16" result="pass"/><test-case name="K-NumericLT-17" result="pass"/><test-case name="K-NumericLT-18" result="pass"/><test-case name="K-NumericLT-19" result="pass"/><test-case name="K-NumericLT-20" result="pass"/><test-case name="K-NumericLT-21" result="pass"/><test-case name="K-NumericLT-22" result="pass"/><test-case name="op-numeric-greater-thanint2args-1" result="pass"/><test-case name="op-numeric-greater-thanint2args-2" result="pass"/><test-case name="op-numeric-greater-thanint2args-3" result="pass"/><test-case name="op-numeric-greater-thanint2args-4" result="pass"/><test-case name="op-numeric-greater-thanint2args-5" result="pass"/><test-case name="op-numeric-greater-thanintg2args-1" result="pass"/><test-case name="op-numeric-greater-thanintg2args-2" result="pass"/><test-case name="op-numeric-greater-thanintg2args-3" result="pass"/><test-case name="op-numeric-greater-thanintg2args-4" result="pass"/><test-case name="op-numeric-greater-thanintg2args-5" result="pass"/><test-case name="op-numeric-greater-thandec2args-1" result="pass"/><test-case name="op-numeric-greater-thandec2args-2" result="pass"/><test-case name="op-numeric-greater-thandec2args-3" result="pass"/><test-case name="op-numeric-greater-thandec2args-4" result="pass"/><test-case name="op-numeric-greater-thandec2args-5" result="pass"/><test-case name="op-numeric-greater-thandbl2args-1" result="pass"/><test-case name="op-numeric-greater-thandbl2args-2" result="pass"/><test-case name="op-numeric-greater-thandbl2args-3" result="pass"/><test-case name="op-numeric-greater-thandbl2args-4" result="pass"/><test-case name="op-numeric-greater-thandbl2args-5" result="pass"/><test-case name="op-numeric-greater-thanflt2args-1" result="pass"/><test-case name="op-numeric-greater-thanflt2args-2" result="pass"/><test-case name="op-numeric-greater-thanflt2args-3" result="pass"/><test-case name="op-numeric-greater-thanflt2args-4" result="pass"/><test-case name="op-numeric-greater-thanflt2args-5" result="pass"/><test-case name="op-numeric-greater-thanlng2args-1" result="pass"/><test-case name="op-numeric-greater-thanlng2args-2" result="pass"/><test-case name="op-numeric-greater-thanlng2args-3" result="pass"/><test-case name="op-numeric-greater-thanlng2args-4" result="pass"/><test-case name="op-numeric-greater-thanlng2args-5" result="pass"/><test-case name="op-numeric-greater-thanusht2args-1" result="pass"/><test-case name="op-numeric-greater-thanusht2args-2" result="pass"/><test-case name="op-numeric-greater-thanusht2args-3" result="pass"/><test-case name="op-numeric-greater-thanusht2args-4" result="pass"/><test-case name="op-numeric-greater-thanusht2args-5" result="pass"/><test-case name="op-numeric-greater-thannint2args-1" result="pass"/><test-case name="op-numeric-greater-thannint2args-2" result="pass"/><test-case name="op-numeric-greater-thannint2args-3" result="pass"/><test-case name="op-numeric-greater-thannint2args-4" result="pass"/><test-case name="op-numeric-greater-thannint2args-5" result="pass"/><test-case name="op-numeric-greater-thanpint2args-1" result="pass"/><test-case name="op-numeric-greater-thanpint2args-2" result="pass"/><test-case name="op-numeric-greater-thanpint2args-3" result="pass"/><test-case name="op-numeric-greater-thanpint2args-4" result="pass"/><test-case name="op-numeric-greater-thanpint2args-5" result="pass"/><test-case name="op-numeric-greater-thanulng2args-1" result="pass"/><test-case name="op-numeric-greater-thanulng2args-2" result="pass"/><test-case name="op-numeric-greater-thanulng2args-3" result="pass"/><test-case name="op-numeric-greater-thanulng2args-4" result="pass"/><test-case name="op-numeric-greater-thanulng2args-5" result="pass"/><test-case name="op-numeric-greater-thannpi2args-1" result="pass"/><test-case name="op-numeric-greater-thannpi2args-2" result="pass"/><test-case name="op-numeric-greater-thannpi2args-3" result="pass"/><test-case name="op-numeric-greater-thannpi2args-4" result="pass"/><test-case name="op-numeric-greater-thannpi2args-5" result="pass"/><test-case name="op-numeric-greater-thannni2args-1" result="pass"/><test-case name="op-numeric-greater-thannni2args-2" result="pass"/><test-case name="op-numeric-greater-thannni2args-3" result="pass"/><test-case name="op-numeric-greater-thannni2args-4" result="pass"/><test-case name="op-numeric-greater-thannni2args-5" result="pass"/><test-case name="op-numeric-greater-thansht2args-1" result="pass"/><test-case name="op-numeric-greater-thansht2args-2" result="pass"/><test-case name="op-numeric-greater-thansht2args-3" result="pass"/><test-case name="op-numeric-greater-thansht2args-4" result="pass"/><test-case name="op-numeric-greater-thansht2args-5" result="pass"/><test-case name="K-NumericGT-1" result="pass"/><test-case name="K-NumericGT-2" result="pass"/><test-case name="K-NumericGT-3" result="pass"/><test-case name="K-NumericGT-4" result="pass"/><test-case name="K-NumericGT-5" result="pass"/><test-case name="K-NumericGT-6" result="pass"/><test-case name="K-NumericGT-7" result="pass"/><test-case name="K-NumericGT-8" result="pass"/><test-case name="K-NumericGT-9" result="pass"/><test-case name="K-NumericGT-10" result="pass"/><test-case name="K-NumericGT-11" result="pass"/><test-case name="K-NumericGT-12" result="pass"/><test-case name="K-NumericGT-13" result="pass"/><test-case name="K-NumericGT-14" result="pass"/><test-case name="K-NumericGT-15" result="pass"/><test-case name="K-NumericGT-16" result="pass"/><test-case name="K-NumericGT-17" result="pass"/><test-case name="K-NumericGT-18" result="pass"/><test-case name="K-NumericGT-19" result="pass"/><test-case name="K-NumericGT-20" result="pass"/><test-case name="K-NumericGT-21" result="pass"/><test-case name="K-NumericGT-22" result="pass"/><test-case name="K-NumericGT-23" result="pass"/><test-case name="op-boolean-equal2args-1" result="pass"/><test-case name="op-boolean-equal2args-2" result="pass"/><test-case name="op-boolean-equal2args-3" result="pass"/><test-case name="op-boolean-equal2args-4" result="pass"/><test-case name="op-boolean-equal2args-5" result="pass"/><test-case name="op-boolean-equal-1" result="pass"/><test-case name="op-boolean-equal-2" result="pass"/><test-case name="op-boolean-equal-3" result="pass"/><test-case name="op-boolean-equal-4" result="pass"/><test-case name="op-boolean-equal-5" result="pass"/><test-case name="op-boolean-equal-6" result="pass"/><test-case name="op-boolean-equal-7" result="pass"/><test-case name="op-boolean-equal-8" result="pass"/><test-case name="op-boolean-equal-9" result="pass"/><test-case name="op-boolean-equal-10" result="pass"/><test-case name="op-boolean-equal-11" result="pass"/><test-case name="op-boolean-equal-12" result="pass"/><test-case name="op-boolean-equal-13" result="pass"/><test-case name="op-boolean-equal-14" result="pass"/><test-case name="op-boolean-equal-15" result="pass"/><test-case name="op-boolean-equal-16" result="pass"/><test-case name="op-boolean-equal-17" result="pass"/><test-case name="op-boolean-equal-more-args-001" result="pass"/><test-case name="op-boolean-equal-more-args-002" result="pass"/><test-case name="op-boolean-equal-more-args-003" result="pass"/><test-case name="op-boolean-equal-more-args-004" result="pass"/><test-case name="op-boolean-equal-more-args-005" result="pass"/><test-case name="op-boolean-equal-more-args-006" result="pass"/><test-case name="op-boolean-equal-more-args-007" result="pass"/><test-case name="op-boolean-equal-more-args-008" result="pass"/><test-case name="op-boolean-equal-more-args-009" result="pass"/><test-case name="op-boolean-equal-more-args-010" result="pass"/><test-case name="op-boolean-equal-more-args-011" result="pass"/><test-case name="op-boolean-equal-more-args-012" result="pass"/><test-case name="op-boolean-equal-more-args-013" result="pass"/><test-case name="op-boolean-equal-more-args-014" result="pass"/><test-case name="op-boolean-equal-more-args-015" result="pass"/><test-case name="op-boolean-equal-more-args-016" result="pass"/><test-case name="op-boolean-equal-more-args-017" result="pass"/><test-case name="op-boolean-equal-more-args-018" result="pass"/><test-case name="op-boolean-equal-more-args-019" result="pass"/><test-case name="K-BooleanEqual-1" result="pass"/><test-case name="K-BooleanEqual-2" result="pass"/><test-case name="K-BooleanEqual-3" result="pass"/><test-case name="K-BooleanEqual-4" result="pass"/><test-case name="K-BooleanEqual-5" result="pass"/><test-case name="K2-BooleanEqual-1" result="pass"/><test-case name="K2-BooleanEqual-2" result="pass"/><test-case name="K2-BooleanEqual-3" result="pass"/><test-case name="op-boolean-less-than2args-1" result="pass"/><test-case name="op-boolean-less-than2args-2" result="pass"/><test-case name="op-boolean-less-than2args-3" result="pass"/><test-case name="op-boolean-less-than2args-4" result="pass"/><test-case name="op-boolean-less-than2args-5" result="pass"/><test-case name="op-boolean-less-than2args-6" result="pass"/><test-case name="op-boolean-less-than2args-7" result="pass"/><test-case name="op-boolean-less-than2args-8" result="pass"/><test-case name="op-boolean-less-than2args-9" result="pass"/><test-case name="op-boolean-less-than2args-10" result="pass"/><test-case name="op-boolean-less-than-1" result="pass"/><test-case name="op-boolean-less-than-2" result="pass"/><test-case name="op-boolean-less-than-3" result="pass"/><test-case name="op-boolean-less-than-4" result="pass"/><test-case name="op-boolean-less-than-5" result="pass"/><test-case name="op-boolean-less-than-6" result="pass"/><test-case name="op-boolean-less-than-7" result="pass"/><test-case name="op-boolean-less-than-8" result="pass"/><test-case name="op-boolean-less-than-9" result="pass"/><test-case name="op-boolean-less-than-10" result="pass"/><test-case name="op-boolean-less-than-11" result="pass"/><test-case name="op-boolean-less-than-12" result="pass"/><test-case name="op-boolean-less-than-more-args-001" result="pass"/><test-case name="op-boolean-less-than-more-args-002" result="pass"/><test-case name="op-boolean-less-than-more-args-003" result="pass"/><test-case name="op-boolean-less-than-more-args-004" result="pass"/><test-case name="op-boolean-less-than-more-args-005" result="pass"/><test-case name="op-boolean-less-than-more-args-006" result="pass"/><test-case name="op-boolean-less-than-more-args-007" result="pass"/><test-case name="op-boolean-less-than-more-args-008" result="pass"/><test-case name="op-boolean-less-than-more-args-009" result="pass"/><test-case name="op-boolean-less-than-more-args-010" result="pass"/><test-case name="op-boolean-less-than-more-args-011" result="pass"/><test-case name="op-boolean-less-than-more-args-012" result="pass"/><test-case name="op-boolean-less-than-more-args-013" result="pass"/><test-case name="op-boolean-less-than-more-args-014" result="pass"/><test-case name="K-BooleanLT-1" result="pass"/><test-case name="K-BooleanLT-2" result="pass"/><test-case name="K-BooleanLT-3" result="pass"/><test-case name="op-boolean-greater-than2args-1" result="pass"/><test-case name="op-boolean-greater-than2args-2" result="pass"/><test-case name="op-boolean-greater-than2args-3" result="pass"/><test-case name="op-boolean-greater-than2args-4" result="pass"/><test-case name="op-boolean-greater-than2args-5" result="pass"/><test-case name="op-boolean-greater-than2args-6" result="pass"/><test-case name="op-boolean-greater-than2args-7" result="pass"/><test-case name="op-boolean-greater-than2args-8" result="pass"/><test-case name="op-boolean-greater-than2args-9" result="pass"/><test-case name="op-boolean-greater-than2args-10" result="pass"/><test-case name="op-boolean-greater-than-1" result="pass"/><test-case name="op-boolean-greater-than-2" result="pass"/><test-case name="op-boolean-greater-than-3" result="pass"/><test-case name="op-boolean-greater-than-4" result="pass"/><test-case name="op-boolean-greater-than-5" result="pass"/><test-case name="op-boolean-greater-than-6" result="pass"/><test-case name="op-boolean-greater-than-7" result="pass"/><test-case name="op-boolean-greater-than-8" result="pass"/><test-case name="op-boolean-greater-than-9" result="pass"/><test-case name="op-boolean-greater-than-10" result="pass"/><test-case name="op-boolean-greater-than-11" result="pass"/><test-case name="op-boolean-greater-than-12" result="pass"/><test-case name="op-boolean-greater-than-more-args-001" result="pass"/><test-case name="op-boolean-greater-than-more-args-002" result="pass"/><test-case name="op-boolean-greater-than-more-args-003" result="pass"/><test-case name="op-boolean-greater-than-more-args-004" result="pass"/><test-case name="op-boolean-greater-than-more-args-005" result="pass"/><test-case name="op-boolean-greater-than-more-args-006" result="pass"/><test-case name="op-boolean-greater-than-more-args-007" result="pass"/><test-case name="op-boolean-greater-than-more-args-008" result="pass"/><test-case name="op-boolean-greater-than-more-args-009" result="pass"/><test-case name="op-boolean-greater-than-more-args-010" result="pass"/><test-case name="op-boolean-greater-than-more-args-011" result="pass"/><test-case name="op-boolean-greater-than-more-args-012" result="pass"/><test-case name="op-boolean-greater-than-more-args-013" result="pass"/><test-case name="op-boolean-greater-than-more-args-014" result="pass"/><test-case name="K-BooleanGT-1" result="pass"/><test-case name="K-BooleanGT-2" result="pass"/><test-case name="K-BooleanGT-3" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-1" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-2" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-3" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-4" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-5" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-6" result="pass"/><test-case name="op-yearMonthDuration-less-than2argsNew-7" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-8" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-9" result="pass"/><test-case name="op-yearMonthDuration-less-than2args-10" result="pass"/><test-case name="op-yearMonthDuration-less-than-3" result="pass"/><test-case name="op-yearMonthDuration-less-than-4" result="pass"/><test-case name="op-yearMonthDuration-less-than-5" result="pass"/><test-case name="op-yearMonthDuration-less-than-6" result="pass"/><test-case name="op-yearMonthDuration-less-thanNew-7" result="pass"/><test-case name="op-yearMonthDuration-less-than-8" result="pass"/><test-case name="op-yearMonthDuration-less-than-9" result="pass"/><test-case name="op-yearMonthDuration-less-than-10" result="pass"/><test-case name="op-yearMonthDuration-less-than-11" result="pass"/><test-case name="op-yearMonthDuration-less-than-12" result="pass"/><test-case name="op-yearMonthDuration-less-than-13" result="pass"/><test-case name="op-yearMonthDuration-less-than-14" result="pass"/><test-case name="K-YearMonthDurationLT-1" result="pass"/><test-case name="K-YearMonthDurationLT-2" result="pass"/><test-case name="K-YearMonthDurationLT-3" result="pass"/><test-case name="K-YearMonthDurationLT-4" result="pass"/><test-case name="K-YearMonthDurationLT-5" result="pass"/><test-case name="K-YearMonthDurationLT-6" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-1" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-2" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-3" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-4" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-5" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-6" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-7" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-8" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-9" result="pass"/><test-case name="op-yearMonthDuration-greater-than2args-10" result="pass"/><test-case name="op-yearMonthDuration-greater-than-3" result="pass"/><test-case name="op-yearMonthDuration-greater-than-4" result="pass"/><test-case name="op-yearMonthDuration-greater-than-5" result="pass"/><test-case name="op-yearMonthDuration-greater-than-6" result="pass"/><test-case name="op-yearMonthDuration-greater-than-7" result="pass"/><test-case name="op-yearMonthDuration-greater-than-8" result="pass"/><test-case name="op-yearMonthDuration-greater-than-9" result="pass"/><test-case name="op-yearMonthDuration-greater-than-10" result="pass"/><test-case name="op-yearMonthDuration-greater-than-11" result="pass"/><test-case name="op-yearMonthDuration-greater-than-12" result="pass"/><test-case name="op-yearMonthDuration-greater-than-13" result="pass"/><test-case name="op-yearMonthDuration-greater-than-14" result="pass"/><test-case name="K-YearMonthDurationGT-1" result="pass"/><test-case name="K-YearMonthDurationGT-2" result="pass"/><test-case name="K-YearMonthDurationGT-3" result="pass"/><test-case name="K-YearMonthDurationGT-4" result="pass"/><test-case name="K-YearMonthDurationGT-5" result="pass"/><test-case name="K-YearMonthDurationGT-6" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-1" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-2" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-3" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-4" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-5" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-6" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-7" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-8" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-9" result="pass"/><test-case name="op-dayTimeDuration-less-than2args-10" result="pass"/><test-case name="op-dayTimeDuration-less-than-3" result="pass"/><test-case name="op-dayTimeDuration-less-than-4" result="pass"/><test-case name="op-dayTimeDuration-less-than-5" result="pass"/><test-case name="op-dayTimeDuration-less-than-6" result="pass"/><test-case name="op-dayTimeDuration-less-than-7" result="pass"/><test-case name="op-dayTimeDuration-less-than-8" result="pass"/><test-case name="op-dayTimeDuration-less-than-9" result="pass"/><test-case name="op-dayTimeDuration-less-than-10" result="pass"/><test-case name="op-dayTimeDuration-less-than-11" result="pass"/><test-case name="op-dayTimeDuration-less-than-12" result="pass"/><test-case name="op-dayTimeDuration-less-than-13" result="pass"/><test-case name="op-dayTimeDuration-less-than-14" result="pass"/><test-case name="K-DayTimeDurationLT-1" result="pass"/><test-case name="K-DayTimeDurationLT-2" result="pass"/><test-case name="K-DayTimeDurationLT-3" result="pass"/><test-case name="K-DayTimeDurationLT-4" result="pass"/><test-case name="K-DayTimeDurationLT-5" result="pass"/><test-case name="K-DayTimeDurationLT-6" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-1" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-2" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-3" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-4" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-5" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-6" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-7" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-8" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-9" result="pass"/><test-case name="op-dayTimeDuration-greater-than2args-10" result="pass"/><test-case name="op-dayTimeDuration-greater-than-3" result="pass"/><test-case name="op-dayTimeDuration-greater-than-4" result="pass"/><test-case name="op-dayTimeDuration-greater-than-5" result="pass"/><test-case name="op-dayTimeDuration-greater-than-6" result="pass"/><test-case name="op-dayTimeDuration-greater-than-7" result="pass"/><test-case name="op-dayTimeDuration-greater-than-8" result="pass"/><test-case name="op-dayTimeDuration-greater-than-9" result="pass"/><test-case name="op-dayTimeDuration-greater-than-10" result="pass"/><test-case name="op-dayTimeDuration-greater-than-11" result="pass"/><test-case name="op-dayTimeDuration-greater-than-12" result="pass"/><test-case name="op-dayTimeDuration-greater-than-13" result="pass"/><test-case name="op-dayTimeDuration-greater-than-14" result="pass"/><test-case name="K-DayTimeDurationGT-1" result="pass"/><test-case name="K-DayTimeDurationGT-2" result="pass"/><test-case name="K-DayTimeDurationGT-3" result="pass"/><test-case name="K-DayTimeDurationGT-4" result="pass"/><test-case name="K-DayTimeDurationGT-5" result="pass"/><test-case name="K-DayTimeDurationGT-6" result="pass"/><test-case name="op-duration-equal-1" result="pass"/><test-case name="op-duration-equal-2" result="pass"/><test-case name="op-duration-equal-3" result="pass"/><test-case name="op-duration-equal-4" result="pass"/><test-case name="op-duration-equal-5" result="pass"/><test-case name="op-duration-equal-6" result="pass"/><test-case name="op-duration-equal-7" result="pass"/><test-case name="op-duration-equal-8" result="pass"/><test-case name="op-duration-equal-9" result="pass"/><test-case name="op-duration-equal-10" result="pass"/><test-case name="op-duration-equal-11" result="pass"/><test-case name="op-duration-equal-12" result="pass"/><test-case name="op-duration-equal-13" result="pass"/><test-case name="op-duration-equal-14" result="pass"/><test-case name="op-duration-equal-15" result="pass"/><test-case name="op-duration-equal-16" result="pass"/><test-case name="op-duration-equal-17" result="pass"/><test-case name="op-duration-equal-18" result="pass"/><test-case name="op-duration-equal-19" result="pass"/><test-case name="op-duration-equal-20" result="pass"/><test-case name="op-duration-equal-21" result="pass"/><test-case name="op-duration-equal-22" result="pass"/><test-case name="op-duration-equal-23" result="pass"/><test-case name="op-duration-equal-24" result="pass"/><test-case name="op-duration-equal-25" result="pass"/><test-case name="op-duration-equal-26" result="pass"/><test-case name="op-duration-equal-27" result="pass"/><test-case name="op-yearMonthDuration-equal2args-1" result="pass"/><test-case name="op-yearMonthDuration-equal2args-2" result="pass"/><test-case name="op-yearMonthDuration-equal2args-3" result="pass"/><test-case name="op-yearMonthDuration-equal2args-4" result="pass"/><test-case name="op-yearMonthDuration-equal2args-5" result="pass"/><test-case name="op-yearMonthDuration-equal2args-6" result="pass"/><test-case name="op-yearMonthDuration-equal2args-7" result="pass"/><test-case name="op-yearMonthDuration-equal2args-8" result="pass"/><test-case name="op-yearMonthDuration-equal2args-9" result="pass"/><test-case name="op-yearMonthDuration-equal2args-10" result="pass"/><test-case name="op-yearMonthDuration-equal2args-11" result="pass"/><test-case name="op-yearMonthDuration-equal2args-12" result="pass"/><test-case name="op-yearMonthDuration-equal2args-13" result="pass"/><test-case name="op-yearMonthDuration-equal2args-14" result="pass"/><test-case name="op-yearMonthDuration-equal2args-15" result="pass"/><test-case name="op-yearMonthDuration-equal2args-16" result="pass"/><test-case name="op-yearMonthDuration-equal2args-17" result="pass"/><test-case name="op-yearMonthDuration-equal2args-18" result="pass"/><test-case name="op-yearMonthDuration-equal2args-19" result="pass"/><test-case name="op-yearMonthDuration-equal2args-20" result="pass"/><test-case name="op-dayTimeDuration-equal2args-1" result="pass"/><test-case name="op-dayTimeDuration-equal2args-2" result="pass"/><test-case name="op-dayTimeDuration-equal2args-3" result="pass"/><test-case name="op-dayTimeDuration-equal2args-4" result="pass"/><test-case name="op-dayTimeDuration-equal2args-5" result="pass"/><test-case name="op-dayTimeDuration-equal2args-6" result="pass"/><test-case name="op-dayTimeDuration-equal2args-7" result="pass"/><test-case name="op-dayTimeDuration-equal2args-8" result="pass"/><test-case name="op-dayTimeDuration-equal2args-9" result="pass"/><test-case name="op-dayTimeDuration-equal2args-10" result="pass"/><test-case name="op-dayTimeDuration-equal2args-11" result="pass"/><test-case name="op-dayTimeDuration-equal2args-12" result="pass"/><test-case name="op-dayTimeDuration-equal2args-13" result="pass"/><test-case name="op-dayTimeDuration-equal2args-14" result="pass"/><test-case name="op-dayTimeDuration-equal2args-15" result="pass"/><test-case name="op-dayTimeDuration-equal2args-16" result="pass"/><test-case name="op-dayTimeDuration-equal2args-17" result="pass"/><test-case name="op-dayTimeDuration-equal2args-18" result="pass"/><test-case name="op-dayTimeDuration-equal2args-19" result="pass"/><test-case name="op-dayTimeDuration-equal2args-20" result="pass"/><test-case name="distinct-duration-equal-1" result="pass"/><test-case name="distinct-duration-equal-2" result="pass"/><test-case name="K-DurationEQ-1" result="pass"/><test-case name="K-DurationEQ-2" result="pass"/><test-case name="K-DurationEQ-3" result="pass"/><test-case name="K-DurationEQ-4" result="pass"/><test-case name="K-DurationEQ-5" result="pass"/><test-case name="K-DurationEQ-6" result="pass"/><test-case name="K-DurationEQ-7" result="pass"/><test-case name="K-DurationEQ-8" result="pass"/><test-case name="K-DurationEQ-9" result="pass"/><test-case name="K-DurationEQ-10" result="pass"/><test-case name="K-DurationEQ-11" result="pass"/><test-case name="K-DurationEQ-12" result="pass"/><test-case name="K-DurationEQ-13" result="pass"/><test-case name="K-DurationEQ-14" result="pass"/><test-case name="K-DurationEQ-15" result="pass"/><test-case name="K-DurationEQ-16" result="pass"/><test-case name="K-DurationEQ-17" result="pass"/><test-case name="K-DurationEQ-18" result="pass"/><test-case name="K-DurationEQ-19" result="pass"/><test-case name="K-DurationEQ-20" result="pass"/><test-case name="K-DurationEQ-21" result="pass"/><test-case name="K-DurationEQ-22" result="pass"/><test-case name="K-DurationEQ-23" result="pass"/><test-case name="K-DurationEQ-24" result="pass"/><test-case name="K-DurationEQ-25" result="pass"/><test-case name="K-DurationEQ-26" result="pass"/><test-case name="K-DurationEQ-27" result="pass"/><test-case name="K-DurationEQ-28" result="pass"/><test-case name="K-DurationEQ-29" result="pass"/><test-case name="K-DurationEQ-30" result="pass"/><test-case name="K-DurationEQ-31" result="pass"/><test-case name="K-DurationEQ-32" result="pass"/><test-case name="K-DurationEQ-33" result="pass"/><test-case name="K-DurationEQ-34" result="pass"/><test-case name="K-DurationEQ-35" result="pass"/><test-case name="K-DurationEQ-36" result="pass"/><test-case name="K-DurationEQ-37" result="pass"/><test-case name="K-DurationEQ-38" result="pass"/><test-case name="K-DurationEQ-39" result="pass"/><test-case name="K-DurationEQ-40" result="pass"/><test-case name="K-DurationEQ-41" result="pass"/><test-case name="K-DurationEQ-42" result="pass"/><test-case name="K-DurationEQ-43" result="pass"/><test-case name="K-DurationEQ-44" result="pass"/><test-case name="K-DurationEQ-45" result="pass"/><test-case name="K-DurationEQ-46" result="pass"/><test-case name="K-DurationEQ-47" result="pass"/><test-case name="K-DurationEQ-48" result="pass"/><test-case name="K-DurationEQ-49" result="pass"/><test-case name="K-DurationEQ-50" result="pass"/><test-case name="K-DurationEQ-51" result="pass"/><test-case name="K-DurationEQ-52" result="pass"/><test-case name="K-DurationEQ-53" result="pass"/><test-case name="K-DurationEQ-54" result="pass"/><test-case name="K-DurationEQ-55" result="pass"/><test-case name="K-DurationEQ-56" result="pass"/><test-case name="K-DurationEQ-57" result="pass"/><test-case name="K-DurationEQ-58" result="pass"/><test-case name="K-DurationEQ-59" result="pass"/><test-case name="K-DurationEQ-60" result="pass"/><test-case name="op-dateTime-equal2args-1" result="pass"/><test-case name="op-dateTime-equal2args-2" result="pass"/><test-case name="op-dateTime-equal2args-3" result="pass"/><test-case name="op-dateTime-equal2args-4" result="pass"/><test-case name="op-dateTime-equal2args-5" result="pass"/><test-case name="op-dateTime-equal2args-6" result="pass"/><test-case name="op-dateTime-equal2args-7" result="pass"/><test-case name="op-dateTime-equal2args-8" result="pass"/><test-case name="op-dateTime-equal2args-9" result="pass"/><test-case name="op-dateTime-equal2args-10" result="pass"/><test-case name="op-dateTime-equal2args-11" result="pass"/><test-case name="op-dateTime-equal2args-12" result="pass"/><test-case name="op-dateTime-equal2args-13" result="pass"/><test-case name="op-dateTime-equal2args-14" result="pass"/><test-case name="op-dateTime-equal2args-15" result="pass"/><test-case name="op-dateTime-equal2args-16" result="pass"/><test-case name="op-dateTime-equal2args-17" result="pass"/><test-case name="op-dateTime-equal2args-18" result="pass"/><test-case name="op-dateTime-equal2args-19" result="pass"/><test-case name="op-dateTime-equal2args-20" result="pass"/><test-case name="K-DateTimeEQ-1" result="pass"/><test-case name="K-DateTimeEQ-2" result="pass"/><test-case name="K-DateTimeEQ-3" result="pass"/><test-case name="K-DateTimeEQ-4" result="pass"/><test-case name="K-DateTimeEQ-5" result="pass"/><test-case name="K-DateTimeEQ-6" result="pass"/><test-case name="K-DateTimeEQ-7" result="pass"/><test-case name="K-DateTimeEQ-8" result="pass"/><test-case name="K-DateTimeEQ-9" result="pass"/><test-case name="K-DateTimeEQ-10" result="pass"/><test-case name="K-DateTimeEQ-11" result="pass"/><test-case name="K-DateTimeEQ-12" result="pass"/><test-case name="K-DateTimeEQ-13" result="pass"/><test-case name="K-DateTimeEQ-14" result="pass"/><test-case name="K-DateTimeEQ-15" result="pass"/><test-case name="K-DateTimeEQ-16" result="pass"/><test-case name="K-DateTimeEQ-17" result="pass"/><test-case name="K-DateTimeEQ-18" result="pass"/><test-case name="K-DateTimeEQ-19" result="pass"/><test-case name="K-DateTimeEQ-20" result="pass"/><test-case name="K-DateTimeEQ-21" result="pass"/><test-case name="K-DateTimeEQ-22" result="pass"/><test-case name="K-DateTimeEQ-23" result="pass"/><test-case name="K-DateTimeEQ-24" result="pass"/><test-case name="K-DateTimeEQ-25" result="pass"/><test-case name="K-DateTimeEQ-26" result="pass"/><test-case name="K-DateTimeEQ-27" result="pass"/><test-case name="K-DateTimeEQ-28" result="pass"/><test-case name="K-DateTimeEQ-29" result="pass"/><test-case name="K-DateTimeEQ-30" result="pass"/><test-case name="K-DateTimeEQ-31" result="pass"/><test-case name="K-DateTimeEQ-32" result="pass"/><test-case name="K2-DateTimeEQ-1" result="pass"/><test-case name="op-dateTime-less-than2args-1" result="pass"/><test-case name="op-dateTime-less-than2args-2" result="pass"/><test-case name="op-dateTime-less-than2args-3" result="pass"/><test-case name="op-dateTime-less-than2args-4" result="pass"/><test-case name="op-dateTime-less-than2args-5" result="pass"/><test-case name="op-dateTime-less-than2args-6" result="pass"/><test-case name="op-dateTime-less-than2args-7" result="pass"/><test-case name="op-dateTime-less-than2args-8" result="pass"/><test-case name="op-dateTime-less-than2args-9" result="pass"/><test-case name="op-dateTime-less-than2args-10" result="pass"/><test-case name="op-dateTime-less-than-3" result="pass"/><test-case name="op-dateTime-less-than-4" result="pass"/><test-case name="op-dateTime-less-than-5" result="pass"/><test-case name="op-dateTime-less-than-6" result="pass"/><test-case name="op-dateTime-less-than-7" result="pass"/><test-case name="op-dateTime-less-than-8" result="pass"/><test-case name="op-dateTime-less-than-9" result="pass"/><test-case name="op-dateTime-less-than-10" result="pass"/><test-case name="op-dateTime-less-than-11" result="pass"/><test-case name="op-dateTime-less-than-12" result="pass"/><test-case name="op-dateTime-less-than-13" result="pass"/><test-case name="op-dateTime-less-than-14" result="pass"/><test-case name="K-DateTimeLT-1" result="pass"/><test-case name="K-DateTimeLT-2" result="pass"/><test-case name="K-DateTimeLT-3" result="pass"/><test-case name="K-DateTimeLT-4" result="pass"/><test-case name="K-DateTimeLT-5" result="pass"/><test-case name="K-DateTimeLT-6" result="pass"/><test-case name="op-dateTime-greater-than2args-1" result="pass"/><test-case name="op-dateTime-greater-than2args-2" result="pass"/><test-case name="op-dateTime-greater-than2args-3" result="pass"/><test-case name="op-dateTime-greater-than2args-4" result="pass"/><test-case name="op-dateTime-greater-than2args-5" result="pass"/><test-case name="op-dateTime-greater-than2args-6" result="pass"/><test-case name="op-dateTime-greater-than2args-7" result="pass"/><test-case name="op-dateTime-greater-than2args-8" result="pass"/><test-case name="op-dateTime-greater-than2args-9" result="pass"/><test-case name="op-dateTime-greater-than2args-10" result="pass"/><test-case name="op-dateTime-greater-than-3" result="pass"/><test-case name="op-dateTime-greater-than-4" result="pass"/><test-case name="op-dateTime-greater-than-5" result="pass"/><test-case name="op-dateTime-greater-than-6" result="pass"/><test-case name="op-dateTime-greater-than-7" result="pass"/><test-case name="op-dateTime-greater-than-8" result="pass"/><test-case name="op-dateTime-greater-than-9" result="pass"/><test-case name="op-dateTime-greater-than-10" result="pass"/><test-case name="op-dateTime-greater-than-11" result="pass"/><test-case name="op-dateTime-greater-than-12" result="pass"/><test-case name="op-dateTime-greater-than-13" result="pass"/><test-case name="op-dateTime-greater-than-14" result="pass"/><test-case name="K-DateTimeGT-1" result="pass"/><test-case name="K-DateTimeGT-2" result="pass"/><test-case name="K-DateTimeGT-3" result="pass"/><test-case name="K-DateTimeGT-4" result="pass"/><test-case name="K-DateTimeGT-5" result="pass"/><test-case name="K-DateTimeGT-6" result="pass"/><test-case name="op-date-equal2args-1" result="pass"/><test-case name="op-date-equal2args-2" result="pass"/><test-case name="op-date-equal2args-3" result="pass"/><test-case name="op-date-equal2args-4" result="pass"/><test-case name="op-date-equal2args-5" result="pass"/><test-case name="op-date-equal2args-6" result="pass"/><test-case name="op-date-equal2args-7" result="pass"/><test-case name="op-date-equal2args-8" result="pass"/><test-case name="op-date-equal2args-9" result="pass"/><test-case name="op-date-equal2args-10" result="pass"/><test-case name="op-date-equal2args-11" result="pass"/><test-case name="op-date-equal2args-12" result="pass"/><test-case name="op-date-equal2args-13" result="pass"/><test-case name="op-date-equal2args-14" result="pass"/><test-case name="op-date-equal2args-15" result="pass"/><test-case name="op-date-equal2args-16" result="pass"/><test-case name="op-date-equal2args-17" result="pass"/><test-case name="op-date-equal2args-18" result="pass"/><test-case name="op-date-equal2args-19" result="pass"/><test-case name="op-date-equal2args-20" result="pass"/><test-case name="K-DateEQ-1" result="pass"/><test-case name="K-DateEQ-2" result="pass"/><test-case name="K-DateEQ-3" result="pass"/><test-case name="K-DateEQ-4" result="pass"/><test-case name="K-DateEQ-5" result="pass"/><test-case name="K-DateEQ-6" result="pass"/><test-case name="K-DateEQ-7" result="pass"/><test-case name="K-DateEQ-8" result="pass"/><test-case name="K2-DateEQ-1" result="pass"/><test-case name="op-date-less-than2args-1" result="pass"/><test-case name="op-date-less-than2args-2" result="pass"/><test-case name="op-date-less-than2args-3" result="pass"/><test-case name="op-date-less-than2args-4" result="pass"/><test-case name="op-date-less-than2args-5" result="pass"/><test-case name="op-date-less-than2args-6" result="pass"/><test-case name="op-date-less-than2args-7" result="pass"/><test-case name="op-date-less-than2args-8" result="pass"/><test-case name="op-date-less-than2args-9" result="pass"/><test-case name="op-date-less-than2args-10" result="pass"/><test-case name="op-date-less-than-1" result="pass"/><test-case name="op-date-less-than-2" result="pass"/><test-case name="op-date-less-than-3" result="pass"/><test-case name="op-date-less-than-4" result="pass"/><test-case name="op-date-less-than-5" result="pass"/><test-case name="op-date-less-than-6" result="pass"/><test-case name="op-date-less-than-7" result="pass"/><test-case name="op-date-less-than-8" result="pass"/><test-case name="op-date-less-than-9" result="pass"/><test-case name="op-date-less-than-10" result="pass"/><test-case name="op-date-less-than-11" result="pass"/><test-case name="op-date-less-than-12" result="pass"/><test-case name="op-date-less-than-13" result="pass"/><test-case name="op-date-less-than-14" result="pass"/><test-case name="K-DateLT-1" result="pass"/><test-case name="K-DateLT-2" result="pass"/><test-case name="K-DateLT-3" result="pass"/><test-case name="K-DateLT-4" result="pass"/><test-case name="K-DateLT-5" result="pass"/><test-case name="K-DateLT-6" result="pass"/><test-case name="op-date-greater-than2args-1" result="pass"/><test-case name="op-date-greater-than2args-2" result="pass"/><test-case name="op-date-greater-than2args-3" result="pass"/><test-case name="op-date-greater-than2args-4" result="pass"/><test-case name="op-date-greater-than2args-5" result="pass"/><test-case name="op-date-greater-than2args-6" result="pass"/><test-case name="op-date-greater-than2args-7" result="pass"/><test-case name="op-date-greater-than2args-8" result="pass"/><test-case name="op-date-greater-than2args-9" result="pass"/><test-case name="op-date-greater-than2args-10" result="pass"/><test-case name="op-date-greater-than-1" result="pass"/><test-case name="op-date-greater-than-2" result="pass"/><test-case name="op-date-greater-than-3" result="pass"/><test-case name="op-date-greater-than-4" result="pass"/><test-case name="op-date-greater-than-5" result="pass"/><test-case name="op-date-greater-than-6" result="pass"/><test-case name="op-date-greater-than-7" result="pass"/><test-case name="op-date-greater-than-8" result="pass"/><test-case name="op-date-greater-than-9" result="pass"/><test-case name="op-date-greater-than-10" result="pass"/><test-case name="op-date-greater-than-11" result="pass"/><test-case name="op-date-greater-than-12" result="pass"/><test-case name="op-date-greater-than-13" result="pass"/><test-case name="op-date-greater-than-14" result="pass"/><test-case name="K-DateGT-1" result="pass"/><test-case name="K-DateGT-2" result="pass"/><test-case name="K-DateGT-3" result="pass"/><test-case name="K-DateGT-4" result="pass"/><test-case name="K-DateGT-5" result="pass"/><test-case name="K-DateGT-6" result="pass"/><test-case name="op-time-equal2args-1" result="pass"/><test-case name="op-time-equal2args-2" result="pass"/><test-case name="op-time-equal2args-3" result="pass"/><test-case name="op-time-equal2args-4" result="pass"/><test-case name="op-time-equal2args-5" result="pass"/><test-case name="op-time-equal2args-6" result="pass"/><test-case name="op-time-equal2args-7" result="pass"/><test-case name="op-time-equal2args-8" result="pass"/><test-case name="op-time-equal2args-9" result="pass"/><test-case name="op-time-equal2args-10" result="pass"/><test-case name="op-time-equal2args-11" result="pass"/><test-case name="op-time-equal2args-12" result="pass"/><test-case name="op-time-equal2args-13" result="pass"/><test-case name="op-time-equal2args-14" result="pass"/><test-case name="op-time-equal2args-15" result="pass"/><test-case name="op-time-equal2args-16" result="pass"/><test-case name="op-time-equal2args-17" result="pass"/><test-case name="op-time-equal2args-18" result="pass"/><test-case name="op-time-equal2args-19" result="pass"/><test-case name="op-time-equal2args-20" result="pass"/><test-case name="K-TimeEQ-1" result="pass"/><test-case name="K-TimeEQ-2" result="pass"/><test-case name="K-TimeEQ-3" result="pass"/><test-case name="K-TimeEQ-4" result="pass"/><test-case name="K-TimeEQ-5" result="pass"/><test-case name="K-TimeEQ-6" result="pass"/><test-case name="K-TimeEQ-7" result="pass"/><test-case name="K-TimeEQ-8" result="pass"/><test-case name="K-TimeEQ-9" result="pass"/><test-case name="K-TimeEQ-10" result="pass"/><test-case name="K-TimeEQ-11" result="pass"/><test-case name="K-TimeEQ-12" result="pass"/><test-case name="K-TimeEQ-13" result="pass"/><test-case name="K-TimeEQ-14" result="pass"/><test-case name="K-TimeEQ-15" result="pass"/><test-case name="K-TimeEQ-16" result="pass"/><test-case name="K-TimeEQ-17" result="pass"/><test-case name="K-TimeEQ-18" result="pass"/><test-case name="K-TimeEQ-19" result="pass"/><test-case name="K-TimeEQ-20" result="pass"/><test-case name="K2-TimeEQ-1" result="pass"/><test-case name="op-time-less-than2args-1" result="pass"/><test-case name="op-time-less-than2args-2" result="pass"/><test-case name="op-time-less-than2args-3" result="pass"/><test-case name="op-time-less-than2args-4" result="pass"/><test-case name="op-time-less-than2args-5" result="pass"/><test-case name="op-time-less-than2args-6" result="pass"/><test-case name="op-time-less-than2args-7" result="pass"/><test-case name="op-time-less-than2args-8" result="pass"/><test-case name="op-time-less-than2args-9" result="pass"/><test-case name="op-time-less-than2args-10" result="pass"/><test-case name="op-time-less-than-1" result="pass"/><test-case name="op-time-less-than-2" result="pass"/><test-case name="op-time-less-than-3" result="pass"/><test-case name="op-time-less-than-4" result="pass"/><test-case name="op-time-less-than-5" result="pass"/><test-case name="op-time-less-than-6" result="pass"/><test-case name="op-time-less-than-7" result="pass"/><test-case name="op-time-less-than-8" result="pass"/><test-case name="op-time-less-than-9" result="pass"/><test-case name="op-time-less-than-10" result="pass"/><test-case name="op-time-less-than-11" result="pass"/><test-case name="op-time-less-than-12" result="pass"/><test-case name="op-time-less-than-13" result="pass"/><test-case name="op-time-less-than-14" result="pass"/><test-case name="K-TimeLT-1" result="pass"/><test-case name="K-TimeLT-2" result="pass"/><test-case name="K-TimeLT-3" result="pass"/><test-case name="K-TimeLT-4" result="pass"/><test-case name="K-TimeLT-5" result="pass"/><test-case name="K-TimeLT-6" result="pass"/><test-case name="op-time-greater-than2args-1" result="pass"/><test-case name="op-time-greater-than2args-2" result="pass"/><test-case name="op-time-greater-than2args-3" result="pass"/><test-case name="op-time-greater-than2args-4" result="pass"/><test-case name="op-time-greater-than2args-5" result="pass"/><test-case name="op-time-greater-than2args-6" result="pass"/><test-case name="op-time-greater-than2args-7" result="pass"/><test-case name="op-time-greater-than2args-8" result="pass"/><test-case name="op-time-greater-than2args-9" result="pass"/><test-case name="op-time-greater-than2args-10" result="pass"/><test-case name="op-time-greater-than-1" result="pass"/><test-case name="op-time-greater-than-2" result="pass"/><test-case name="op-time-greater-than-3" result="pass"/><test-case name="op-time-greater-than-4" result="pass"/><test-case name="op-time-greater-than-5" result="pass"/><test-case name="op-time-greater-than-6" result="pass"/><test-case name="op-time-greater-than-7" result="pass"/><test-case name="op-time-greater-than-8" result="pass"/><test-case name="op-time-greater-than-9" result="pass"/><test-case name="op-time-greater-than-10" result="pass"/><test-case name="op-time-greater-than-11" result="pass"/><test-case name="op-time-greater-than-12" result="pass"/><test-case name="op-time-greater-than-13" result="pass"/><test-case name="op-time-greater-than-14" result="pass"/><test-case name="K-TimeGT-1" result="pass"/><test-case name="K-TimeGT-2" result="pass"/><test-case name="K-TimeGT-3" result="pass"/><test-case name="K-TimeGT-4" result="pass"/><test-case name="K-TimeGT-5" result="pass"/><test-case name="K-TimeGT-6" result="pass"/><test-case name="op-gYearMonth-equal2args-1" result="pass"/><test-case name="op-gYearMonth-equal2args-2" result="pass"/><test-case name="op-gYearMonth-equal2args-3" result="pass"/><test-case name="op-gYearMonth-equal2args-4" result="pass"/><test-case name="op-gYearMonth-equal2args-5" result="pass"/><test-case name="op-gYearMonth-equal2args-6" result="pass"/><test-case name="op-gYearMonth-equal2args-7" result="pass"/><test-case name="op-gYearMonth-equal2args-8" result="pass"/><test-case name="op-gYearMonth-equal2args-9" result="pass"/><test-case name="op-gYearMonth-equal2args-10" result="pass"/><test-case name="op-gYearMonth-equalNew-1" result="pass"/><test-case name="op-gYearMonth-equalNew-2" result="pass"/><test-case name="op-gYearMonth-equalNew-3" result="pass"/><test-case name="op-gYearMonth-equalNew-4" result="pass"/><test-case name="op-gYearMonth-equalNew-5" result="pass"/><test-case name="op-gYearMonth-equalNew-6" result="pass"/><test-case name="op-gYearMonth-equalNew-7" result="pass"/><test-case name="op-gYearMonth-equalNew-8" result="pass"/><test-case name="op-gYearMonth-equalNew-9" result="pass"/><test-case name="op-gYearMonth-equalNew-10" result="pass"/><test-case name="op-gYearMonth-equalNew-11" result="pass"/><test-case name="op-gYearMonth-equalNew-12" result="pass"/><test-case name="op-gYearMonth-equalNew-13" result="pass"/><test-case name="op-gYearMonth-equalNew-14" result="pass"/><test-case name="K-gYearMonthEQ-1" result="pass"/><test-case name="K-gYearMonthEQ-2" result="pass"/><test-case name="K-gYearMonthEQ-3" result="pass"/><test-case name="K-gYearMonthEQ-4" result="pass"/><test-case name="K-gYearMonthEQ-5" result="pass"/><test-case name="K-gYearMonthEQ-6" result="pass"/><test-case name="K-gYearMonthEQ-7" result="pass"/><test-case name="K-gYearMonthEQ-8" result="pass"/><test-case name="op-gYear-equal2args-1" result="pass"/><test-case name="op-gYear-equal2args-2" result="pass"/><test-case name="op-gYear-equal2args-3" result="pass"/><test-case name="op-gYear-equal2args-4" result="pass"/><test-case name="op-gYear-equal2args-5" result="pass"/><test-case name="op-gYear-equal2args-6" result="pass"/><test-case name="op-gYear-equal2args-7" result="pass"/><test-case name="op-gYear-equal2args-8" result="pass"/><test-case name="op-gYear-equal2args-9" result="pass"/><test-case name="op-gYear-equal2args-10" result="pass"/><test-case name="op-gYear-equal-1" result="pass"/><test-case name="op-gYear-equal-2" result="pass"/><test-case name="op-gYear-equalNew-3" result="pass"/><test-case name="op-gYear-equalNew-4" result="pass"/><test-case name="op-gYear-equal-5" result="pass"/><test-case name="op-gYear-equalNew-6" result="pass"/><test-case name="op-gYear-equalNew-7" result="pass"/><test-case name="op-gYear-equal-8" result="pass"/><test-case name="op-gYear-equalNew-9" result="pass"/><test-case name="op-gYear-equal-10" result="pass"/><test-case name="op-gYear-equal-11" result="pass"/><test-case name="op-gYear-equalNew-12" result="pass"/><test-case name="op-gYear-equal-13" result="pass"/><test-case name="op-gYear-equal-14" result="pass"/><test-case name="K-gYearEQ-1" result="pass"/><test-case name="K-gYearEQ-2" result="pass"/><test-case name="K-gYearEQ-3" result="pass"/><test-case name="K-gYearEQ-4" result="pass"/><test-case name="K-gYearEQ-5" result="pass"/><test-case name="K-gYearEQ-6" result="pass"/><test-case name="K-gYearEQ-7" result="pass"/><test-case name="K-gYearEQ-8" result="pass"/><test-case name="op-gMonthDay-equal2args-1" result="pass"/><test-case name="op-gMonthDay-equal2args-2" result="pass"/><test-case name="op-gMonthDay-equal2args-3" result="pass"/><test-case name="op-gMonthDay-equal2args-4" result="pass"/><test-case name="op-gMonthDay-equal2args-5" result="pass"/><test-case name="op-gMonthDay-equal2args-6" result="pass"/><test-case name="op-gMonthDay-equal2args-7" result="pass"/><test-case name="op-gMonthDay-equal2args-8" result="pass"/><test-case name="op-gMonthDay-equal2args-9" result="pass"/><test-case name="op-gMonthDay-equal2args-10" result="pass"/><test-case name="op-gMonthDay-equal-2" result="pass"/><test-case name="op-gMonthDay-equal-3" result="pass"/><test-case name="op-gMonthDay-equal-4" result="pass"/><test-case name="op-gMonthDay-equal-5" result="pass"/><test-case name="op-gMonthDay-equal-6" result="pass"/><test-case name="op-gMonthDay-equal-7" result="pass"/><test-case name="op-gMonthDay-equal-8" result="pass"/><test-case name="op-gMonthDay-equal-9" result="pass"/><test-case name="op-gMonthDay-equal-10" result="pass"/><test-case name="op-gMonthDay-equal-11" result="pass"/><test-case name="op-gMonthDay-equal-12" result="pass"/><test-case name="op-gMonthDay-equal-13" result="pass"/><test-case name="op-gMonthDay-equal-14" result="pass"/><test-case name="K-gMonthDayEQ-1" result="pass"/><test-case name="K-gMonthDayEQ-2" result="pass"/><test-case name="K-gMonthDayEQ-3" result="pass"/><test-case name="K-gMonthDayEQ-4" result="pass"/><test-case name="K-gMonthDayEQ-5" result="pass"/><test-case name="K-gMonthDayEQ-6" result="pass"/><test-case name="K-gMonthDayEQ-7" result="pass"/><test-case name="K-gMonthDayEQ-8" result="pass"/><test-case name="op-gMonth-equal2args-1" result="pass"/><test-case name="op-gMonth-equal2args-2" result="pass"/><test-case name="op-gMonth-equal2args-3" result="pass"/><test-case name="op-gMonth-equal2args-4" result="pass"/><test-case name="op-gMonth-equal2args-5" result="pass"/><test-case name="op-gMonth-equal2args-6" result="pass"/><test-case name="op-gMonth-equal2args-7" result="pass"/><test-case name="op-gMonth-equal2args-8" result="pass"/><test-case name="op-gMonth-equal2args-9" result="pass"/><test-case name="op-gMonth-equal2args-10" result="pass"/><test-case name="op-gMonth-equal-2" result="pass"/><test-case name="op-gMonth-equal-3" result="pass"/><test-case name="op-gMonth-equal-4" result="pass"/><test-case name="op-gMonth-equal-5" result="pass"/><test-case name="op-gMonth-equal-6" result="pass"/><test-case name="op-gMonth-equal-7" result="pass"/><test-case name="op-gMonth-equal-8" result="pass"/><test-case name="op-gMonth-equal-9" result="pass"/><test-case name="op-gMonth-equal-10" result="pass"/><test-case name="op-gMonth-equal-11" result="pass"/><test-case name="op-gMonth-equal-12" result="pass"/><test-case name="op-gMonth-equal-13" result="pass"/><test-case name="op-gMonth-equal-14" result="pass"/><test-case name="K-gMonthEQ-1" result="pass"/><test-case name="K-gMonthEQ-2" result="pass"/><test-case name="K-gMonthEQ-3" result="pass"/><test-case name="K-gMonthEQ-4" result="pass"/><test-case name="K-gMonthEQ-5" result="pass"/><test-case name="K-gMonthEQ-6" result="pass"/><test-case name="K-gMonthEQ-7" result="pass"/><test-case name="K-gMonthEQ-8" result="pass"/><test-case name="op-gDay-equal2args-1" result="pass"/><test-case name="op-gDay-equal2args-2" result="pass"/><test-case name="op-gDay-equal2args-3" result="pass"/><test-case name="op-gDay-equal2args-4" result="pass"/><test-case name="op-gDay-equal2args-5" result="pass"/><test-case name="op-gDay-equal2args-6" result="pass"/><test-case name="op-gDay-equal2args-7" result="pass"/><test-case name="op-gDay-equal2args-8" result="pass"/><test-case name="op-gDay-equal2args-9" result="pass"/><test-case name="op-gDay-equal2args-10" result="pass"/><test-case name="op-gDay-equal-2" result="pass"/><test-case name="op-gDay-equal-3" result="pass"/><test-case name="op-gDay-equal-4" result="pass"/><test-case name="op-gDay-equal-5" result="pass"/><test-case name="op-gDay-equal-6" result="pass"/><test-case name="op-gDay-equal-7" result="pass"/><test-case name="op-gDay-equal-8" result="pass"/><test-case name="op-gDay-equal-9" result="pass"/><test-case name="op-gDay-equal-10" result="pass"/><test-case name="op-gDay-equal-11" result="pass"/><test-case name="op-gDay-equal-12" result="pass"/><test-case name="op-gDay-equal-13" result="pass"/><test-case name="op-gDay-equal-14" result="pass"/><test-case name="K-gDayEQ-1" result="pass"/><test-case name="K-gDayEQ-2" result="pass"/><test-case name="K-gDayEQ-3" result="pass"/><test-case name="K-gDayEQ-4" result="pass"/><test-case name="K-gDayEQ-5" result="pass"/><test-case name="K-gDayEQ-6" result="pass"/><test-case name="K-gDayEQ-7" result="pass"/><test-case name="K-gDayEQ-8" result="pass"/><test-case name="K-YearMonthDurationEQ-1" result="pass"/><test-case name="K-YearMonthDurationEQ-2" result="pass"/><test-case name="K-YearMonthDurationEQ-3" result="pass"/><test-case name="K-YearMonthDurationEQ-4" result="pass"/><test-case name="K-YearMonthDurationEQ-5" result="pass"/><test-case name="K-YearMonthDurationEQ-6" result="pass"/><test-case name="K-YearMonthDurationEQ-7" result="pass"/><test-case name="K-DayTimeDurationEQ-1" result="pass"/><test-case name="K-DayTimeDurationEQ-2" result="pass"/><test-case name="K-DayTimeDurationEQ-3" result="pass"/><test-case name="K-DayTimeDurationEQ-4" result="pass"/><test-case name="K-DayTimeDurationEQ-5" result="pass"/><test-case name="K-DayTimeDurationEQ-6" result="pass"/><test-case name="K-DayTimeDurationEQ-7" result="pass"/><test-case name="K-DayTimeDurationEQ-8" result="pass"/><test-case name="op-qname-equal-1" result="pass"/><test-case name="op-qname-equal-2" result="pass"/><test-case name="op-qname-equal-3" result="pass"/><test-case name="op-qname-equal-4" result="pass"/><test-case name="op-qname-equal-5" result="pass"/><test-case name="op-qname-equal-6" result="pass"/><test-case name="op-qname-equal-7" result="pass"/><test-case name="op-qname-equal-8" result="pass"/><test-case name="op-qname-equal-9" result="pass"/><test-case name="op-qname-equal-10" result="pass"/><test-case name="op-qname-equal-11" result="pass"/><test-case name="op-qname-equal-12" result="pass"/><test-case name="op-qname-equal-13" result="pass"/><test-case name="op-qname-equal-14" result="pass"/><test-case name="op-qname-equal-15" result="pass"/><test-case name="op-qname-equal-16" result="pass"/><test-case name="op-qname-equal-17" result="pass"/><test-case name="op-qname-equal-18" result="pass"/><test-case name="op-qname-equal-19" result="pass"/><test-case name="op-qname-equal-20" result="pass"/><test-case name="op-qname-equal-21" result="pass"/><test-case name="op-qname-equal-22" result="pass"/><test-case name="op-qname-equal-23" result="pass"/><test-case name="op-qname-equal-24" result="pass"/><test-case name="value-comparison-1" result="pass"/><test-case name="value-comparison-2" result="pass"/><test-case name="K-QNameEQ-1" result="pass"/><test-case name="K-QNameEQ-2" result="pass"/><test-case name="K-QNameEQ-3" result="pass"/><test-case name="K-QNameEQ-4" result="pass"/><test-case name="K-QNameEQ-5" result="pass"/><test-case name="K-QNameEQ-6" result="pass"/><test-case name="K-QNameEQ-7" result="pass"/><test-case name="K-QNameEQ-8" result="pass"/><test-case name="K-QNameEQ-9" result="pass"/><test-case name="K-QNameEQ-10" result="pass"/><test-case name="fn-prefix-from-qname-1" result="pass"/><test-case name="fn-prefix-from-qname-2" result="pass"/><test-case name="fn-prefix-from-qname-3" result="pass"/><test-case name="fn-prefix-from-qname-4" result="pass"/><test-case name="fn-prefix-from-qname-5" result="pass"/><test-case name="fn-prefix-from-qname-6" result="pass"/><test-case name="fn-prefix-from-qname-7" result="pass"/><test-case name="fn-prefix-from-qname-8" result="pass"/><test-case name="fn-prefix-from-qname-9" result="pass"/><test-case name="fn-prefix-from-qname-10" result="pass"/><test-case name="fn-prefix-from-qname-11" result="pass"/><test-case name="fn-prefix-from-qname-12" result="pass"/><test-case name="fn-prefix-from-qname-13" result="pass"/><test-case name="fn-prefix-from-qname-14" result="pass"/><test-case name="fn-prefix-from-qname-15" result="pass"/><test-case name="fn-prefix-from-qname-16" result="pass"/><test-case name="fn-prefix-from-qname-17" result="pass"/><test-case name="fn-prefix-from-qname-18" result="pass"/><test-case name="fn-prefix-from-qname-19" result="pass"/><test-case name="fn-prefix-from-qname-20" result="pass"/><test-case name="K-PrefixFromQName-1" result="pass"/><test-case name="K-PrefixFromQName-2" result="pass"/><test-case name="K-PrefixFromQName-3" result="pass"/><test-case name="K-PrefixFromQName-4" result="pass"/><test-case name="op-hexBinary-equal2args-1" result="pass"/><test-case name="op-hexBinary-equal2args-2" result="pass"/><test-case name="op-hexBinary-equal2args-3" result="pass"/><test-case name="op-hexBinary-equal2args-4" result="pass"/><test-case name="op-hexBinary-equal2args-5" result="pass"/><test-case name="op-hexBinary-equal2args-6" result="pass"/><test-case name="op-hexBinary-equal2args-7" result="pass"/><test-case name="op-hexBinary-equal2args-8" result="pass"/><test-case name="op-hexBinary-equal2args-9" result="pass"/><test-case name="op-hexBinary-equal2args-10" result="pass"/><test-case name="hexBinary-1" result="pass"/><test-case name="hexBinary-2" result="pass"/><test-case name="hexBinary-3" result="pass"/><test-case name="hexBinary-4" result="pass"/><test-case name="hexBinary-5" result="pass"/><test-case name="hexBinary-6" result="pass"/><test-case name="hexBinary-7" result="pass"/><test-case name="hexBinary-8" result="pass"/><test-case name="hexBinary-9" result="pass"/><test-case name="hexBinary-10" result="pass"/><test-case name="hexBinary-11" result="pass"/><test-case name="hexBinary-12" result="pass"/><test-case name="hexBinary-13" result="pass"/><test-case name="hexBinary-14" result="pass"/><test-case name="K-HexBinaryEQ-1" result="pass"/><test-case name="K-HexBinaryEQ-2" result="pass"/><test-case name="K-HexBinaryEQ-3" result="pass"/><test-case name="K-HexBinaryEQ-4" result="pass"/><test-case name="K-HexBinaryEQ-5" result="pass"/><test-case name="op-base64Binary-equal2args-1" result="pass"/><test-case name="op-base64Binary-equal2args-2" result="pass"/><test-case name="op-base64Binary-equal2args-3" result="pass"/><test-case name="op-base64Binary-equal2args-4" result="pass"/><test-case name="op-base64Binary-equal2args-5" result="pass"/><test-case name="op-base64Binary-equal2args-6" result="pass"/><test-case name="op-base64Binary-equal2args-7" result="pass"/><test-case name="op-base64Binary-equal2args-8" result="pass"/><test-case name="op-base64Binary-equal2args-9" result="pass"/><test-case name="op-base64Binary-equal2args-10" result="pass"/><test-case name="base64BinaryEqual-1" result="pass"/><test-case name="base64BinaryEqual-2" result="pass"/><test-case name="base64BinaryEqual-3" result="pass"/><test-case name="base64BinaryEqual-4" result="pass"/><test-case name="base64binaryequal-5" result="pass"/><test-case name="base64BinaryEqual-6" result="pass"/><test-case name="base64BinaryEqual-7" result="pass"/><test-case name="base64BinaryEqual-8" result="pass"/><test-case name="base64BinaryEqual-9" result="pass"/><test-case name="base64BinaryEqual-10" result="pass"/><test-case name="base64BinaryEqual-11" result="pass"/><test-case name="base64BinaryEqual-12" result="pass"/><test-case name="base64BinaryEqual-13" result="pass"/><test-case name="base64BinaryEqual-14" result="pass"/><test-case name="K-Base64BinaryEQ-1" result="pass"/><test-case name="K-Base64BinaryEQ-2" result="pass"/><test-case name="K-Base64BinaryEQ-3" result="pass"/><test-case name="K-ValCompTypeChecking-1" result="pass"/><test-case name="K-ValCompTypeChecking-2" result="pass"/><test-case name="K-ValCompTypeChecking-3" result="pass"/><test-case name="K-ValCompTypeChecking-4" result="pass"/><test-case name="K-ValCompTypeChecking-5" result="pass"/><test-case name="K-ValCompTypeChecking-6" result="pass"/><test-case name="K-ValCompTypeChecking-7" result="pass"/><test-case name="K-ValCompTypeChecking-8" result="pass"/><test-case name="K-ValCompTypeChecking-9" result="pass"/><test-case name="K-ValCompTypeChecking-10" result="pass"/><test-case name="K-ValCompTypeChecking-11" result="pass"/><test-case name="K-ValCompTypeChecking-12" result="pass"/><test-case name="K-ValCompTypeChecking-13" result="pass"/><test-case name="K-ValCompTypeChecking-14" result="pass"/><test-case name="K-ValCompTypeChecking-15" result="pass"/><test-case name="K-ValCompTypeChecking-16" result="pass"/><test-case name="K-ValCompTypeChecking-17" result="pass"/><test-case name="K-ValCompTypeChecking-18" result="pass"/><test-case name="K-ValCompTypeChecking-19" result="pass"/><test-case name="K-ValCompTypeChecking-20" result="pass"/><test-case name="K-ValCompTypeChecking-21" result="pass"/><test-case name="K-ValCompTypeChecking-22" result="pass"/><test-case name="K-ValCompTypeChecking-23" result="pass"/><test-case name="K-ValCompTypeChecking-24" result="pass"/><test-case name="K-ValCompTypeChecking-25" result="pass"/><test-case name="K-ValCompTypeChecking-26" result="pass"/><test-case name="K-ValCompTypeChecking-27" result="pass"/><test-case name="K-ValCompTypeChecking-28" result="pass"/><test-case name="K-ValCompTypeChecking-29" result="pass"/><test-case name="K-ValCompTypeChecking-30" result="pass"/><test-case name="K-ValCompTypeChecking-31" result="pass"/><test-case name="K-ValCompTypeChecking-32" result="pass"/><test-case name="K-ValCompTypeChecking-33" result="pass"/><test-case name="K-ValCompTypeChecking-34" result="pass"/><test-case name="K-ValCompTypeChecking-35" result="pass"/><test-case name="K-ValCompTypeChecking-36" result="pass"/><test-case name="K-ValCompTypeChecking-37" result="pass"/><test-case name="K-ValCompTypeChecking-38" result="pass"/><test-case name="K-ValCompTypeChecking-39" result="pass"/><test-case name="K-ValCompTypeChecking-40" result="pass"/><test-case name="K-ValCompTypeChecking-41" result="pass"/><test-case name="K-ValCompTypeChecking-42" result="pass"/><test-case name="K-StringEqual-1" result="pass"/><test-case name="K-StringEqual-2" result="pass"/><test-case name="K-StringEqual-3" result="pass"/><test-case name="K-StringEqual-4" result="pass"/><test-case name="K-StringEqual-5" result="pass"/><test-case name="K2-StringEqual-1" result="pass"/><test-case name="K2-StringEqual-2" result="pass"/><test-case name="K2-StringEqual-3" result="pass"/><test-case name="K2-StringEqual-4" result="pass"/><test-case name="K2-StringEqual-5" result="pass"/><test-case name="K2-StringEqual-6" result="pass"/><test-case name="K-StringGT-1" result="pass"/><test-case name="K-StringGT-2" result="pass"/><test-case name="K-StringGT-3" result="pass"/><test-case name="K-StringGT-4" result="pass"/><test-case name="K-StringGT-5" result="pass"/><test-case name="K-StringLT-1" result="pass"/><test-case name="K-StringLT-2" result="pass"/><test-case name="K-StringLT-3" result="pass"/><test-case name="K-StringLT-4" result="pass"/><test-case name="K-StringLT-5" result="pass"/><test-case name="K2-StringLT-1" result="fail"/><test-case name="K-AnyURIEqual-1" result="pass"/><test-case name="K-AnyURIEqual-2" result="pass"/><test-case name="K-AnyURIEqual-3" result="pass"/><test-case name="K-AnyURIEqual-4" result="pass"/><test-case name="K-AnyURIEqual-5" result="pass"/><test-case name="K-AnyURIEqual-6" result="pass"/><test-case name="K-AnyURIEqual-7" result="pass"/><test-case name="K-AnyURIEqual-8" result="pass"/><test-case name="K-AnyURIEqual-9" result="pass"/><test-case name="K-AnyURIEqual-10" result="pass"/><test-case name="K2-AnyURIEqual-1" result="pass"/><test-case name="K2-AnyURIEqual-2" result="pass"/><test-case name="K2-AnyURIEqual-3" result="pass"/><test-case name="K2-AnyURIEqual-4" result="pass"/><test-case name="K2-AnyURIEqual-5" result="pass"/><test-case name="K2-AnyURIEqual-6" result="pass"/><test-case name="K2-AnyURIEqual-7" result="pass"/><test-case name="K2-AnyURIEqual-8" result="pass"/><test-case name="K2-AnyURIEqual-9" result="pass"/><test-case name="K2-AnyURIEqual-10" result="pass"/><test-case name="K2-AnyURIEqual-11" result="pass"/><test-case name="K2-AnyURIEqual-12" result="pass"/><test-case name="K2-AnyURILtGt-1" result="pass"/><test-case name="K2-AnyURILtGt-2" result="pass"/><test-case name="K2-AnyURILtGt-3" result="pass"/><test-case name="K2-AnyURILtGt-4" result="pass"/><test-case name="K2-AnyURILtGt-5" result="pass"/><test-case name="K2-AnyURILtGt-6" result="pass"/><test-case name="K2-AnyURILtGt-7" result="pass"/><test-case name="K2-AnyURILtGt-8" result="pass"/><test-case name="K2-AnyURILeGe-1" result="pass"/><test-case name="K2-AnyURILeGe-2" result="pass"/><test-case name="K2-AnyURILeGe-3" result="pass"/><test-case name="K2-AnyURILeGe-4" result="pass"/><test-case name="K2-AnyURILeGe-5" result="pass"/><test-case name="K2-AnyURILeGe-6" result="pass"/><test-case name="K2-AnyURILeGe-7" result="pass"/><test-case name="K2-AnyURILeGe-8" result="pass"/><test-case name="K2-AnyURILeGe-9" result="pass"/><test-case name="K2-AnyURILeGe-10" result="pass"/><test-case name="generalexpression1" result="pass"/><test-case name="generalexpression2" result="pass"/><test-case name="generalexpression3" result="pass"/><test-case name="generalexpression4" result="pass"/><test-case name="generalexpression5" result="pass"/><test-case name="generalexpression6" result="pass"/><test-case name="generalexpression7" result="pass"/><test-case name="generalexpression8" result="pass"/><test-case name="generalexpression9" result="pass"/><test-case name="generalexpression10" result="pass"/><test-case name="generalexpression11" result="pass"/><test-case name="generalexpression12" result="pass"/><test-case name="generalexpression13" result="pass"/><test-case name="generalexpression14" result="pass"/><test-case name="generalexpression15" result="pass"/><test-case name="generalexpression16" result="pass"/><test-case name="generalexpression17" result="pass"/><test-case name="generalexpression18" result="pass"/><test-case name="generalexpression19" result="pass"/><test-case name="generalexpression20" result="pass"/><test-case name="generalexpression21" result="pass"/><test-case name="generalexpression22" result="pass"/><test-case name="generalexpression23" result="pass"/><test-case name="generalexpression24" result="pass"/><test-case name="generalexpression25" result="pass"/><test-case name="generalexpression26" result="pass"/><test-case name="generalexpression27" result="pass"/><test-case name="generalexpression28" result="pass"/><test-case name="generalexpression29" result="pass"/><test-case name="generalexpression30" result="pass"/><test-case name="generalexpression31" result="pass"/><test-case name="generalexpression32" result="pass"/><test-case name="generalexpression33" result="pass"/><test-case name="generalexpression34" result="pass"/><test-case name="generalexpression35" result="pass"/><test-case name="generalexpression36" result="pass"/><test-case name="generalexpression37" result="pass"/><test-case name="generalexpression38" result="pass"/><test-case name="generalexpression39" result="pass"/><test-case name="generalexpression40" result="pass"/><test-case name="generalexpression41" result="pass"/><test-case name="generalexpression42" result="pass"/><test-case name="generalexpression43" result="pass"/><test-case name="generalexpression44" result="pass"/><test-case name="generalexpression45" result="pass"/><test-case name="generalexpression46" result="pass"/><test-case name="generalexpression47" result="pass"/><test-case name="generalexpression48" result="pass"/><test-case name="generalexpression49" result="pass"/><test-case name="generalexpression50" result="pass"/><test-case name="generalexpression51" result="pass"/><test-case name="generalexpression52" result="pass"/><test-case name="generalexpression53" result="pass"/><test-case name="generalexpression54" result="pass"/><test-case name="generalexpression55" result="pass"/><test-case name="generalexpression56" result="pass"/><test-case name="generalexpression57" result="pass"/><test-case name="generalexpression58" result="pass"/><test-case name="generalexpression59" result="pass"/><test-case name="generalexpression60" result="pass"/><test-case name="generalexpression61" result="pass"/><test-case name="generalexpression62" result="pass"/><test-case name="generalexpression63" result="pass"/><test-case name="generalexpression64" result="pass"/><test-case name="generalexpression65" result="pass"/><test-case name="generalexpression66" result="pass"/><test-case name="generalexpression67" result="pass"/><test-case name="generalexpression68" result="pass"/><test-case name="generalexpression69" result="pass"/><test-case name="generalexpression70" result="pass"/><test-case name="generalexpression71" result="pass"/><test-case name="generalexpression72" result="pass"/><test-case name="generalexpression73" result="pass"/><test-case name="generalexpression74" result="pass"/><test-case name="generalexpression75" result="pass"/><test-case name="generalexpression76" result="pass"/><test-case name="generalexpression77" result="pass"/><test-case name="generalexpression78" result="pass"/><test-case name="generalexpression79" result="pass"/><test-case name="generalexpression80" result="pass"/><test-case name="generalexpression81" result="pass"/><test-case name="generalexpression82" result="pass"/><test-case name="generalexpression83" result="pass"/><test-case name="generalexpression84" result="pass"/><test-case name="generalexpression85" result="pass"/><test-case name="generalexpression86" result="pass"/><test-case name="generalexpression87" result="pass"/><test-case name="generalexpression88" result="pass"/><test-case name="generalexpression89" result="pass"/><test-case name="generalexpression90" result="pass"/><test-case name="generalexpression91" result="pass"/><test-case name="generalexpression92" result="pass"/><test-case name="generalexpression93" result="pass"/><test-case name="generalexpression94" result="pass"/><test-case name="generalexpression95" result="pass"/><test-case name="generalexpression96" result="pass"/><test-case name="generalexpression97" result="pass"/><test-case name="generalexpression98" result="pass"/><test-case name="generalexpression99" result="pass"/><test-case name="K-GenCompEq-1" result="pass"/><test-case name="K-GenCompEq-2" result="pass"/><test-case name="K-GenCompEq-3" result="pass"/><test-case name="K-GenCompEq-4" result="pass"/><test-case name="K-GenCompEq-5" result="pass"/><test-case name="K-GenCompEq-6" result="pass"/><test-case name="K-GenCompEq-7" result="pass"/><test-case name="K-GenCompEq-8" result="pass"/><test-case name="K-GenCompEq-9" result="pass"/><test-case name="K-GenCompEq-10" result="pass"/><test-case name="K-GenCompEq-11" result="pass"/><test-case name="K-GenCompEq-12" result="pass"/><test-case name="K-GenCompEq-13" result="pass"/><test-case name="K-GenCompEq-14" result="pass"/><test-case name="K-GenCompEq-15" result="pass"/><test-case name="K-GenCompEq-16" result="pass"/><test-case name="K-GenCompEq-17" result="pass"/><test-case name="K-GenCompEq-18" result="pass"/><test-case name="K-GenCompEq-19" result="pass"/><test-case name="K-GenCompEq-20" result="pass"/><test-case name="K-GenCompEq-21" result="pass"/><test-case name="K-GenCompEq-22" result="pass"/><test-case name="K-GenCompEq-23" result="pass"/><test-case name="K-GenCompEq-24" result="pass"/><test-case name="K-GenCompEq-25" result="pass"/><test-case name="K-GenCompEq-26" result="pass"/><test-case name="K-GenCompEq-27" result="pass"/><test-case name="K-GenCompEq-28" result="pass"/><test-case name="K-GenCompEq-29" result="pass"/><test-case name="K-GenCompEq-30" result="pass"/><test-case name="K-GenCompEq-31" result="pass"/><test-case name="K-GenCompEq-32" result="pass"/><test-case name="K-GenCompEq-33" result="pass"/><test-case name="K-GenCompEq-34" result="pass"/><test-case name="K-GenCompEq-35" result="pass"/><test-case name="K-GenCompEq-36" result="pass"/><test-case name="K-GenCompEq-37" result="pass"/><test-case name="K-GenCompEq-38" result="pass"/><test-case name="K-GenCompEq-39" result="pass"/><test-case name="K-GenCompEq-40" result="pass"/><test-case name="K-GenCompEq-41" result="pass"/><test-case name="K-GenCompEq-42" result="pass"/><test-case name="K-GenCompEq-43" result="pass"/><test-case name="K-GenCompEq-44" result="pass"/><test-case name="K-GenCompEq-45" result="pass"/><test-case name="K-GenCompEq-46" result="pass"/><test-case name="K-GenCompEq-47" result="pass"/><test-case name="K-GenCompEq-48" result="pass"/><test-case name="K-GenCompEq-49" result="pass"/><test-case name="K-GenCompEq-50" result="pass"/><test-case name="K-GenCompEq-51" result="pass"/><test-case name="K-GenCompEq-52" result="pass"/><test-case name="K-GenCompEq-53" result="pass"/><test-case name="K-GenCompEq-54" result="pass"/><test-case name="K-GenCompEq-55" result="pass"/><test-case name="K-GenCompEq-56" result="pass"/><test-case name="K-GenCompEq-57" result="pass"/><test-case name="K-GenCompEq-58" result="pass"/><test-case name="K-GenCompEq-59" result="pass"/><test-case name="K2-GenCompEq-1" result="pass"/><test-case name="K2-GenCompEq-2" result="pass"/><test-case name="K2-GenCompEq-3" result="pass"/><test-case name="K2-GenCompEq-4" result="pass"/><test-case name="K2-GenCompEq-5" result="pass"/><test-case name="K2-GenCompEq-6" result="pass"/><test-case name="K2-GenCompEq-7" result="pass"/><test-case name="K2-GenCompEq-8" result="pass"/><test-case name="generalexpression100" result="pass"/><test-case name="generalexpression101" result="pass"/><test-case name="generalexpression102" result="pass"/><test-case name="generalexpression103" result="pass"/><test-case name="generalexpression104" result="pass"/><test-case name="generalexpression105" result="pass"/><test-case name="generalexpression106" result="pass"/><test-case name="generalexpression107" result="pass"/><test-case name="generalexpression108" result="pass"/><test-case name="generalexpression109" result="pass"/><test-case name="generalexpression110" result="pass"/><test-case name="generalexpression111" result="pass"/><test-case name="generalexpression112" result="pass"/><test-case name="generalexpression113" result="pass"/><test-case name="generalexpression114" result="pass"/><test-case name="generalexpression115" result="pass"/><test-case name="generalexpression116" result="pass"/><test-case name="generalexpression117" result="pass"/><test-case name="generalexpression118" result="pass"/><test-case name="generalexpression119" result="pass"/><test-case name="generalexpression120" result="pass"/><test-case name="generalexpression121" result="pass"/><test-case name="generalexpression122" result="pass"/><test-case name="generalexpression123" result="pass"/><test-case name="generalexpression124" result="pass"/><test-case name="generalexpression125" result="pass"/><test-case name="generalexpression126" result="pass"/><test-case name="generalexpression127" result="pass"/><test-case name="generalexpression128" result="pass"/><test-case name="generalexpression129" result="pass"/><test-case name="generalexpression130" result="pass"/><test-case name="generalexpression131" result="pass"/><test-case name="generalexpression132" result="pass"/><test-case name="generalexpression133" result="pass"/><test-case name="generalexpression134" result="pass"/><test-case name="generalexpression135" result="pass"/><test-case name="generalexpression136" result="pass"/><test-case name="generalexpression137" result="pass"/><test-case name="generalexpression138" result="pass"/><test-case name="generalexpression139" result="pass"/><test-case name="generalexpression140" result="pass"/><test-case name="generalexpression141" result="pass"/><test-case name="generalexpression142" result="pass"/><test-case name="generalexpression143" result="pass"/><test-case name="generalexpression144" result="pass"/><test-case name="generalexpression145" result="pass"/><test-case name="generalexpression146" result="pass"/><test-case name="generalexpression147" result="pass"/><test-case name="generalexpression148" result="pass"/><test-case name="generalexpression149" result="pass"/><test-case name="generalexpression150" result="pass"/><test-case name="generalexpression151" result="pass"/><test-case name="generalexpression152" result="pass"/><test-case name="generalexpression153" result="pass"/><test-case name="generalexpression154" result="pass"/><test-case name="generalexpression155" result="pass"/><test-case name="generalexpression156" result="pass"/><test-case name="generalexpression157" result="pass"/><test-case name="generalexpression158" result="pass"/><test-case name="generalexpression159" result="pass"/><test-case name="generalexpression160" result="pass"/><test-case name="generalexpression161" result="pass"/><test-case name="generalexpression162" result="pass"/><test-case name="generalexpression163" result="pass"/><test-case name="generalexpression164" result="pass"/><test-case name="generalexpression165" result="pass"/><test-case name="generalexpression166" result="pass"/><test-case name="generalexpression167" result="pass"/><test-case name="generalexpression168" result="pass"/><test-case name="generalexpression169" result="pass"/><test-case name="generalexpression170" result="pass"/><test-case name="generalexpression171" result="pass"/><test-case name="generalexpression172" result="pass"/><test-case name="generalexpression173" result="pass"/><test-case name="generalexpression174" result="pass"/><test-case name="generalexpression175" result="pass"/><test-case name="generalexpression176" result="pass"/><test-case name="generalexpression177" result="pass"/><test-case name="generalexpression178" result="pass"/><test-case name="generalexpression179" result="pass"/><test-case name="generalexpression180" result="pass"/><test-case name="generalexpression181" result="pass"/><test-case name="generalexpression182" result="pass"/><test-case name="generalexpression183" result="pass"/><test-case name="generalexpression184" result="pass"/><test-case name="generalexpression185" result="pass"/><test-case name="generalexpression186" result="pass"/><test-case name="generalexpression187" result="pass"/><test-case name="generalexpression188" result="pass"/><test-case name="generalexpression189" result="pass"/><test-case name="generalexpression190" result="pass"/><test-case name="generalexpression191" result="pass"/><test-case name="generalexpression192" result="pass"/><test-case name="generalexpression193" result="pass"/><test-case name="generalexpression194" result="pass"/><test-case name="generalexpression195" result="pass"/><test-case name="generalexpression196" result="pass"/><test-case name="generalexpression197" result="pass"/><test-case name="generalexpression198" result="pass"/><test-case name="K-GenCompNE-1" result="pass"/><test-case name="K-GenCompNE-2" result="pass"/><test-case name="K-GenCompNE-3" result="pass"/><test-case name="K-GenCompNE-4" result="pass"/><test-case name="K-GenCompNE-5" result="pass"/><test-case name="K-GenCompNE-6" result="pass"/><test-case name="K-GenCompNE-7" result="pass"/><test-case name="K-GenCompNE-8" result="pass"/><test-case name="K-GenCompNE-9" result="pass"/><test-case name="K-GenCompNE-10" result="pass"/><test-case name="K-GenCompNE-11" result="pass"/><test-case name="K-GenCompNE-12" result="pass"/><test-case name="K-GenCompNE-13" result="pass"/><test-case name="K-GenCompNE-14" result="pass"/><test-case name="K-GenCompNE-15" result="pass"/><test-case name="K-GenCompNE-16" result="pass"/><test-case name="K-GenCompNE-17" result="pass"/><test-case name="K-GenCompNE-18" result="pass"/><test-case name="K-GenCompNE-19" result="pass"/><test-case name="K-GenCompNE-20" result="pass"/><test-case name="K-GenCompNE-21" result="pass"/><test-case name="K-GenCompNE-22" result="pass"/><test-case name="K-GenCompNE-23" result="pass"/><test-case name="K-GenCompNE-24" result="pass"/><test-case name="K-GenCompNE-25" result="pass"/><test-case name="K-GenCompNE-26" result="pass"/><test-case name="K-GenCompNE-27" result="pass"/><test-case name="K-GenCompNE-28" result="pass"/><test-case name="K-GenCompNE-29" result="pass"/><test-case name="K-GenCompNE-30" result="pass"/><test-case name="K-GenCompNE-31" result="pass"/><test-case name="K-GenCompNE-32" result="pass"/><test-case name="K-GenCompNE-33" result="pass"/><test-case name="K-GenCompNE-34" result="pass"/><test-case name="K-GenCompNE-35" result="pass"/><test-case name="K-GenCompNE-36" result="pass"/><test-case name="K-GenCompNE-37" result="pass"/><test-case name="K-GenCompNE-38" result="pass"/><test-case name="K-GenCompNE-39" result="pass"/><test-case name="K-GenCompNE-40" result="pass"/><test-case name="K-GenCompNE-41" result="pass"/><test-case name="generalexpression199" result="pass"/><test-case name="generalexpression200" result="pass"/><test-case name="generalexpression201" result="pass"/><test-case name="generalexpression202" result="pass"/><test-case name="generalexpression203" result="pass"/><test-case name="generalexpression204" result="pass"/><test-case name="generalexpression205" result="pass"/><test-case name="generalexpression206" result="pass"/><test-case name="generalexpression207" result="pass"/><test-case name="generalexpression208" result="pass"/><test-case name="generalexpression209" result="pass"/><test-case name="generalexpression210" result="pass"/><test-case name="generalexpression211" result="pass"/><test-case name="generalexpression212" result="pass"/><test-case name="generalexpression213" result="pass"/><test-case name="generalexpression214" result="pass"/><test-case name="generalexpression215" result="pass"/><test-case name="generalexpression216" result="pass"/><test-case name="generalexpression217" result="pass"/><test-case name="generalexpression218" result="pass"/><test-case name="generalexpression219" result="pass"/><test-case name="generalexpression220" result="pass"/><test-case name="generalexpression221" result="pass"/><test-case name="generalexpression222" result="pass"/><test-case name="generalexpression223" result="pass"/><test-case name="generalexpression224" result="pass"/><test-case name="generalexpression225" result="pass"/><test-case name="generalexpression226" result="pass"/><test-case name="generalexpression227" result="pass"/><test-case name="generalexpression228" result="pass"/><test-case name="generalexpression229" result="pass"/><test-case name="generalexpression230" result="pass"/><test-case name="generalexpression231" result="pass"/><test-case name="generalexpression232" result="pass"/><test-case name="generalexpression233" result="pass"/><test-case name="generalexpression234" result="pass"/><test-case name="generalexpression235" result="pass"/><test-case name="generalexpression236" result="pass"/><test-case name="generalexpression237" result="pass"/><test-case name="generalexpression238" result="pass"/><test-case name="generalexpression239" result="pass"/><test-case name="generalexpression240" result="pass"/><test-case name="generalexpression241" result="pass"/><test-case name="generalexpression242" result="pass"/><test-case name="generalexpression243" result="pass"/><test-case name="generalexpression244" result="pass"/><test-case name="generalexpression245" result="pass"/><test-case name="generalexpression246" result="pass"/><test-case name="generalexpression247" result="pass"/><test-case name="generalexpression248" result="pass"/><test-case name="generalexpression249" result="pass"/><test-case name="generalexpression250" result="pass"/><test-case name="generalexpression251" result="pass"/><test-case name="generalexpression252" result="pass"/><test-case name="generalexpression253" result="pass"/><test-case name="generalexpression254" result="pass"/><test-case name="generalexpression255" result="pass"/><test-case name="generalexpression256" result="pass"/><test-case name="generalexpression257" result="pass"/><test-case name="generalexpression258" result="pass"/><test-case name="generalexpression259" result="pass"/><test-case name="generalexpression260" result="pass"/><test-case name="generalexpression261" result="pass"/><test-case name="generalexpression262" result="pass"/><test-case name="generalexpression263" result="pass"/><test-case name="generalexpression264" result="pass"/><test-case name="generalexpression265" result="pass"/><test-case name="generalexpression266" result="pass"/><test-case name="generalexpression267" result="pass"/><test-case name="generalexpression268" result="pass"/><test-case name="generalexpression269" result="pass"/><test-case name="generalexpression270" result="pass"/><test-case name="generalexpression271" result="pass"/><test-case name="generalexpression272" result="pass"/><test-case name="generalexpression273" result="pass"/><test-case name="generalexpression274" result="pass"/><test-case name="generalexpression275" result="pass"/><test-case name="generalexpression276" result="pass"/><test-case name="generalexpression277" result="pass"/><test-case name="generalexpression278" result="pass"/><test-case name="generalexpression279" result="pass"/><test-case name="generalexpression280" result="pass"/><test-case name="generalexpression281" result="pass"/><test-case name="generalexpression282" result="pass"/><test-case name="generalexpression283" result="pass"/><test-case name="generalexpression284" result="pass"/><test-case name="generalexpression285" result="pass"/><test-case name="generalexpression286" result="pass"/><test-case name="generalexpression287" result="pass"/><test-case name="generalexpression288" result="pass"/><test-case name="generalexpression289" result="pass"/><test-case name="generalexpression290" result="pass"/><test-case name="generalexpression291" result="pass"/><test-case name="generalexpression292" result="pass"/><test-case name="generalexpression293" result="pass"/><test-case name="generalexpression294" result="pass"/><test-case name="generalexpression295" result="pass"/><test-case name="generalexpression296" result="pass"/><test-case name="generalexpression297" result="pass"/><test-case name="lessthanonanyuri-1" result="pass"/><test-case name="K-GenCompLT-1" result="pass"/><test-case name="K-GenCompLT-2" result="pass"/><test-case name="K-GenCompLT-3" result="pass"/><test-case name="K-GenCompLT-4" result="pass"/><test-case name="K-GenCompLT-5" result="pass"/><test-case name="K-GenCompLT-6" result="pass"/><test-case name="K-GenCompLT-7" result="pass"/><test-case name="K-GenCompLT-8" result="pass"/><test-case name="K-GenCompLT-9" result="pass"/><test-case name="K-GenCompLT-10" result="pass"/><test-case name="K-GenCompLT-11" result="pass"/><test-case name="K-GenCompLT-12" result="pass"/><test-case name="K-GenCompLT-13" result="pass"/><test-case name="K-GenCompLT-14" result="pass"/><test-case name="K-GenCompLT-15" result="pass"/><test-case name="K-GenCompLT-16" result="pass"/><test-case name="K-GenCompLT-17" result="pass"/><test-case name="K-GenCompLT-18" result="pass"/><test-case name="K-GenCompLT-19" result="pass"/><test-case name="K2-GenCompLT-1" result="pass"/><test-case name="K2-GenCompLT-2" result="pass"/><test-case name="K2-GenCompLT-3" result="pass"/><test-case name="K2-GenCompLT-4" result="pass"/><test-case name="K2-GenCompLT-5" result="pass"/><test-case name="K2-GenCompLT-6" result="pass"/><test-case name="K2-GenCompLT-7" result="pass"/><test-case name="K2-GenCompLT-8" result="pass"/><test-case name="generalexpression298" result="pass"/><test-case name="generalexpression299" result="pass"/><test-case name="generalexpression300" result="pass"/><test-case name="generalexpression301" result="pass"/><test-case name="generalexpression302" result="pass"/><test-case name="generalexpression303" result="pass"/><test-case name="generalexpression304" result="pass"/><test-case name="generalexpression305" result="pass"/><test-case name="generalexpression306" result="pass"/><test-case name="generalexpression307" result="pass"/><test-case name="generalexpression308" result="pass"/><test-case name="generalexpression309" result="pass"/><test-case name="generalexpression310" result="pass"/><test-case name="generalexpression311" result="pass"/><test-case name="generalexpression312" result="pass"/><test-case name="generalexpression313" result="pass"/><test-case name="generalexpression314" result="pass"/><test-case name="generalexpression315" result="pass"/><test-case name="generalexpression316" result="pass"/><test-case name="generalexpression317" result="pass"/><test-case name="generalexpression318" result="pass"/><test-case name="generalexpression319" result="pass"/><test-case name="generalexpression320" result="pass"/><test-case name="generalexpression321" result="pass"/><test-case name="generalexpression322" result="pass"/><test-case name="generalexpression323" result="pass"/><test-case name="generalexpression324" result="pass"/><test-case name="generalexpression325" result="pass"/><test-case name="generalexpression326" result="pass"/><test-case name="generalexpression327" result="pass"/><test-case name="generalexpression328" result="pass"/><test-case name="generalexpression329" result="pass"/><test-case name="generalexpression330" result="pass"/><test-case name="generalexpression331" result="pass"/><test-case name="generalexpression332" result="pass"/><test-case name="generalexpression333" result="pass"/><test-case name="generalexpression334" result="pass"/><test-case name="generalexpression335" result="pass"/><test-case name="generalexpression336" result="pass"/><test-case name="generalexpression337" result="pass"/><test-case name="generalexpression338" result="pass"/><test-case name="generalexpression339" result="pass"/><test-case name="generalexpression340" result="pass"/><test-case name="generalexpression341" result="pass"/><test-case name="generalexpression342" result="pass"/><test-case name="generalexpression343" result="pass"/><test-case name="generalexpression344" result="pass"/><test-case name="generalexpression345" result="pass"/><test-case name="generalexpression346" result="pass"/><test-case name="generalexpression347" result="pass"/><test-case name="generalexpression348" result="pass"/><test-case name="generalexpression349" result="pass"/><test-case name="generalexpression350" result="pass"/><test-case name="generalexpression351" result="pass"/><test-case name="generalexpression352" result="pass"/><test-case name="generalexpression353" result="pass"/><test-case name="generalexpression354" result="pass"/><test-case name="generalexpression355" result="pass"/><test-case name="generalexpression356" result="pass"/><test-case name="generalexpression357" result="pass"/><test-case name="generalexpression358" result="pass"/><test-case name="generalexpression359" result="pass"/><test-case name="generalexpression360" result="pass"/><test-case name="generalexpression361" result="pass"/><test-case name="generalexpression362" result="pass"/><test-case name="generalexpression363" result="pass"/><test-case name="generalexpression364" result="pass"/><test-case name="generalexpression365" result="pass"/><test-case name="generalexpression366" result="pass"/><test-case name="generalexpression367" result="pass"/><test-case name="generalexpression368" result="pass"/><test-case name="generalexpression369" result="pass"/><test-case name="generalexpression370" result="pass"/><test-case name="generalexpression371" result="pass"/><test-case name="generalexpression372" result="pass"/><test-case name="generalexpression373" result="pass"/><test-case name="generalexpression374" result="pass"/><test-case name="generalexpression375" result="pass"/><test-case name="generalexpression376" result="pass"/><test-case name="generalexpression377" result="pass"/><test-case name="generalexpression378" result="pass"/><test-case name="generalexpression379" result="pass"/><test-case name="generalexpression380" result="pass"/><test-case name="generalexpression381" result="pass"/><test-case name="generalexpression382" result="pass"/><test-case name="generalexpression383" result="pass"/><test-case name="generalexpression384" result="pass"/><test-case name="generalexpression385" result="pass"/><test-case name="generalexpression386" result="pass"/><test-case name="generalexpression387" result="pass"/><test-case name="generalexpression388" result="pass"/><test-case name="generalexpression389" result="pass"/><test-case name="generalexpression390" result="pass"/><test-case name="generalexpression391" result="pass"/><test-case name="generalexpression392" result="pass"/><test-case name="generalexpression393" result="pass"/><test-case name="generalexpression394" result="pass"/><test-case name="generalexpression395" result="pass"/><test-case name="generalexpression396" result="pass"/><test-case name="lessthaneqonanyuri-1" result="pass"/><test-case name="K-GenCompLTEQ-1" result="pass"/><test-case name="K-GenCompLTEQ-2" result="pass"/><test-case name="K-GenCompLTEQ-3" result="pass"/><test-case name="K-GenCompLTEQ-4" result="pass"/><test-case name="K-GenCompLTEQ-5" result="pass"/><test-case name="K-GenCompLTEQ-6" result="pass"/><test-case name="K-GenCompLTEQ-7" result="pass"/><test-case name="K-GenCompLTEQ-8" result="pass"/><test-case name="generalexpression397" result="pass"/><test-case name="generalexpression398" result="pass"/><test-case name="generalexpression399" result="pass"/><test-case name="generalexpression400" result="pass"/><test-case name="generalexpression401" result="pass"/><test-case name="generalexpression402" result="pass"/><test-case name="generalexpression403" result="pass"/><test-case name="generalexpression404" result="pass"/><test-case name="generalexpression405" result="pass"/><test-case name="generalexpression406" result="pass"/><test-case name="generalexpression407" result="pass"/><test-case name="generalexpression408" result="pass"/><test-case name="generalexpression409" result="pass"/><test-case name="generalexpression410" result="pass"/><test-case name="generalexpression411" result="pass"/><test-case name="generalexpression412" result="pass"/><test-case name="generalexpression413" result="pass"/><test-case name="generalexpression414" result="pass"/><test-case name="generalexpression415" result="pass"/><test-case name="generalexpression416" result="pass"/><test-case name="generalexpression417" result="pass"/><test-case name="generalexpression418" result="pass"/><test-case name="generalexpression419" result="pass"/><test-case name="generalexpression420" result="pass"/><test-case name="generalexpression421" result="pass"/><test-case name="generalexpression422" result="pass"/><test-case name="generalexpression423" result="pass"/><test-case name="generalexpression424" result="pass"/><test-case name="generalexpression425" result="pass"/><test-case name="generalexpression426" result="pass"/><test-case name="generalexpression427" result="pass"/><test-case name="generalexpression428" result="pass"/><test-case name="generalexpression429" result="pass"/><test-case name="generalexpression430" result="pass"/><test-case name="generalexpression431" result="pass"/><test-case name="generalexpression432" result="pass"/><test-case name="generalexpression433" result="pass"/><test-case name="generalexpression434" result="pass"/><test-case name="generalexpression435" result="pass"/><test-case name="generalexpression436" result="pass"/><test-case name="generalexpression437" result="pass"/><test-case name="generalexpression438" result="pass"/><test-case name="generalexpression439" result="pass"/><test-case name="generalexpression440" result="pass"/><test-case name="generalexpression441" result="pass"/><test-case name="generalexpression442" result="pass"/><test-case name="generalexpression443" result="pass"/><test-case name="generalexpression444" result="pass"/><test-case name="generalexpression445" result="pass"/><test-case name="generalexpression446" result="pass"/><test-case name="generalexpression447" result="pass"/><test-case name="generalexpression448" result="pass"/><test-case name="generalexpression449" result="pass"/><test-case name="generalexpression450" result="pass"/><test-case name="generalexpression451" result="pass"/><test-case name="generalexpression452" result="pass"/><test-case name="generalexpression453" result="pass"/><test-case name="generalexpression454" result="pass"/><test-case name="generalexpression455" result="pass"/><test-case name="generalexpression456" result="pass"/><test-case name="generalexpression457" result="pass"/><test-case name="generalexpression458" result="pass"/><test-case name="generalexpression459" result="pass"/><test-case name="generalexpression460" result="pass"/><test-case name="generalexpression461" result="pass"/><test-case name="generalexpression462" result="pass"/><test-case name="generalexpression463" result="pass"/><test-case name="generalexpression464" result="pass"/><test-case name="generalexpression465" result="pass"/><test-case name="generalexpression466" result="pass"/><test-case name="generalexpression467" result="pass"/><test-case name="generalexpression468" result="pass"/><test-case name="generalexpression469" result="pass"/><test-case name="generalexpression470" result="pass"/><test-case name="generalexpression471" result="pass"/><test-case name="generalexpression472" result="pass"/><test-case name="generalexpression473" result="pass"/><test-case name="generalexpression474" result="pass"/><test-case name="generalexpression475" result="pass"/><test-case name="generalexpression476" result="pass"/><test-case name="generalexpression477" result="pass"/><test-case name="generalexpression478" result="pass"/><test-case name="generalexpression479" result="pass"/><test-case name="generalexpression480" result="pass"/><test-case name="generalexpression481" result="pass"/><test-case name="generalexpression482" result="pass"/><test-case name="generalexpression483" result="pass"/><test-case name="generalexpression484" result="pass"/><test-case name="generalexpression485" result="pass"/><test-case name="generalexpression486" result="pass"/><test-case name="generalexpression487" result="pass"/><test-case name="generalexpression488" result="pass"/><test-case name="generalexpression489" result="pass"/><test-case name="generalexpression490" result="pass"/><test-case name="generalexpression491" result="pass"/><test-case name="generalexpression492" result="pass"/><test-case name="generalexpression493" result="pass"/><test-case name="generalexpression494" result="pass"/><test-case name="greaterthanonanyuri-1" result="pass"/><test-case name="K-GenCompGT-1" result="pass"/><test-case name="K-GenCompGT-2" result="pass"/><test-case name="K-GenCompGT-3" result="pass"/><test-case name="K-GenCompGT-4" result="pass"/><test-case name="K-GenCompGT-5" result="pass"/><test-case name="K-GenCompGT-6" result="pass"/><test-case name="K-GenCompGT-7" result="pass"/><test-case name="K-GenCompGT-8" result="pass"/><test-case name="K-GenCompGT-9" result="pass"/><test-case name="K-GenCompGT-10" result="pass"/><test-case name="K-GenCompGT-11" result="pass"/><test-case name="K-GenCompGT-12" result="pass"/><test-case name="K-GenCompGT-13" result="pass"/><test-case name="K-GenCompGT-14" result="pass"/><test-case name="K-GenCompGT-15" result="pass"/><test-case name="K-GenCompGT-16" result="pass"/><test-case name="K-GenCompGT-17" result="pass"/><test-case name="K-GenCompGT-18" result="pass"/><test-case name="K-GenCompGT-19" result="pass"/><test-case name="generalexpression496" result="pass"/><test-case name="generalexpression497" result="pass"/><test-case name="generalexpression498" result="pass"/><test-case name="generalexpression499" result="pass"/><test-case name="generalexpression500" result="pass"/><test-case name="generalexpression501" result="pass"/><test-case name="generalexpression502" result="pass"/><test-case name="generalexpression503" result="pass"/><test-case name="generalexpression504" result="pass"/><test-case name="generalexpression505" result="pass"/><test-case name="generalexpression506" result="pass"/><test-case name="generalexpression507" result="pass"/><test-case name="generalexpression508" result="pass"/><test-case name="generalexpression509" result="pass"/><test-case name="generalexpression510" result="pass"/><test-case name="generalexpression511" result="pass"/><test-case name="generalexpression512" result="pass"/><test-case name="generalexpression513" result="pass"/><test-case name="generalexpression514" result="pass"/><test-case name="generalexpression515" result="pass"/><test-case name="generalexpression516" result="pass"/><test-case name="generalexpression517" result="pass"/><test-case name="generalexpression518" result="pass"/><test-case name="generalexpression519" result="pass"/><test-case name="generalexpression520" result="pass"/><test-case name="generalexpression521" result="pass"/><test-case name="generalexpression522" result="pass"/><test-case name="generalexpression523" result="pass"/><test-case name="generalexpression524" result="pass"/><test-case name="generalexpression525" result="pass"/><test-case name="generalexpression526" result="pass"/><test-case name="generalexpression527" result="pass"/><test-case name="generalexpression528" result="pass"/><test-case name="generalexpression529" result="pass"/><test-case name="generalexpression530" result="pass"/><test-case name="generalexpression531" result="pass"/><test-case name="generalexpression532" result="pass"/><test-case name="generalexpression533" result="pass"/><test-case name="generalexpression534" result="pass"/><test-case name="generalexpression535" result="pass"/><test-case name="generalexpression536" result="pass"/><test-case name="generalexpression537" result="pass"/><test-case name="generalexpression538" result="pass"/><test-case name="generalexpression539" result="pass"/><test-case name="generalexpression540" result="pass"/><test-case name="generalexpression541" result="pass"/><test-case name="generalexpression542" result="pass"/><test-case name="generalexpression543" result="pass"/><test-case name="generalexpression544" result="pass"/><test-case name="generalexpression545" result="pass"/><test-case name="generalexpression546" result="pass"/><test-case name="generalexpression547" result="pass"/><test-case name="generalexpression548" result="pass"/><test-case name="generalexpression549" result="pass"/><test-case name="generalexpression550" result="pass"/><test-case name="generalexpression551" result="pass"/><test-case name="generalexpression552" result="pass"/><test-case name="generalexpression553" result="pass"/><test-case name="generalexpression554" result="pass"/><test-case name="generalexpression555" result="pass"/><test-case name="generalexpression556" result="pass"/><test-case name="generalexpression557" result="pass"/><test-case name="generalexpression558" result="pass"/><test-case name="generalexpression559" result="pass"/><test-case name="generalexpression560" result="pass"/><test-case name="generalexpression561" result="pass"/><test-case name="generalexpression562" result="pass"/><test-case name="generalexpression563" result="pass"/><test-case name="generalexpression564" result="pass"/><test-case name="generalexpression565" result="pass"/><test-case name="generalexpression566" result="pass"/><test-case name="generalexpression567" result="pass"/><test-case name="generalexpression568" result="pass"/><test-case name="generalexpression569" result="pass"/><test-case name="generalexpression570" result="pass"/><test-case name="generalexpression571" result="pass"/><test-case name="generalexpression572" result="pass"/><test-case name="generalexpression573" result="pass"/><test-case name="generalexpression574" result="pass"/><test-case name="generalexpression575" result="pass"/><test-case name="generalexpression576" result="pass"/><test-case name="generalexpression577" result="pass"/><test-case name="generalexpression578" result="pass"/><test-case name="generalexpression579" result="pass"/><test-case name="generalexpression580" result="pass"/><test-case name="generalexpression581" result="pass"/><test-case name="generalexpression582" result="pass"/><test-case name="generalexpression583" result="pass"/><test-case name="generalexpression584" result="pass"/><test-case name="generalexpression585" result="pass"/><test-case name="generalexpression586" result="pass"/><test-case name="generalexpression587" result="pass"/><test-case name="generalexpression588" result="pass"/><test-case name="generalexpression589" result="pass"/><test-case name="generalexpression590" result="pass"/><test-case name="generalexpression591" result="pass"/><test-case name="generalexpression592" result="pass"/><test-case name="generalexpression593" result="pass"/><test-case name="generalexpression594" result="pass"/><test-case name="greaterthaneqonanyuri-1" result="pass"/><test-case name="K-GenCompGTEQ-1" result="pass"/><test-case name="K-GenCompGTEQ-2" result="pass"/><test-case name="K-GenCompGTEQ-3" result="pass"/><test-case name="K-GenCompGTEQ-4" result="pass"/><test-case name="K-GenCompGTEQ-5" result="pass"/><test-case name="K-GenCompGTEQ-6" result="pass"/><test-case name="K-GenCompGTEQ-7" result="pass"/><test-case name="K-GenCompGTEQ-8" result="pass"/><test-case name="K-GenCompGTEQ-9" result="pass"/><test-case name="K-GenCompGTEQ-10" result="pass"/><test-case name="nodeexpression1" result="pass"/><test-case name="nodeexpression2" result="pass"/><test-case name="nodeexpression3" result="pass"/><test-case name="nodeexpression4" result="pass"/><test-case name="nodeexpression5" result="pass"/><test-case name="nodeexpression6" result="pass"/><test-case name="nodeexpression7" result="pass"/><test-case name="nodeexpression8" result="pass"/><test-case name="nodeexpression9" result="pass"/><test-case name="nodeexpression10" result="pass"/><test-case name="nodeexpression11" result="pass"/><test-case name="nodeexpression12" result="pass"/><test-case name="nodeexpression13" result="pass"/><test-case name="nodeexpression14" result="pass"/><test-case name="nodeexpression15" result="pass"/><test-case name="nodeexpression16" result="pass"/><test-case name="nodeexpressionhc1" result="pass"/><test-case name="nodeexpressionhc2" result="pass"/><test-case name="nodeexpressionhc3" result="pass"/><test-case name="nodeexpressionhc4" result="pass"/><test-case name="nodeexpressionhc5" result="pass"/><test-case name="nodecomparisonerr-1" result="pass"/><test-case name="K-NodeSame-1" result="pass"/><test-case name="K-NodeSame-2" result="pass"/><test-case name="K-NodeSame-3" result="pass"/><test-case name="K-NodeSame-4" result="pass"/><test-case name="K-NodeSame-5" result="pass"/><test-case name="K-NodeSame-6" result="pass"/><test-case name="K2-NodeSame-1" result="pass"/><test-case name="K2-NodeSame-2" result="pass"/><test-case name="K2-NodeSame-3" result="pass"/><test-case name="K2-NodeSame-4" result="pass"/><test-case name="K2-NodeSame-5" result="pass"/><test-case name="K2-NodeSame-6" result="pass"/><test-case name="nodeexpression17" result="pass"/><test-case name="nodeexpression18" result="pass"/><test-case name="nodeexpression19" result="pass"/><test-case name="nodeexpression20" result="pass"/><test-case name="nodeexpression21" result="pass"/><test-case name="nodeexpression22" result="pass"/><test-case name="nodeexpression23" result="pass"/><test-case name="nodeexpression24" result="pass"/><test-case name="nodeexpression25" result="pass"/><test-case name="nodeexpression26" result="pass"/><test-case name="nodeexpression27" result="pass"/><test-case name="nodeexpression28" result="pass"/><test-case name="nodeexpression29" result="pass"/><test-case name="nodeexpression30" result="pass"/><test-case name="nodeexpression31" result="fail"/><test-case name="nodeexpression32" result="pass"/><test-case name="nodeexpressionhc6" result="pass"/><test-case name="nodeexpressionhc7" result="pass"/><test-case name="nodeexpressionhc8" result="pass"/><test-case name="nodeexpressionhc9" result="pass"/><test-case name="nodeexpressionhc10" result="pass"/><test-case name="nodecomparisonerr-2" result="pass"/><test-case name="K-NodeBefore-1" result="pass"/><test-case name="K-NodeBefore-2" result="pass"/><test-case name="K-NodeBefore-3" result="pass"/><test-case name="K-NodeBefore-4" result="pass"/><test-case name="K-NodeBefore-5" result="pass"/><test-case name="K-NodeBefore-6" result="pass"/><test-case name="K-NodeBefore-7" result="pass"/><test-case name="K-NodeBefore-8" result="pass"/><test-case name="K-NodeBefore-9" result="pass"/><test-case name="K-NodeBefore-10" result="pass"/><test-case name="K-NodeBefore-11" result="pass"/><test-case name="nodeexpression33" result="pass"/><test-case name="nodeexpression34" result="pass"/><test-case name="nodeexpression35" result="pass"/><test-case name="nodeexpression36" result="pass"/><test-case name="nodeexpression37" result="pass"/><test-case name="nodeexpression38" result="pass"/><test-case name="nodeexpression39" result="pass"/><test-case name="nodeexpression40" result="pass"/><test-case name="nodeexpression41" result="pass"/><test-case name="nodeexpression42" result="pass"/><test-case name="nodeexpression43" result="pass"/><test-case name="nodeexpression44" result="pass"/><test-case name="nodeexpression45" result="pass"/><test-case name="nodeexpression46" result="pass"/><test-case name="nodeexpression47" result="fail"/><test-case name="nodeexpression48" result="pass"/><test-case name="nodeexpressionhc11" result="pass"/><test-case name="nodeexpressionhc12" result="pass"/><test-case name="nodeexpressionhc13" result="pass"/><test-case name="nodeexpressionhc14" result="pass"/><test-case name="nodeexpressionhc15" result="pass"/><test-case name="nodecomparisonerr-3" result="pass"/><test-case name="K-NodeAfter-1" result="pass"/><test-case name="K-NodeAfter-2" result="pass"/><test-case name="K-NodeAfter-3" result="pass"/><test-case name="K-NodeAfter-4" result="pass"/><test-case name="K-NodeAfter-5" result="pass"/><test-case name="K-NodeAfter-6" result="pass"/><test-case name="K-NodeAfter-7" result="pass"/><test-case name="K-NodeAfter-8" result="pass"/><test-case name="K-NodeAfter-9" result="pass"/><test-case name="K-NodeAfter-10" result="pass"/><test-case name="K-NodeAfter-11" result="pass"/><test-case name="fn-union-node-args-001" result="pass"/><test-case name="fn-union-node-args-002" result="pass"/><test-case name="fn-union-node-args-003" result="pass"/><test-case name="fn-union-node-args-004" result="pass"/><test-case name="fn-union-node-args-005" result="pass"/><test-case name="fn-union-node-args-006" result="pass"/><test-case name="fn-union-node-args-007" result="pass"/><test-case name="fn-union-node-args-008" result="pass"/><test-case name="fn-union-node-args-009" result="pass"/><test-case name="fn-union-node-args-010" result="pass"/><test-case name="fn-union-node-args-011" result="pass"/><test-case name="fn-union-node-args-012" result="pass"/><test-case name="fn-union-node-args-013" result="pass"/><test-case name="fn-union-node-args-014" result="pass"/><test-case name="fn-union-node-args-015" result="pass"/><test-case name="fn-union-node-args-016" result="pass"/><test-case name="fn-union-node-args-017" result="pass"/><test-case name="fn-union-node-args-018" result="pass"/><test-case name="fn-union-node-args-019" result="pass"/><test-case name="fn-union-node-args-020" result="pass"/><test-case name="fn-union-node-args-021" result="pass"/><test-case name="fn-union-node-args-022" result="pass"/><test-case name="fn-union-node-args-023" result="pass"/><test-case name="K2-SeqUnion-1" result="pass"/><test-case name="K2-SeqUnion-2" result="pass"/><test-case name="K2-SeqUnion-3" result="pass"/><test-case name="K2-SeqUnion-4" result="pass"/><test-case name="K2-SeqUnion-5" result="pass"/><test-case name="K2-SeqUnion-6" result="pass"/><test-case name="K2-SeqUnion-7" result="pass"/><test-case name="K2-SeqUnion-8" result="pass"/><test-case name="K2-SeqUnion-9" result="pass"/><test-case name="K2-SeqUnion-10" result="pass"/><test-case name="K2-SeqUnion-11" result="pass"/><test-case name="K2-SeqUnion-12" result="pass"/><test-case name="K2-SeqUnion-13" result="pass"/><test-case name="K2-SeqUnion-14" result="pass"/><test-case name="K2-SeqUnion-15" result="pass"/><test-case name="K2-SeqUnion-16" result="pass"/><test-case name="K2-SeqUnion-17" result="pass"/><test-case name="K2-SeqUnion-18" result="pass"/><test-case name="K2-SeqUnion-19" result="pass"/><test-case name="K2-SeqUnion-20" result="pass"/><test-case name="K2-SeqUnion-21" result="pass"/><test-case name="K2-SeqUnion-22" result="pass"/><test-case name="K2-SeqUnion-23" result="pass"/><test-case name="K2-SeqUnion-24" result="pass"/><test-case name="K2-SeqUnion-25" result="pass"/><test-case name="K2-SeqUnion-26" result="pass"/><test-case name="K2-SeqUnion-27" result="pass"/><test-case name="K2-SeqUnion-28" result="pass"/><test-case name="K2-SeqUnion-29" result="pass"/><test-case name="K2-SeqUnion-30" result="pass"/><test-case name="K2-SeqUnion-31" result="pass"/><test-case name="K2-SeqUnion-32" result="pass"/><test-case name="K2-SeqUnion-33" result="pass"/><test-case name="K2-SeqUnion-34" result="pass"/><test-case name="K2-SeqUnion-35" result="pass"/><test-case name="K2-SeqUnion-36" result="pass"/><test-case name="K2-SeqUnion-37" result="pass"/><test-case name="K2-SeqUnion-38" result="pass"/><test-case name="K2-SeqUnion-39" result="pass"/><test-case name="K2-SeqUnion-40" result="pass"/><test-case name="K2-SeqUnion-41" result="pass"/><test-case name="K2-SeqUnion-42" result="pass"/><test-case name="K2-SeqUnion-43" result="pass"/><test-case name="K2-SeqUnion-44" result="pass"/><test-case name="K2-SeqUnion-45" result="pass"/><test-case name="fn-intersect-node-args-001" result="pass"/><test-case name="fn-intersect-node-args-002" result="pass"/><test-case name="fn-intersect-node-args-003" result="pass"/><test-case name="fn-intersect-node-args-004" result="pass"/><test-case name="fn-intersect-node-args-005" result="pass"/><test-case name="fn-intersect-node-args-006" result="pass"/><test-case name="fn-intersect-node-args-007" result="pass"/><test-case name="fn-intersect-node-args-008" result="pass"/><test-case name="fn-intersect-node-args-009" result="pass"/><test-case name="fn-intersect-node-args-010" result="pass"/><test-case name="fn-intersect-node-args-011" result="pass"/><test-case name="fn-intersect-node-args-012" result="pass"/><test-case name="fn-intersect-node-args-013" result="pass"/><test-case name="fn-intersect-node-args-014" result="pass"/><test-case name="fn-intersect-node-args-015" result="pass"/><test-case name="fn-intersect-node-args-016" result="pass"/><test-case name="fn-intersect-node-args-017" result="pass"/><test-case name="fn-intersect-node-args-018" result="pass"/><test-case name="fn-intersect-node-args-019" result="pass"/><test-case name="fn-intersect-node-args-020" result="pass"/><test-case name="fn-intersect-node-args-021" result="pass"/><test-case name="fn-intersect-node-args-022" result="pass"/><test-case name="fn-intersect-node-args-023" result="pass"/><test-case name="K2-SeqIntersect-1" result="pass"/><test-case name="K2-SeqIntersect-2" result="pass"/><test-case name="K2-SeqIntersect-3" result="pass"/><test-case name="K2-SeqIntersect-4" result="pass"/><test-case name="K2-SeqIntersect-5" result="pass"/><test-case name="K2-SeqIntersect-6" result="pass"/><test-case name="K2-SeqIntersect-7" result="pass"/><test-case name="K2-SeqIntersect-8" result="pass"/><test-case name="K2-SeqIntersect-9" result="pass"/><test-case name="K2-SeqIntersect-10" result="pass"/><test-case name="K2-SeqIntersect-11" result="pass"/><test-case name="K2-SeqIntersect-12" result="pass"/><test-case name="K2-SeqIntersect-13" result="pass"/><test-case name="K2-SeqIntersect-14" result="pass"/><test-case name="K2-SeqIntersect-15" result="pass"/><test-case name="K2-SeqIntersect-16" result="pass"/><test-case name="K2-SeqIntersect-17" result="pass"/><test-case name="K2-SeqIntersect-18" result="pass"/><test-case name="K2-SeqIntersect-19" result="pass"/><test-case name="K2-SeqIntersect-20" result="pass"/><test-case name="K2-SeqIntersect-21" result="pass"/><test-case name="K2-SeqIntersect-22" result="pass"/><test-case name="K2-SeqIntersect-23" result="pass"/><test-case name="K2-SeqIntersect-24" result="pass"/><test-case name="K2-SeqIntersect-25" result="pass"/><test-case name="K2-SeqIntersect-26" result="pass"/><test-case name="K2-SeqIntersect-27" result="pass"/><test-case name="K2-SeqIntersect-28" result="pass"/><test-case name="K2-SeqIntersect-29" result="pass"/><test-case name="K2-SeqIntersect-30" result="pass"/><test-case name="K2-SeqIntersect-31" result="pass"/><test-case name="K2-SeqIntersect-32" result="pass"/><test-case name="K2-SeqIntersect-33" result="pass"/><test-case name="K2-SeqIntersect-34" result="pass"/><test-case name="K2-SeqIntersect-35" result="pass"/><test-case name="K2-SeqIntersect-36" result="pass"/><test-case name="K2-SeqIntersect-37" result="pass"/><test-case name="K2-SeqIntersect-38" result="pass"/><test-case name="K2-SeqIntersect-39" result="pass"/><test-case name="K2-SeqIntersect-40" result="pass"/><test-case name="K2-SeqIntersect-41" result="pass"/><test-case name="K2-SeqIntersect-42" result="pass"/><test-case name="fn-except-node-args-001" result="pass"/><test-case name="fn-except-node-args-002" result="pass"/><test-case name="fn-except-node-args-003" result="pass"/><test-case name="fn-except-node-args-004" result="pass"/><test-case name="fn-except-node-args-005" result="pass"/><test-case name="fn-except-node-args-006" result="pass"/><test-case name="fn-except-node-args-007" result="pass"/><test-case name="fn-except-node-args-008" result="pass"/><test-case name="fn-except-node-args-009" result="pass"/><test-case name="fn-except-node-args-010" result="pass"/><test-case name="fn-except-node-args-011" result="pass"/><test-case name="fn-except-node-args-012" result="pass"/><test-case name="fn-except-node-args-013" result="pass"/><test-case name="fn-except-node-args-014" result="pass"/><test-case name="fn-except-node-args-015" result="pass"/><test-case name="fn-except-node-args-016" result="pass"/><test-case name="fn-except-node-args-017" result="pass"/><test-case name="fn-except-node-args-018" result="pass"/><test-case name="fn-except-node-args-019" result="pass"/><test-case name="fn-except-node-args-020" result="pass"/><test-case name="fn-except-node-args-021" result="pass"/><test-case name="fn-except-node-args-022" result="pass"/><test-case name="fn-except-node-args-023" result="pass"/><test-case name="K2-SeqExcept-1" result="pass"/><test-case name="K2-SeqExcept-2" result="pass"/><test-case name="K2-SeqExcept-3" result="pass"/><test-case name="K2-SeqExcept-4" result="pass"/><test-case name="K2-SeqExcept-5" result="pass"/><test-case name="K2-SeqExcept-6" result="pass"/><test-case name="K2-SeqExcept-7" result="pass"/><test-case name="K2-SeqExcept-8" result="pass"/><test-case name="K2-SeqExcept-9" result="pass"/><test-case name="K2-SeqExcept-10" result="pass"/><test-case name="K2-SeqExcept-11" result="pass"/><test-case name="K2-SeqExcept-12" result="pass"/><test-case name="K2-SeqExcept-13" result="pass"/><test-case name="K2-SeqExcept-14" result="pass"/><test-case name="K2-SeqExcept-15" result="pass"/><test-case name="K2-SeqExcept-16" result="pass"/><test-case name="K2-SeqExcept-17" result="pass"/><test-case name="K2-SeqExcept-18" result="pass"/><test-case name="K2-SeqExcept-19" result="pass"/><test-case name="K2-SeqExcept-20" result="pass"/><test-case name="K2-SeqExcept-21" result="pass"/><test-case name="K2-SeqExcept-22" result="pass"/><test-case name="K2-SeqExcept-23" result="pass"/><test-case name="K2-SeqExcept-24" result="pass"/><test-case name="K2-SeqExcept-25" result="pass"/><test-case name="K2-SeqExcept-26" result="pass"/><test-case name="K2-SeqExcept-27" result="pass"/><test-case name="K2-SeqExcept-28" result="pass"/><test-case name="K2-SeqExcept-29" result="pass"/><test-case name="K2-SeqExcept-30" result="pass"/><test-case name="K2-SeqExcept-31" result="pass"/><test-case name="K2-SeqExcept-32" result="pass"/><test-case name="K2-SeqExcept-33" result="pass"/><test-case name="K2-SeqExcept-34" result="pass"/><test-case name="K2-SeqExcept-35" result="pass"/><test-case name="K2-SeqExcept-36" result="pass"/><test-case name="K2-SeqExcept-37" result="pass"/><test-case name="K2-SeqExcept-38" result="pass"/><test-case name="K2-SeqExcept-39" result="pass"/><test-case name="K2-SeqExcept-40" result="pass"/><test-case name="K2-SeqExcept-41" result="pass"/><test-case name="K2-SeqExcept-42" result="pass"/><test-case name="op-logical-and-001" result="pass"/><test-case name="op-logical-and-002" result="pass"/><test-case name="op-logical-and-003" result="pass"/><test-case name="op-logical-and-004" result="pass"/><test-case name="op-logical-and-005" result="pass"/><test-case name="op-logical-and-006" result="pass"/><test-case name="op-logical-and-007" result="pass"/><test-case name="op-logical-and-008" result="pass"/><test-case name="op-logical-and-009" result="pass"/><test-case name="op-logical-and-010" result="pass"/><test-case name="op-logical-and-011" result="pass"/><test-case name="op-logical-and-012" result="pass"/><test-case name="op-logical-and-013" result="pass"/><test-case name="op-logical-and-014" result="pass"/><test-case name="op-logical-and-015" result="pass"/><test-case name="op-logical-and-016" result="pass"/><test-case name="op-logical-and-017" result="pass"/><test-case name="op-logical-and-018" result="pass"/><test-case name="op-logical-and-019" result="pass"/><test-case name="op-logical-and-020" result="pass"/><test-case name="op-logical-and-021" result="pass"/><test-case name="op-logical-and-022" result="pass"/><test-case name="op-logical-and-023" result="pass"/><test-case name="op-logical-and-024" result="pass"/><test-case name="op-logical-and-025" result="pass"/><test-case name="op-logical-and-026" result="pass"/><test-case name="op-logical-and-027" result="pass"/><test-case name="op-logical-and-028" result="pass"/><test-case name="op-logical-and-029" result="pass"/><test-case name="op-logical-and-030" result="pass"/><test-case name="op-logical-and-031" result="pass"/><test-case name="op-logical-and-032" result="pass"/><test-case name="op-logical-and-033" result="pass"/><test-case name="op-logical-and-034" result="pass"/><test-case name="op-logical-and-035" result="pass"/><test-case name="op-logical-and-036" result="pass"/><test-case name="op-logical-and-037" result="pass"/><test-case name="op-logical-and-038" result="pass"/><test-case name="op-logical-and-039" result="pass"/><test-case name="op-logical-and-040" result="pass"/><test-case name="op-logical-and-041" result="pass"/><test-case name="op-logical-and-042" result="pass"/><test-case name="op-logical-and-043" result="pass"/><test-case name="op-logical-and-044" result="pass"/><test-case name="op-logical-and-045" result="pass"/><test-case name="op-logical-and-046" result="pass"/><test-case name="op-logical-and-047" result="pass"/><test-case name="op-logical-and-048" result="pass"/><test-case name="op-logical-and-049" result="pass"/><test-case name="op-logical-and-050" result="pass"/><test-case name="op-logical-and-051" result="pass"/><test-case name="op-logical-and-052" result="pass"/><test-case name="op-logical-and-053" result="pass"/><test-case name="op-logical-and-054" result="pass"/><test-case name="op-logical-and-055" result="pass"/><test-case name="op-logical-and-056" result="pass"/><test-case name="op-logical-and-057" result="pass"/><test-case name="op-logical-and-058" result="pass"/><test-case name="op-logical-and-059" result="pass"/><test-case name="op-logical-and-060" result="pass"/><test-case name="op-logical-and-061" result="pass"/><test-case name="op-logical-and-062" result="pass"/><test-case name="op-logical-and-063" result="pass"/><test-case name="op-logical-and-064" result="pass"/><test-case name="op-logical-and-065" result="pass"/><test-case name="op-logical-and-066" result="pass"/><test-case name="op-logical-and-067" result="pass"/><test-case name="op-logical-and-068" result="pass"/><test-case name="op-logical-and-069" result="pass"/><test-case name="op-logical-and-070" result="pass"/><test-case name="op-logical-and-071" result="pass"/><test-case name="op-logical-and-072" result="pass"/><test-case name="op-logical-and-073" result="pass"/><test-case name="op-logical-and-074" result="pass"/><test-case name="op-logical-and-075" result="pass"/><test-case name="op-logical-and-076" result="pass"/><test-case name="op-logical-and-077" result="pass"/><test-case name="op-logical-and-078" result="pass"/><test-case name="op-logical-and-079" result="pass"/><test-case name="op-logical-and-080" result="pass"/><test-case name="op-logical-and-081" result="pass"/><test-case name="op-logical-and-082" result="pass"/><test-case name="op-logical-and-083" result="pass"/><test-case name="op-logical-and-084" result="pass"/><test-case name="op-logical-and-085" result="pass"/><test-case name="op-logical-and-086" result="pass"/><test-case name="op-logical-and-087" result="pass"/><test-case name="op-logical-and-088" result="pass"/><test-case name="op-logical-and-089" result="pass"/><test-case name="op-logical-and-090" result="pass"/><test-case name="op-logical-and-091" result="pass"/><test-case name="op-logical-and-092" result="pass"/><test-case name="op-logical-and-093" result="pass"/><test-case name="op-logical-and-094" result="pass"/><test-case name="op-logical-and-095" result="pass"/><test-case name="op-logical-and-096" result="pass"/><test-case name="op-logical-and-097" result="pass"/><test-case name="op-logical-and-098" result="pass"/><test-case name="op-logical-and-099" result="pass"/><test-case name="op-logical-and-100" result="pass"/><test-case name="op-logical-and-101" result="pass"/><test-case name="op-logical-and-102" result="pass"/><test-case name="op-logical-and-103" result="pass"/><test-case name="op-logical-and-104" result="pass"/><test-case name="op-logical-and-105" result="pass"/><test-case name="op-logical-and-106" result="pass"/><test-case name="op-logical-and-107" result="pass"/><test-case name="op-logical-and-108" result="pass"/><test-case name="op-logical-and-109" result="pass"/><test-case name="op-logical-and-110" result="pass"/><test-case name="op-logical-and-111" result="pass"/><test-case name="op-logical-and-112" result="pass"/><test-case name="op-logical-and-113" result="pass"/><test-case name="op-logical-and-114" result="pass"/><test-case name="op-logical-and-115" result="pass"/><test-case name="op-logical-and-116" result="pass"/><test-case name="op-logical-and-117" result="pass"/><test-case name="op-logical-and-118" result="pass"/><test-case name="op-logical-and-119" result="pass"/><test-case name="op-logical-and-120" result="pass"/><test-case name="op-logical-and-121" result="pass"/><test-case name="op-logical-and-122" result="pass"/><test-case name="op-logical-and-123" result="pass"/><test-case name="op-logical-and-124" result="pass"/><test-case name="op-logical-and-125" result="pass"/><test-case name="op-logical-and-126" result="pass"/><test-case name="op-logical-and-127" result="pass"/><test-case name="op-logical-and-128" result="pass"/><test-case name="op-logical-and-129" result="pass"/><test-case name="op-logical-and-130" result="pass"/><test-case name="op-logical-and-131" result="pass"/><test-case name="op-logical-and-132" result="pass"/><test-case name="op-logical-and-133" result="pass"/><test-case name="op-logical-and-134" result="pass"/><test-case name="op-logical-and-135" result="pass"/><test-case name="op-logical-and-136" result="pass"/><test-case name="op-logical-and-137" result="pass"/><test-case name="op-logical-and-138" result="pass"/><test-case name="op-logical-and-139" result="pass"/><test-case name="op-logical-and-140" result="pass"/><test-case name="op-logical-and-141" result="pass"/><test-case name="op-logical-and-142" result="pass"/><test-case name="op-logical-and-143" result="pass"/><test-case name="op-logical-and-144" result="pass"/><test-case name="op-logical-and-145" result="pass"/><test-case name="op-logical-and-146" result="pass"/><test-case name="op-logical-and-147" result="pass"/><test-case name="op-logical-and-148" result="pass"/><test-case name="op-logical-and-149" result="pass"/><test-case name="op-logical-and-150" result="pass"/><test-case name="op-logical-and-151" result="pass"/><test-case name="op-logical-and-152" result="pass"/><test-case name="op-logical-and-153" result="pass"/><test-case name="op-logical-and-154" result="pass"/><test-case name="op-logical-and-155" result="pass"/><test-case name="op-logical-and-156" result="pass"/><test-case name="op-logical-and-157" result="pass"/><test-case name="op-logical-and-158" result="pass"/><test-case name="op-logical-and-159" result="pass"/><test-case name="op-logical-or-001" result="pass"/><test-case name="op-logical-or-002" result="pass"/><test-case name="op-logical-or-003" result="pass"/><test-case name="op-logical-or-004" result="pass"/><test-case name="op-logical-or-005" result="pass"/><test-case name="op-logical-or-006" result="pass"/><test-case name="op-logical-or-007" result="pass"/><test-case name="op-logical-or-008" result="pass"/><test-case name="op-logical-or-009" result="pass"/><test-case name="op-logical-or-010" result="pass"/><test-case name="op-logical-or-011" result="pass"/><test-case name="op-logical-or-012" result="pass"/><test-case name="op-logical-or-013" result="pass"/><test-case name="op-logical-or-014" result="pass"/><test-case name="op-logical-or-015" result="pass"/><test-case name="op-logical-or-016" result="pass"/><test-case name="op-logical-or-017" result="pass"/><test-case name="op-logical-or-018" result="pass"/><test-case name="op-logical-or-019" result="pass"/><test-case name="op-logical-or-020" result="pass"/><test-case name="op-logical-or-021" result="pass"/><test-case name="op-logical-or-022" result="pass"/><test-case name="op-logical-or-023" result="pass"/><test-case name="op-logical-or-024" result="pass"/><test-case name="op-logical-or-025" result="pass"/><test-case name="op-logical-or-026" result="pass"/><test-case name="op-logical-or-027" result="pass"/><test-case name="op-logical-or-028" result="pass"/><test-case name="op-logical-or-029" result="pass"/><test-case name="op-logical-or-030" result="pass"/><test-case name="op-logical-or-031" result="pass"/><test-case name="op-logical-or-032" result="pass"/><test-case name="op-logical-or-033" result="pass"/><test-case name="op-logical-or-034" result="pass"/><test-case name="op-logical-or-035" result="pass"/><test-case name="op-logical-or-036" result="pass"/><test-case name="op-logical-or-037" result="pass"/><test-case name="op-logical-or-038" result="pass"/><test-case name="op-logical-or-039" result="pass"/><test-case name="op-logical-or-040" result="pass"/><test-case name="op-logical-or-041" result="pass"/><test-case name="op-logical-or-042" result="pass"/><test-case name="op-logical-or-043" result="pass"/><test-case name="op-logical-or-044" result="pass"/><test-case name="op-logical-or-045" result="pass"/><test-case name="op-logical-or-046" result="pass"/><test-case name="op-logical-or-047" result="pass"/><test-case name="op-logical-or-048" result="pass"/><test-case name="op-logical-or-049" result="pass"/><test-case name="op-logical-or-050" result="pass"/><test-case name="op-logical-or-051" result="pass"/><test-case name="op-logical-or-052" result="pass"/><test-case name="op-logical-or-053" result="pass"/><test-case name="op-logical-or-054" result="pass"/><test-case name="op-logical-or-055" result="pass"/><test-case name="op-logical-or-056" result="pass"/><test-case name="op-logical-or-057" result="pass"/><test-case name="op-logical-or-058" result="pass"/><test-case name="op-logical-or-059" result="pass"/><test-case name="op-logical-or-060" result="pass"/><test-case name="op-logical-or-061" result="pass"/><test-case name="op-logical-or-062" result="pass"/><test-case name="op-logical-or-063" result="pass"/><test-case name="op-logical-or-064" result="pass"/><test-case name="op-logical-or-065" result="pass"/><test-case name="op-logical-or-066" result="pass"/><test-case name="op-logical-or-067" result="pass"/><test-case name="op-logical-or-068" result="pass"/><test-case name="op-logical-or-069" result="pass"/><test-case name="op-logical-or-070" result="pass"/><test-case name="op-logical-or-071" result="pass"/><test-case name="op-logical-or-072" result="pass"/><test-case name="op-logical-or-073" result="pass"/><test-case name="op-logical-or-074" result="pass"/><test-case name="op-logical-or-075" result="pass"/><test-case name="op-logical-or-076" result="pass"/><test-case name="op-logical-or-077" result="pass"/><test-case name="op-logical-or-078" result="pass"/><test-case name="op-logical-or-079" result="pass"/><test-case name="op-logical-or-080" result="pass"/><test-case name="op-logical-or-081" result="pass"/><test-case name="op-logical-or-082" result="pass"/><test-case name="op-logical-or-083" result="pass"/><test-case name="op-logical-or-084" result="pass"/><test-case name="op-logical-or-085" result="pass"/><test-case name="op-logical-or-086" result="pass"/><test-case name="op-logical-or-087" result="pass"/><test-case name="op-logical-or-088" result="pass"/><test-case name="op-logical-or-089" result="pass"/><test-case name="op-logical-or-090" result="pass"/><test-case name="op-logical-or-091" result="pass"/><test-case name="op-logical-or-092" result="pass"/><test-case name="op-logical-or-093" result="pass"/><test-case name="op-logical-or-094" result="pass"/><test-case name="op-logical-or-095" result="pass"/><test-case name="op-logical-or-096" result="pass"/><test-case name="op-logical-or-097" result="pass"/><test-case name="op-logical-or-098" result="pass"/><test-case name="op-logical-or-099" result="pass"/><test-case name="op-logical-or-100" result="pass"/><test-case name="op-logical-or-101" result="pass"/><test-case name="op-logical-or-102" result="pass"/><test-case name="op-logical-or-103" result="pass"/><test-case name="op-logical-or-104" result="pass"/><test-case name="op-logical-or-105" result="pass"/><test-case name="op-logical-or-106" result="pass"/><test-case name="op-logical-or-107" result="pass"/><test-case name="op-logical-or-108" result="pass"/><test-case name="op-logical-or-109" result="pass"/><test-case name="op-logical-or-110" result="pass"/><test-case name="op-logical-or-111" result="pass"/><test-case name="op-logical-or-112" result="pass"/><test-case name="op-logical-or-113" result="pass"/><test-case name="op-logical-or-114" result="pass"/><test-case name="op-logical-or-115" result="pass"/><test-case name="op-logical-or-116" result="pass"/><test-case name="op-logical-or-117" result="pass"/><test-case name="op-logical-or-118" result="pass"/><test-case name="op-logical-or-119" result="pass"/><test-case name="op-logical-or-120" result="pass"/><test-case name="op-logical-or-121" result="pass"/><test-case name="op-logical-or-122" result="pass"/><test-case name="op-logical-or-123" result="pass"/><test-case name="op-logical-or-124" result="pass"/><test-case name="op-logical-or-125" result="pass"/><test-case name="op-logical-or-126" result="pass"/><test-case name="op-logical-or-127" result="pass"/><test-case name="op-logical-or-128" result="pass"/><test-case name="op-logical-or-129" result="pass"/><test-case name="op-logical-or-130" result="pass"/><test-case name="op-logical-or-131" result="pass"/><test-case name="op-logical-or-132" result="pass"/><test-case name="op-logical-or-133" result="pass"/><test-case name="op-logical-or-134" result="pass"/><test-case name="op-logical-or-135" result="pass"/><test-case name="op-logical-or-136" result="pass"/><test-case name="op-logical-or-137" result="pass"/><test-case name="op-logical-or-138" result="pass"/><test-case name="op-logical-or-139" result="pass"/><test-case name="op-logical-or-140" result="pass"/><test-case name="op-logical-or-141" result="pass"/><test-case name="op-logical-or-142" result="pass"/><test-case name="op-logical-or-143" result="pass"/><test-case name="op-logical-or-144" result="pass"/><test-case name="op-logical-or-145" result="pass"/><test-case name="op-logical-or-146" result="pass"/><test-case name="op-logical-or-147" result="pass"/><test-case name="op-logical-or-148" result="pass"/><test-case name="op-logical-or-149" result="pass"/><test-case name="op-logical-or-150" result="pass"/><test-case name="op-logical-or-151" result="pass"/><test-case name="op-logical-or-152" result="pass"/><test-case name="op-logical-or-153" result="pass"/><test-case name="op-logical-or-154" result="pass"/><test-case name="op-logical-or-155" result="pass"/><test-case name="op-logical-or-156" result="pass"/><test-case name="op-logical-or-157" result="pass"/><test-case name="op-logical-or-158" result="pass"/><test-case name="op-logical-or-159" result="pass"/><test-case name="K-LogicExpr-1" result="pass"/><test-case name="K-LogicExpr-2" result="pass"/><test-case name="K-LogicExpr-3" result="pass"/><test-case name="K-LogicExpr-4" result="pass"/><test-case name="K-LogicExpr-5" result="pass"/><test-case name="K-LogicExpr-6" result="pass"/><test-case name="K-LogicExpr-7" result="pass"/><test-case name="K-LogicExpr-8" result="pass"/><test-case name="K-LogicExpr-9" result="pass"/><test-case name="K-LogicExpr-10" result="pass"/><test-case name="K-LogicExpr-11" result="pass"/><test-case name="K-LogicExpr-12" result="pass"/><test-case name="K-LogicExpr-13" result="pass"/><test-case name="K-LogicExpr-14" result="pass"/><test-case name="K-LogicExpr-15" result="pass"/><test-case name="K-LogicExpr-16" result="pass"/><test-case name="K-LogicExpr-17" result="pass"/><test-case name="K-LogicExpr-18" result="pass"/><test-case name="K-LogicExpr-19" result="pass"/><test-case name="K-LogicExpr-20" result="pass"/><test-case name="K-LogicExpr-21" result="pass"/><test-case name="K-LogicExpr-22" result="pass"/><test-case name="K-LogicExpr-23" result="pass"/><test-case name="K-LogicExpr-24" result="pass"/><test-case name="K-LogicExpr-25" result="pass"/><test-case name="K-LogicExpr-26" result="pass"/><test-case name="K-LogicExpr-27" result="pass"/><test-case name="K-LogicExpr-28" result="pass"/><test-case name="K-LogicExpr-29" result="pass"/><test-case name="K-LogicExpr-30" result="pass"/><test-case name="K-LogicExpr-31" result="pass"/><test-case name="K-LogicExpr-32" result="pass"/><test-case name="K-LogicExpr-33" result="pass"/><test-case name="K-LogicExpr-34" result="pass"/><test-case name="K-LogicExpr-35" result="pass"/><test-case name="K-LogicExpr-36" result="pass"/><test-case name="K-LogicExpr-37" result="pass"/><test-case name="K-LogicExpr-38" result="pass"/><test-case name="K-LogicExpr-39" result="pass"/><test-case name="K-LogicExpr-40" result="pass"/><test-case name="K-LogicExpr-41" result="pass"/><test-case name="K-LogicExpr-42" result="pass"/><test-case name="K-LogicExpr-43" result="pass"/><test-case name="K-LogicExpr-44" result="pass"/><test-case name="K-LogicExpr-45" result="pass"/><test-case name="K-LogicExpr-46" result="pass"/><test-case name="K2-LogicExpr-1" result="pass"/><test-case name="K2-LogicExpr-2" result="pass"/><test-case name="Constr-elem-empty-1" result="pass"/><test-case name="Constr-elem-empty-2" result="pass"/><test-case name="Constr-elem-empty-3" result="pass"/><test-case name="Constr-elem-empty-4" result="pass"/><test-case name="Constr-elem-empty-5" result="pass"/><test-case name="Constr-elem-matchtag-1" result="pass"/><test-case name="Constr-elem-matchtag-2" result="pass"/><test-case name="Constr-elem-curlybr-1" result="pass"/><test-case name="Constr-elem-curlybr-2" result="pass"/><test-case name="Constr-elem-curlybr-3" result="pass"/><test-case name="Constr-elem-curlybr-4" result="pass"/><test-case name="Constr-elem-curlybr-5" result="pass"/><test-case name="Constr-elem-curlybr-6" result="pass"/><test-case name="K2-DirectConElem-1" result="pass"/><test-case name="K2-DirectConElem-2" result="pass"/><test-case name="K2-DirectConElem-3" result="pass"/><test-case name="K2-DirectConElem-4" result="pass"/><test-case name="K2-DirectConElem-5" result="pass"/><test-case name="K2-DirectConElem-6" result="pass"/><test-case name="K2-DirectConElem-7" result="pass"/><test-case name="K2-DirectConElem-8" result="pass"/><test-case name="K2-DirectConElem-9" result="pass"/><test-case name="K2-DirectConElem-10" result="pass"/><test-case name="K2-DirectConElem-11" result="pass"/><test-case name="K2-DirectConElem-12" result="pass"/><test-case name="K2-DirectConElem-13" result="pass"/><test-case name="K2-DirectConElem-14" result="pass"/><test-case name="K2-DirectConElem-15" result="pass"/><test-case name="K2-DirectConElem-16" result="pass"/><test-case name="K2-DirectConElem-17" result="pass"/><test-case name="K2-DirectConElem-18" result="pass"/><test-case name="K2-DirectConElem-19" result="pass"/><test-case name="K2-DirectConElem-20" result="pass"/><test-case name="K2-DirectConElem-21" result="pass"/><test-case name="K2-DirectConElem-22" result="pass"/><test-case name="K2-DirectConElem-23" result="pass"/><test-case name="K2-DirectConElem-24" result="pass"/><test-case name="K2-DirectConElem-25" result="pass"/><test-case name="K2-DirectConElem-26" result="pass"/><test-case name="K2-DirectConElem-27" result="pass"/><test-case name="K2-DirectConElem-28" result="pass"/><test-case name="K2-DirectConElem-29" result="pass"/><test-case name="K2-DirectConElem-30" result="pass"/><test-case name="K2-DirectConElem-31" result="pass"/><test-case name="K2-DirectConElem-32" result="pass"/><test-case name="K2-DirectConElem-33" result="pass"/><test-case name="K2-DirectConElem-34" result="pass"/><test-case name="K2-DirectConElem-35" result="pass"/><test-case name="K2-DirectConElem-36" result="pass"/><test-case name="K2-DirectConElem-37" result="pass"/><test-case name="K2-DirectConElem-38" result="pass"/><test-case name="K2-DirectConElem-39" result="pass"/><test-case name="K2-DirectConElem-40" result="pass"/><test-case name="K2-DirectConElem-41" result="pass"/><test-case name="K2-DirectConElem-42" result="pass"/><test-case name="K2-DirectConElem-43" result="pass"/><test-case name="K2-DirectConElem-44" result="pass"/><test-case name="K2-DirectConElem-45" result="pass"/><test-case name="K2-DirectConElem-46" result="pass"/><test-case name="K2-DirectConElem-47" result="pass"/><test-case name="K2-DirectConElem-48" result="pass"/><test-case name="K2-DirectConElem-49" result="pass"/><test-case name="K2-DirectConElem-50" result="pass"/><test-case name="K2-DirectConElem-51" result="pass"/><test-case name="K2-DirectConElem-52" result="pass"/><test-case name="K2-DirectConElem-53" result="pass"/><test-case name="K2-DirectConElem-54" result="pass"/><test-case name="Constr-attr-syntax-1" result="pass"/><test-case name="Constr-attr-syntax-2" result="pass"/><test-case name="Constr-attr-syntax-3" result="pass"/><test-case name="Constr-attr-syntax-4" result="pass"/><test-case name="Constr-attr-syntax-5" result="pass"/><test-case name="Constr-attr-syntax-6" result="pass"/><test-case name="Constr-attr-syntax-7" result="pass"/><test-case name="Constr-attr-syntax-8" result="pass"/><test-case name="Constr-attr-syntax-9" result="pass"/><test-case name="Constr-attr-syntax-10" result="pass"/><test-case name="Constr-attr-parent-1" result="pass"/><test-case name="Constr-attr-nsdecl-1" result="pass"/><test-case name="Constr-attr-nsdecl-2" result="pass"/><test-case name="Constr-attr-nspre-1" result="pass"/><test-case name="Constr-attr-nspre-2" result="pass"/><test-case name="Constr-attr-nsprein-1" result="pass"/><test-case name="Constr-attr-nsprein-2" result="pass"/><test-case name="Constr-attr-distnames-1" result="pass"/><test-case name="Constr-attr-distnames-2" result="pass"/><test-case name="Constr-attr-distnames-3" result="pass"/><test-case name="Constr-attr-distnames-4" result="pass"/><test-case name="Constr-attr-content-1" result="pass"/><test-case name="Constr-attr-content-2" result="pass"/><test-case name="Constr-attr-content-3" result="pass"/><test-case name="Constr-attr-content-4" result="pass"/><test-case name="Constr-attr-content-5" result="pass"/><test-case name="Constr-attr-ws-1" result="pass"/><test-case name="Constr-attr-ws-2" result="pass"/><test-case name="Constr-attr-ws-3" result="pass"/><test-case name="Constr-attr-ws-4" result="pass"/><test-case name="Constr-attr-ws-5" result="pass"/><test-case name="Constr-attr-entref-1" result="pass"/><test-case name="Constr-attr-entref-2" result="pass"/><test-case name="Constr-attr-charref-1" result="pass"/><test-case name="Constr-attr-enclexpr-1" result="pass"/><test-case name="Constr-attr-enclexpr-2" result="pass"/><test-case name="Constr-attr-enclexpr-3" result="pass"/><test-case name="Constr-attr-enclexpr-4" result="pass"/><test-case name="Constr-attr-enclexpr-5" result="pass"/><test-case name="Constr-attr-enclexpr-6" result="pass"/><test-case name="Constr-attr-enclexpr-7" result="pass"/><test-case name="Constr-attr-id-1" result="pass"/><test-case name="Constr-attr-id-2" result="pass"/><test-case name="K2-DirectConElemAttr-1" result="pass"/><test-case name="K2-DirectConElemAttr-2" result="pass"/><test-case name="K2-DirectConElemAttr-3" result="pass"/><test-case name="K2-DirectConElemAttr-4" result="pass"/><test-case name="K2-DirectConElemAttr-5" result="pass"/><test-case name="K2-DirectConElemAttr-6" result="pass"/><test-case name="K2-DirectConElemAttr-7" result="pass"/><test-case name="K2-DirectConElemAttr-8" result="pass"/><test-case name="K2-DirectConElemAttr-9" result="pass"/><test-case name="K2-DirectConElemAttr-10" result="pass"/><test-case name="K2-DirectConElemAttr-11" result="pass"/><test-case name="K2-DirectConElemAttr-12" result="pass"/><test-case name="K2-DirectConElemAttr-13" result="pass"/><test-case name="K2-DirectConElemAttr-14" result="pass"/><test-case name="K2-DirectConElemAttr-15" result="pass"/><test-case name="K2-DirectConElemAttr-16" result="pass"/><test-case name="K2-DirectConElemAttr-17" result="pass"/><test-case name="K2-DirectConElemAttr-18" result="pass"/><test-case name="K2-DirectConElemAttr-19" result="pass"/><test-case name="K2-DirectConElemAttr-20" result="pass"/><test-case name="K2-DirectConElemAttr-21" result="pass"/><test-case name="K2-DirectConElemAttr-22" result="pass"/><test-case name="K2-DirectConElemAttr-23" result="pass"/><test-case name="K2-DirectConElemAttr-24" result="pass"/><test-case name="K2-DirectConElemAttr-25" result="pass"/><test-case name="K2-DirectConElemAttr-26" result="pass"/><test-case name="K2-DirectConElemAttr-27" result="pass"/><test-case name="K2-DirectConElemAttr-28" result="pass"/><test-case name="K2-DirectConElemAttr-29" result="pass"/><test-case name="K2-DirectConElemAttr-30" result="pass"/><test-case name="K2-DirectConElemAttr-31" result="pass"/><test-case name="K2-DirectConElemAttr-32" result="pass"/><test-case name="K2-DirectConElemAttr-33" result="pass"/><test-case name="K2-DirectConElemAttr-34" result="pass"/><test-case name="K2-DirectConElemAttr-35" result="pass"/><test-case name="K2-DirectConElemAttr-36" result="pass"/><test-case name="K2-DirectConElemAttr-37" result="pass"/><test-case name="K2-DirectConElemAttr-38" result="pass"/><test-case name="K2-DirectConElemAttr-39" result="pass"/><test-case name="K2-DirectConElemAttr-40" result="pass"/><test-case name="K2-DirectConElemAttr-41" result="pass"/><test-case name="K2-DirectConElemAttr-42" result="pass"/><test-case name="K2-DirectConElemAttr-43" result="pass"/><test-case name="K2-DirectConElemAttr-44" result="pass"/><test-case name="K2-DirectConElemAttr-45" result="pass"/><test-case name="K2-DirectConElemAttr-46" result="pass"/><test-case name="K2-DirectConElemAttr-47" result="pass"/><test-case name="K2-DirectConElemAttr-48" result="pass"/><test-case name="K2-DirectConElemAttr-49" result="pass"/><test-case name="K2-DirectConElemAttr-50" result="pass"/><test-case name="K2-DirectConElemAttr-51" result="pass"/><test-case name="K2-DirectConElemAttr-52" result="pass"/><test-case name="K2-DirectConElemAttr-53" result="pass"/><test-case name="K2-DirectConElemAttr-54" result="pass"/><test-case name="K2-DirectConElemAttr-55" result="pass"/><test-case name="K2-DirectConElemAttr-56" result="pass"/><test-case name="K2-DirectConElemAttr-57" result="pass"/><test-case name="K2-DirectConElemAttr-58" result="pass"/><test-case name="K2-DirectConElemAttr-59" result="pass"/><test-case name="K2-DirectConElemAttr-60" result="pass"/><test-case name="K2-DirectConElemAttr-61" result="pass"/><test-case name="K2-DirectConElemAttr-62" result="pass"/><test-case name="K2-DirectConElemAttr-63" result="pass"/><test-case name="K2-DirectConElemAttr-64" result="pass"/><test-case name="K2-DirectConElemAttr-65" result="pass"/><test-case name="K2-DirectConElemAttr-66" result="pass"/><test-case name="K2-DirectConElemAttr-67" result="pass"/><test-case name="K2-DirectConElemAttr-68" result="pass"/><test-case name="K2-DirectConElemAttr-69" result="pass"/><test-case name="K2-DirectConElemAttr-70" result="pass"/><test-case name="K2-DirectConElemAttr-71" result="pass"/><test-case name="K2-DirectConElemAttr-72" result="pass"/><test-case name="K2-DirectConElemAttr-73" result="pass"/><test-case name="K2-DirectConElemAttr-74" result="pass"/><test-case name="K2-DirectConElemAttr-75" result="pass"/><test-case name="Constr-namespace-1" result="pass"/><test-case name="Constr-namespace-2" result="pass"/><test-case name="Constr-namespace-3" result="pass"/><test-case name="Constr-namespace-4" result="pass"/><test-case name="Constr-namespace-5" result="pass"/><test-case name="Constr-namespace-6" result="pass"/><test-case name="Constr-namespace-7" result="pass"/><test-case name="Constr-namespace-8" result="pass"/><test-case name="Constr-namespace-9" result="pass"/><test-case name="Constr-namespace-10" result="pass"/><test-case name="Constr-namespace-11" result="pass"/><test-case name="Constr-namespace-12" result="pass"/><test-case name="Constr-namespace-13" result="pass"/><test-case name="Constr-namespace-14" result="pass"/><test-case name="Constr-namespace-15" result="pass"/><test-case name="Constr-namespace-16" result="pass"/><test-case name="Constr-namespace-17" result="pass"/><test-case name="Constr-namespace-18" result="pass"/><test-case name="Constr-namespace-19" result="pass"/><test-case name="Constr-namespace-20" result="pass"/><test-case name="Constr-namespace-21" result="pass"/><test-case name="Constr-namespace-22" result="pass"/><test-case name="Constr-namespace-23" result="pass"/><test-case name="Constr-namespace-24" result="pass"/><test-case name="Constr-namespace-25" result="pass"/><test-case name="Constr-namespace-26" result="pass"/><test-case name="Constr-namespace-27" result="pass"/><test-case name="Constr-namespace-29" result="pass"/><test-case name="K2-DirectConElemNamespace-1" result="pass"/><test-case name="K2-DirectConElemNamespace-2" result="pass"/><test-case name="K2-DirectConElemNamespace-3" result="pass"/><test-case name="K2-DirectConElemNamespace-4" result="pass"/><test-case name="K2-DirectConElemNamespace-5" result="pass"/><test-case name="K2-DirectConElemNamespace-6" result="pass"/><test-case name="K2-DirectConElemNamespace-7" result="pass"/><test-case name="K2-DirectConElemNamespace-8" result="pass"/><test-case name="K2-DirectConElemNamespace-9" result="pass"/><test-case name="K2-DirectConElemNamespace-10" result="pass"/><test-case name="K2-DirectConElemNamespace-11" result="pass"/><test-case name="K2-DirectConElemNamespace-12" result="pass"/><test-case name="K2-DirectConElemNamespace-13" result="pass"/><test-case name="K2-DirectConElemNamespace-14" result="pass"/><test-case name="K2-DirectConElemNamespace-15" result="pass"/><test-case name="K2-DirectConElemNamespace-16" result="pass"/><test-case name="K2-DirectConElemNamespace-17" result="pass"/><test-case name="K2-DirectConElemNamespace-18" result="pass"/><test-case name="K2-DirectConElemNamespace-19" result="pass"/><test-case name="K2-DirectConElemNamespace-20" result="pass"/><test-case name="K2-DirectConElemNamespace-21" result="pass"/><test-case name="K2-DirectConElemNamespace-22" result="pass"/><test-case name="K2-DirectConElemNamespace-23" result="pass"/><test-case name="K2-DirectConElemNamespace-24" result="pass"/><test-case name="K2-DirectConElemNamespace-25" result="pass"/><test-case name="K2-DirectConElemNamespace-26" result="pass"/><test-case name="K2-DirectConElemNamespace-27" result="pass"/><test-case name="K2-DirectConElemNamespace-28" result="pass"/><test-case name="K2-DirectConElemNamespace-29" result="pass"/><test-case name="K2-DirectConElemNamespace-30" result="pass"/><test-case name="K2-DirectConElemNamespace-31" result="pass"/><test-case name="K2-DirectConElemNamespace-32" result="pass"/><test-case name="K2-DirectConElemNamespace-33" result="pass"/><test-case name="K2-DirectConElemNamespace-34" result="pass"/><test-case name="K2-DirectConElemNamespace-35" result="pass"/><test-case name="K2-DirectConElemNamespace-36" result="pass"/><test-case name="K2-DirectConElemNamespace-37" result="pass"/><test-case name="K2-DirectConElemNamespace-38" result="pass"/><test-case name="K2-DirectConElemNamespace-39" result="pass"/><test-case name="K2-DirectConElemNamespace-40" result="pass"/><test-case name="K2-DirectConElemNamespace-41" result="pass"/><test-case name="K2-DirectConElemNamespace-42" result="pass"/><test-case name="K2-DirectConElemNamespace-43" result="pass"/><test-case name="K2-DirectConElemNamespace-44" result="pass"/><test-case name="K2-DirectConElemNamespace-45" result="pass"/><test-case name="K2-DirectConElemNamespace-46" result="pass"/><test-case name="K2-DirectConElemNamespace-47" result="pass"/><test-case name="K2-DirectConElemNamespace-48" result="pass"/><test-case name="K2-DirectConElemNamespace-49" result="pass"/><test-case name="K2-DirectConElemNamespace-50" result="pass"/><test-case name="K2-DirectConElemNamespace-51" result="pass"/><test-case name="K2-DirectConElemNamespace-52" result="pass"/><test-case name="K2-DirectConElemNamespace-53" result="pass"/><test-case name="K2-DirectConElemNamespace-54" result="pass"/><test-case name="K2-DirectConElemNamespace-55" result="pass"/><test-case name="K2-DirectConElemNamespace-56" result="pass"/><test-case name="K2-DirectConElemNamespace-57" result="pass"/><test-case name="K2-DirectConElemNamespace-58" result="pass"/><test-case name="K2-DirectConElemNamespace-59" result="pass"/><test-case name="K2-DirectConElemNamespace-60" result="pass"/><test-case name="K2-DirectConElemNamespace-61" result="pass"/><test-case name="K2-DirectConElemNamespace-62" result="pass"/><test-case name="K2-DirectConElemNamespace-63" result="pass"/><test-case name="K2-DirectConElemNamespace-64" result="pass"/><test-case name="K2-DirectConElemNamespace-65" result="pass"/><test-case name="K2-DirectConElemNamespace-66" result="pass"/><test-case name="K2-DirectConElemNamespace-67" result="pass"/><test-case name="K2-DirectConElemNamespace-68" result="pass"/><test-case name="K2-DirectConElemNamespace-69" result="pass"/><test-case name="K2-DirectConElemNamespace-70" result="pass"/><test-case name="K2-DirectConElemNamespace-71" result="pass"/><test-case name="K2-DirectConElemNamespace-72" result="pass"/><test-case name="K2-DirectConElemNamespace-73" result="pass"/><test-case name="K2-DirectConElemNamespace-74" result="pass"/><test-case name="K2-DirectConElemNamespace-75" result="pass"/><test-case name="K2-DirectConElemNamespace-76" result="pass"/><test-case name="K2-DirectConElemNamespace-77" result="pass"/><test-case name="Constr-cont-invalid-1" result="pass"/><test-case name="Constr-cont-invalid-2" result="pass"/><test-case name="Constr-cont-invalid-3" result="pass"/><test-case name="Constr-cont-invalid-4" result="pass"/><test-case name="Constr-cont-eol-1" result="pass"/><test-case name="Constr-cont-eol-2" result="pass"/><test-case name="Constr-cont-eol-3" result="pass"/><test-case name="Constr-cont-eol-4" result="pass"/><test-case name="Constr-cont-entref-1" result="pass"/><test-case name="Constr-cont-entref-2" result="pass"/><test-case name="Constr-cont-entref-3" result="pass"/><test-case name="Constr-cont-entref-4" result="pass"/><test-case name="Constr-cont-entref-5" result="pass"/><test-case name="Constr-cont-charref-1" result="pass"/><test-case name="Constr-cont-charref-2" result="fail"/><test-case name="Constr-cont-cdata-1" result="pass"/><test-case name="Constr-cont-text-1" result="pass"/><test-case name="Constr-cont-text-2" result="pass"/><test-case name="Constr-cont-nested-1" result="pass"/><test-case name="Constr-cont-nested-2" result="pass"/><test-case name="Constr-cont-nested-3" result="pass"/><test-case name="Constr-cont-nested-4" result="pass"/><test-case name="Constr-cont-enclexpr-1" result="pass"/><test-case name="Constr-cont-enclexpr-2" result="pass"/><test-case name="Constr-cont-enclexpr-3" result="pass"/><test-case name="Constr-cont-enclexpr-4" result="pass"/><test-case name="Constr-cont-enclexpr-5" result="pass"/><test-case name="Constr-cont-nested-5" result="pass"/><test-case name="Constr-cont-nodeid-1" result="pass"/><test-case name="Constr-cont-nodeid-2" result="pass"/><test-case name="Constr-cont-nodeid-3" result="pass"/><test-case name="Constr-cont-nodeid-4" result="pass"/><test-case name="Constr-cont-nodeid-5" result="pass"/><test-case name="Constr-cont-constrmod-1" result="pass"/><test-case name="Constr-cont-constrmod-2" result="pass"/><test-case name="Constr-cont-constrmod-3" result="pass"/><test-case name="Constr-cont-constrmod-4" result="pass"/><test-case name="Constr-cont-constrmod-5" result="pass"/><test-case name="Constr-cont-constrmod-6" result="pass"/><test-case name="Constr-cont-constrmod-7" result="pass"/><test-case name="Constr-cont-constrmod-8" result="pass"/><test-case name="Constr-cont-nsmode-1" result="pass"/><test-case name="Constr-cont-nsmode-2" result="pass"/><test-case name="Constr-cont-nsmode-3" result="pass"/><test-case name="Constr-cont-nsmode-4" result="pass"/><test-case name="Constr-cont-nsmode-5" result="pass"/><test-case name="Constr-cont-nsmode-6" result="pass"/><test-case name="Constr-cont-uripres-1" result="pass"/><test-case name="Constr-cont-adjtext-1" result="pass"/><test-case name="Constr-cont-adjtext-2" result="pass"/><test-case name="Constr-cont-adjtext-3" result="pass"/><test-case name="Constr-cont-adjtext-4" result="pass"/><test-case name="Constr-cont-doc-1" result="pass"/><test-case name="Constr-cont-attr-1" result="pass"/><test-case name="Constr-cont-attr-2" result="pass"/><test-case name="Constr-cont-attr-3" result="pass"/><test-case name="Constr-cont-attr-4" result="pass"/><test-case name="Constr-cont-baseuri-1" result="pass"/><test-case name="Constr-cont-baseuri-2" result="pass"/><test-case name="Constr-cont-baseuri-3" result="pass"/><test-case name="Constr-cont-parent-1" result="pass"/><test-case name="Constr-cont-attr-5" result="pass"/><test-case name="Constr-cont-attr-6" result="pass"/><test-case name="Constr-cont-attr-7" result="pass"/><test-case name="Constr-cont-attr-8" result="pass"/><test-case name="Constr-cont-string-1" result="pass"/><test-case name="Constr-cont-data-1" result="pass"/><test-case name="Constr-cont-document-1" result="pass"/><test-case name="Constr-cont-document-2" result="pass"/><test-case name="Constr-cont-document-3" result="fail" comment="Skipped this test, because we loop infinitely on it."/><test-case name="K2-DirectConElemContent-1" result="pass"/><test-case name="K2-DirectConElemContent-2" result="pass"/><test-case name="K2-DirectConElemContent-3" result="pass"/><test-case name="K2-DirectConElemContent-4" result="pass"/><test-case name="K2-DirectConElemContent-5" result="pass"/><test-case name="K2-DirectConElemContent-6" result="pass"/><test-case name="K2-DirectConElemContent-7" result="pass"/><test-case name="K2-DirectConElemContent-8" result="pass"/><test-case name="K2-DirectConElemContent-9" result="pass"/><test-case name="K2-DirectConElemContent-10" result="pass"/><test-case name="K2-DirectConElemContent-11" result="pass"/><test-case name="K2-DirectConElemContent-12" result="pass"/><test-case name="K2-DirectConElemContent-13" result="pass"/><test-case name="K2-DirectConElemContent-14" result="pass"/><test-case name="K2-DirectConElemContent-15" result="pass"/><test-case name="K2-DirectConElemContent-16" result="pass"/><test-case name="K2-DirectConElemContent-17" result="pass"/><test-case name="K2-DirectConElemContent-18" result="pass"/><test-case name="K2-DirectConElemContent-19" result="pass"/><test-case name="K2-DirectConElemContent-20" result="pass"/><test-case name="K2-DirectConElemContent-21" result="pass"/><test-case name="K2-DirectConElemContent-22" result="pass"/><test-case name="K2-DirectConElemContent-23" result="pass"/><test-case name="K2-DirectConElemContent-24" result="pass"/><test-case name="K2-DirectConElemContent-25" result="pass"/><test-case name="K2-DirectConElemContent-26" result="pass"/><test-case name="K2-DirectConElemContent-27" result="pass"/><test-case name="K2-DirectConElemContent-28" result="pass"/><test-case name="K2-DirectConElemContent-29" result="pass"/><test-case name="K2-DirectConElemContent-30" result="pass"/><test-case name="K2-DirectConElemContent-31" result="pass"/><test-case name="K2-DirectConElemContent-32" result="pass"/><test-case name="K2-DirectConElemContent-33" result="pass"/><test-case name="K2-DirectConElemContent-34" result="pass"/><test-case name="K2-DirectConElemContent-35" result="fail"/><test-case name="K2-DirectConElemContent-36" result="pass"/><test-case name="K2-DirectConElemContent-37" result="fail"/><test-case name="K2-DirectConElemContent-38" result="fail"/><test-case name="K2-DirectConElemContent-39" result="pass"/><test-case name="K2-DirectConElemContent-40" result="pass"/><test-case name="K2-DirectConElemContent-41" result="pass"/><test-case name="K2-DirectConElemContent-42" result="pass"/><test-case name="K2-DirectConElemContent-43" result="pass"/><test-case name="K2-DirectConElemContent-44" result="pass"/><test-case name="K2-DirectConElemContent-45" result="pass"/><test-case name="K2-DirectConElemContent-46" result="pass"/><test-case name="K2-DirectConElemContent-47" result="pass"/><test-case name="K2-DirectConElemContent-48" result="pass"/><test-case name="Constr-ws-tag-1" result="pass"/><test-case name="Constr-ws-tag-2" result="pass"/><test-case name="Constr-ws-tag-3" result="pass"/><test-case name="Constr-ws-tag-4" result="pass"/><test-case name="Constr-ws-tag-5" result="pass"/><test-case name="Constr-ws-tag-6" result="pass"/><test-case name="Constr-ws-tag-7" result="pass"/><test-case name="Constr-ws-tag-8" result="pass"/><test-case name="Constr-ws-tag-9" result="pass"/><test-case name="Constr-ws-tag-10" result="pass"/><test-case name="Constr-ws-enclexpr-1" result="pass"/><test-case name="Constr-ws-enclexpr-2" result="pass"/><test-case name="Constr-ws-enclexpr-3" result="pass"/><test-case name="Constr-ws-enclexpr-4" result="pass"/><test-case name="Constr-ws-enclexpr-5" result="pass"/><test-case name="Constr-ws-enclexpr-6" result="pass"/><test-case name="Constr-ws-enclexpr-7" result="pass"/><test-case name="Constr-ws-enclexpr-8" result="pass"/><test-case name="Constr-ws-enclexpr-9" result="pass"/><test-case name="Constr-ws-enclexpr-10" result="pass"/><test-case name="Constr-ws-enclexpr-11" result="pass"/><test-case name="Constr-ws-enclexpr-12" result="pass"/><test-case name="Constr-ws-enclexpr-13" result="pass"/><test-case name="Constr-ws-enclexpr-14" result="pass"/><test-case name="Constr-ws-enclexpr-15" result="pass"/><test-case name="Constr-ws-enclexpr-16" result="pass"/><test-case name="Constr-ws-enclexpr-17" result="pass"/><test-case name="Constr-ws-enclexpr-18" result="pass"/><test-case name="Constr-ws-enclexpr-19" result="pass"/><test-case name="Constr-ws-enclexpr-20" result="pass"/><test-case name="Constr-ws-enclexpr-21" result="pass"/><test-case name="Constr-ws-enclexpr-22" result="pass"/><test-case name="Constr-ws-enclexpr-23" result="pass"/><test-case name="Constr-ws-enclexpr-24" result="pass"/><test-case name="Constr-ws-nobound-1" result="pass"/><test-case name="Constr-ws-nobound-2" result="pass"/><test-case name="Constr-ws-nobound-3" result="pass"/><test-case name="Constr-ws-nobound-4" result="pass"/><test-case name="Constr-ws-nobound-5" result="pass"/><test-case name="Constr-ws-nobound-6" result="pass"/><test-case name="Constr-ws-genchref-1" result="pass"/><test-case name="Constr-ws-genchref-2" result="pass"/><test-case name="Constr-ws-genchref-3" result="pass"/><test-case name="Constr-ws-genchref-4" result="pass"/><test-case name="Constr-ws-gencdata-1" result="pass"/><test-case name="Constr-ws-gencdata-3" result="pass"/><test-case name="Constr-ws-adjchref-1" result="pass"/><test-case name="Constr-ws-adjchref-2" result="pass"/><test-case name="Constr-ws-adjchref-3" result="pass"/><test-case name="Constr-ws-adjcdata-1" result="pass"/><test-case name="Constr-ws-adjcdata-2" result="pass"/><test-case name="Constr-ws-adjcdata-3" result="pass"/><test-case name="Constr-ws-genenclexpr-1" result="pass"/><test-case name="Constr-ws-genenclexpr-2" result="pass"/><test-case name="Constr-ws-genenclexpr-3" result="pass"/><test-case name="Constr-ws-xmlspace-1" result="pass"/><test-case name="Constr-ws-xmlspace-2" result="pass"/><test-case name="K2-DirectConElemWhitespace-1" result="pass"/><test-case name="K2-DirectConElemWhitespace-2" result="pass"/><test-case name="K2-DirectConElemWhitespace-3" result="pass"/><test-case name="K2-DirectConElemWhitespace-4" result="pass"/><test-case name="K2-DirectConElemWhitespace-5" result="pass"/><test-case name="K2-DirectConElemWhitespace-6" result="pass"/><test-case name="K2-DirectConElemWhitespace-7" result="pass"/><test-case name="K2-DirectConElemWhitespace-8" result="pass"/><test-case name="K2-DirectConElemWhitespace-9" result="pass"/><test-case name="K2-DirectConElemWhitespace-10" result="pass"/><test-case name="K2-DirectConElemWhitespace-11" result="pass"/><test-case name="K2-DirectConElemWhitespace-12" result="pass"/><test-case name="K2-DirectConElemWhitespace-13" result="pass"/><test-case name="K2-DirectConElemWhitespace-14" result="pass"/><test-case name="K2-DirectConElemWhitespace-15" result="pass"/><test-case name="K2-DirectConElemWhitespace-16" result="pass"/><test-case name="K2-DirectConElemWhitespace-17" result="pass"/><test-case name="K2-DirectConElemWhitespace-18" result="pass"/><test-case name="K2-DirectConElemWhitespace-19" result="pass"/><test-case name="K2-DirectConElemWhitespace-20" result="pass"/><test-case name="K2-DirectConElemWhitespace-21" result="pass"/><test-case name="K2-DirectConElemWhitespace-22" result="pass"/><test-case name="K2-DirectConElemWhitespace-23" result="pass"/><test-case name="K2-DirectConElemWhitespace-24" result="pass"/><test-case name="K2-DirectConElemWhitespace-25" result="pass"/><test-case name="K2-DirectConElemWhitespace-26" result="pass"/><test-case name="Constr-pi-content-1" result="pass"/><test-case name="Constr-pi-content-2" result="pass"/><test-case name="Constr-pi-content-3" result="pass"/><test-case name="Constr-pi-content-4" result="pass"/><test-case name="Constr-pi-content-5" result="pass"/><test-case name="Constr-pi-content-6" result="pass"/><test-case name="Constr-pi-content-7" result="pass"/><test-case name="Constr-pi-content-8" result="pass"/><test-case name="Constr-pi-target-1" result="pass"/><test-case name="Constr-pi-target-2" result="pass"/><test-case name="Constr-pi-target-3" result="pass"/><test-case name="Constr-pi-target-4" result="pass"/><test-case name="Constr-comment-1" result="pass"/><test-case name="Constr-comment-2" result="pass"/><test-case name="Constr-comment-3" result="pass"/><test-case name="Constr-comment-4" result="pass"/><test-case name="Constr-comment-5" result="pass"/><test-case name="Constr-comment-6" result="pass"/><test-case name="Constr-comment-7" result="pass"/><test-case name="Constr-comment-8" result="pass"/><test-case name="K2-DirectConOther-1" result="pass"/><test-case name="K2-DirectConOther-2" result="pass"/><test-case name="K2-DirectConOther-3" result="pass"/><test-case name="K2-DirectConOther-4" result="pass"/><test-case name="K2-DirectConOther-5" result="pass"/><test-case name="K2-DirectConOther-6" result="pass"/><test-case name="K2-DirectConOther-7" result="pass"/><test-case name="K2-DirectConOther-8" result="pass"/><test-case name="K2-DirectConOther-9" result="pass"/><test-case name="K2-DirectConOther-10" result="pass"/><test-case name="K2-DirectConOther-11" result="pass"/><test-case name="K2-DirectConOther-12" result="pass"/><test-case name="K2-DirectConOther-13" result="pass"/><test-case name="K2-DirectConOther-14" result="pass"/><test-case name="K2-DirectConOther-15" result="pass"/><test-case name="K2-DirectConOther-16" result="pass"/><test-case name="K2-DirectConOther-17" result="pass"/><test-case name="K2-DirectConOther-18" result="pass"/><test-case name="K2-DirectConOther-19" result="pass"/><test-case name="K2-DirectConOther-20" result="pass"/><test-case name="K2-DirectConOther-21" result="pass"/><test-case name="K2-DirectConOther-22" result="pass"/><test-case name="K2-DirectConOther-23" result="pass"/><test-case name="K2-DirectConOther-24" result="pass"/><test-case name="K2-DirectConOther-25" result="pass"/><test-case name="K2-DirectConOther-26" result="pass"/><test-case name="K2-DirectConOther-27" result="pass"/><test-case name="K2-DirectConOther-28" result="pass"/><test-case name="K2-DirectConOther-29" result="pass"/><test-case name="K2-DirectConOther-30" result="pass"/><test-case name="K2-DirectConOther-31" result="pass"/><test-case name="K2-DirectConOther-32" result="pass"/><test-case name="K2-DirectConOther-33" result="pass"/><test-case name="K2-DirectConOther-34" result="pass"/><test-case name="K2-DirectConOther-35" result="pass"/><test-case name="K2-DirectConOther-36" result="pass"/><test-case name="K2-DirectConOther-37" result="pass"/><test-case name="K2-DirectConOther-38" result="pass"/><test-case name="K2-DirectConOther-39" result="pass"/><test-case name="K2-DirectConOther-40" result="pass"/><test-case name="K2-DirectConOther-41" result="pass"/><test-case name="K2-DirectConOther-42" result="pass"/><test-case name="K2-DirectConOther-43" result="pass"/><test-case name="K2-DirectConOther-44" result="pass"/><test-case name="K2-DirectConOther-45" result="pass"/><test-case name="K2-DirectConOther-46" result="pass"/><test-case name="K2-DirectConOther-47" result="pass"/><test-case name="K2-DirectConOther-48" result="pass"/><test-case name="K2-DirectConOther-49" result="pass"/><test-case name="K2-DirectConOther-50" result="pass"/><test-case name="K2-DirectConOther-51" result="pass"/><test-case name="K2-DirectConOther-52" result="pass"/><test-case name="K2-DirectConOther-53" result="pass"/><test-case name="K2-DirectConOther-54" result="pass"/><test-case name="K2-DirectConOther-55" result="pass"/><test-case name="K2-DirectConOther-56" result="pass"/><test-case name="K2-DirectConOther-57" result="pass"/><test-case name="K2-DirectConOther-58" result="pass"/><test-case name="K2-DirectConOther-59" result="pass"/><test-case name="K2-DirectConOther-60" result="pass"/><test-case name="K2-DirectConOther-61" result="pass"/><test-case name="K2-DirectConOther-62" result="pass"/><test-case name="K2-DirectConOther-63" result="pass"/><test-case name="K2-DirectConOther-64" result="pass"/><test-case name="K2-DirectConOther-65" result="pass"/><test-case name="K2-DirectConOther-66" result="fail"/><test-case name="K2-DirectConOther-67" result="pass"/><test-case name="K2-DirectConOther-68" result="pass"/><test-case name="K2-DirectConOther-69" result="pass"/><test-case name="K2-DirectConOther-70" result="pass"/><test-case name="K2-DirectConOther-71" result="pass"/><test-case name="Constr-compelem-name-1" result="pass"/><test-case name="Constr-compelem-name-2" result="pass"/><test-case name="Constr-compelem-name-3" result="pass"/><test-case name="Constr-compelem-compname-1" result="pass"/><test-case name="Constr-compelem-compname-2" result="pass"/><test-case name="Constr-compelem-compname-3" result="pass"/><test-case name="Constr-compelem-compname-4" result="pass"/><test-case name="Constr-compelem-compname-5" result="pass"/><test-case name="Constr-compelem-compname-6" result="pass"/><test-case name="Constr-compelem-compname-7" result="pass"/><test-case name="Constr-compelem-compname-8" result="pass"/><test-case name="Constr-compelem-compname-9" result="pass"/><test-case name="Constr-compelem-compname-10" result="pass"/><test-case name="Constr-compelem-compname-11" result="pass"/><test-case name="Constr-compelem-compname-12" result="pass"/><test-case name="Constr-compelem-compname-13" result="pass"/><test-case name="Constr-compelem-compname-14" result="pass"/><test-case name="Constr-compelem-compname-15" result="pass"/><test-case name="Constr-compelem-compname-16" result="pass"/><test-case name="Constr-compelem-compname-17" result="pass"/><test-case name="Constr-compelem-compname-18" result="pass"/><test-case name="Constr-compelem-compname-19" result="pass"/><test-case name="Constr-compelem-adjtext-1" result="pass"/><test-case name="Constr-compelem-adjtext-2" result="pass"/><test-case name="Constr-compelem-adjtext-3" result="pass"/><test-case name="Constr-compelem-nested-1" result="pass"/><test-case name="Constr-compelem-nested-2" result="pass"/><test-case name="Constr-compelem-enclexpr-1" result="pass"/><test-case name="Constr-compelem-enclexpr-2" result="pass"/><test-case name="Constr-compelem-enclexpr-3" result="pass"/><test-case name="Constr-compelem-enclexpr-4" result="pass"/><test-case name="Constr-compelem-nodeid-1" result="pass"/><test-case name="Constr-compelem-nodeid-2" result="pass"/><test-case name="Constr-compelem-nodeid-3" result="pass"/><test-case name="Constr-compelem-nodeid-4" result="pass"/><test-case name="Constr-compelem-nodeid-5" result="pass"/><test-case name="Constr-compelem-constrmod-3" result="pass"/><test-case name="Constr-compelem-constrmod-4" result="pass"/><test-case name="Constr-compelem-constrmod-7" result="pass"/><test-case name="Constr-compelem-constrmod-8" result="pass"/><test-case name="Constr-compelem-baseuri-1" result="pass"/><test-case name="Constr-compelem-baseuri-2" result="pass"/><test-case name="Constr-compelem-baseuri-3" result="pass"/><test-case name="Constr-compelem-doc-1" result="pass"/><test-case name="Constr-compelem-parent-1" result="pass"/><test-case name="Constr-compelem-string-1" result="pass"/><test-case name="Constr-compelem-data-1" result="pass"/><test-case name="Constr-compelem-attr-1" result="pass"/><test-case name="Constr-compelem-attr-2" result="pass"/><test-case name="Constr-compelem-attr-3" result="pass"/><test-case name="Constr-compelem-attr-4" result="pass"/><test-case name="K2-ComputeConElem-1" result="pass"/><test-case name="K2-ComputeConElem-2" result="pass"/><test-case name="K2-ComputeConElem-3" result="pass"/><test-case name="K2-ComputeConElem-4" result="pass"/><test-case name="K2-ComputeConElem-5" result="pass"/><test-case name="K2-ComputeConElem-6" result="pass"/><test-case name="K2-ComputeConElem-7" result="pass"/><test-case name="K2-ComputeConElem-8" result="pass"/><test-case name="K2-ComputeConElem-9" result="fail"/><test-case name="K2-ComputeConElem-10" result="pass"/><test-case name="K2-ComputeConElem-11" result="fail"/><test-case name="K2-ComputeConElem-12" result="fail"/><test-case name="K2-ComputeConElem-13" result="pass"/><test-case name="K2-ComputeConElem-14" result="pass"/><test-case name="K2-ComputeConElem-15" result="pass"/><test-case name="Constr-compattr-name-1" result="pass"/><test-case name="Constr-compattr-name-2" result="pass"/><test-case name="Constr-compattr-name-3" result="pass"/><test-case name="Constr-compattr-compname-1" result="pass"/><test-case name="Constr-compattr-compname-2" result="pass"/><test-case name="Constr-compattr-compname-3" result="pass"/><test-case name="Constr-compattr-compname-4" result="pass"/><test-case name="Constr-compattr-compname-5" result="pass"/><test-case name="Constr-compattr-compname-6" result="pass"/><test-case name="Constr-compattr-compname-7" result="pass"/><test-case name="Constr-compattr-compname-8" result="pass"/><test-case name="Constr-compattr-compname-9" result="pass"/><test-case name="Constr-compattr-compname-10" result="pass"/><test-case name="Constr-compattr-compname-11" result="pass"/><test-case name="Constr-compattr-compname-12" result="pass"/><test-case name="Constr-compattr-compname-13" result="pass"/><test-case name="Constr-compattr-compname-14" result="pass"/><test-case name="Constr-compattr-compname-15" result="pass"/><test-case name="Constr-compattr-compname-16" result="pass"/><test-case name="Constr-compattr-compname-17" result="pass"/><test-case name="Constr-compattr-compname-18" result="pass"/><test-case name="Constr-compattr-compname-19" result="pass"/><test-case name="Constr-compattr-doc-1" result="pass"/><test-case name="Constr-compattr-parent-1" result="pass"/><test-case name="Constr-compattr-string-1" result="pass"/><test-case name="Constr-compattr-data-1" result="pass"/><test-case name="Constr-compattr-enclexpr-1" result="pass"/><test-case name="Constr-compattr-enclexpr-2" result="pass"/><test-case name="Constr-compattr-enclexpr-3" result="pass"/><test-case name="Constr-compattr-enclexpr-4" result="pass"/><test-case name="Constr-compattr-id-1" result="pass"/><test-case name="Constr-compattr-id-2" result="pass"/><test-case name="constattrerr-1" result="pass"/><test-case name="K2-ComputeConAttr-1" result="pass"/><test-case name="K2-ComputeConAttr-2" result="pass"/><test-case name="K2-ComputeConAttr-3" result="pass"/><test-case name="K2-ComputeConAttr-4" result="pass"/><test-case name="K2-ComputeConAttr-5" result="pass"/><test-case name="K2-ComputeConAttr-6" result="pass"/><test-case name="K2-ComputeConAttr-7" result="pass"/><test-case name="K2-ComputeConAttr-8" result="pass"/><test-case name="K2-ComputeConAttr-9" result="pass"/><test-case name="K2-ComputeConAttr-10" result="pass"/><test-case name="K2-ComputeConAttr-11" result="pass"/><test-case name="K2-ComputeConAttr-12" result="pass"/><test-case name="K2-ComputeConAttr-13" result="pass"/><test-case name="K2-ComputeConAttr-14" result="pass"/><test-case name="K2-ComputeConAttr-15" result="pass"/><test-case name="K2-ComputeConAttr-16" result="pass"/><test-case name="K2-ComputeConAttr-17" result="pass"/><test-case name="K2-ComputeConAttr-18" result="pass"/><test-case name="K2-ComputeConAttr-19" result="pass"/><test-case name="K2-ComputeConAttr-20" result="pass"/><test-case name="K2-ComputeConAttr-21" result="pass"/><test-case name="K2-ComputeConAttr-22" result="pass"/><test-case name="K2-ComputeConAttr-23" result="pass"/><test-case name="K2-ComputeConAttr-24" result="pass"/><test-case name="K2-ComputeConAttr-25" result="pass"/><test-case name="K2-ComputeConAttr-26" result="pass"/><test-case name="K2-ComputeConAttr-27" result="pass"/><test-case name="K2-ComputeConAttr-28" result="pass"/><test-case name="K2-ComputeConAttr-29" result="pass"/><test-case name="K2-ComputeConAttr-30" result="pass"/><test-case name="K2-ComputeConAttr-31" result="pass"/><test-case name="K2-ComputeConAttr-32" result="pass"/><test-case name="K2-ComputeConAttr-33" result="pass"/><test-case name="K2-ComputeConAttr-34" result="pass"/><test-case name="K2-ComputeConAttr-35" result="pass"/><test-case name="K2-ComputeConAttr-36" result="pass"/><test-case name="K2-ComputeConAttr-37" result="pass"/><test-case name="K2-ComputeConAttr-38" result="pass"/><test-case name="K2-ComputeConAttr-39" result="pass"/><test-case name="K2-ComputeConAttr-40" result="pass"/><test-case name="K2-ComputeConAttr-41" result="pass"/><test-case name="K2-ComputeConAttr-42" result="fail"/><test-case name="K2-ComputeConAttr-43" result="fail"/><test-case name="K2-ComputeConAttr-44" result="pass"/><test-case name="K2-ComputeConAttr-45" result="pass"/><test-case name="K2-ComputeConAttr-46" result="pass"/><test-case name="K2-ComputeConAttr-47" result="pass"/><test-case name="K2-ComputeConAttr-48" result="pass"/><test-case name="K2-ComputeConAttr-49" result="pass"/><test-case name="K2-ComputeConAttr-50" result="pass"/><test-case name="K2-ComputeConAttr-51" result="pass"/><test-case name="K2-ComputeConAttr-52" result="pass"/><test-case name="K2-ComputeConAttr-53" result="pass"/><test-case name="K2-ComputeConAttr-54" result="pass"/><test-case name="K2-ComputeConAttr-55" result="fail"/><test-case name="K2-ComputeConAttr-56" result="fail"/><test-case name="K2-ComputeConAttr-57" result="pass"/><test-case name="K2-ComputeConAttr-58" result="pass"/><test-case name="K2-ComputeConAttr-59" result="pass"/><test-case name="K2-ComputeConAttr-60" result="pass"/><test-case name="K2-ComputeConAttr-61" result="pass"/><test-case name="Constr-docnode-adjtext-1" result="pass"/><test-case name="Constr-docnode-adjtext-2" result="pass"/><test-case name="Constr-docnode-adjtext-3" result="pass"/><test-case name="Constr-docnode-nested-1" result="pass"/><test-case name="Constr-docnode-nested-2" result="pass"/><test-case name="Constr-docnode-enclexpr-1" result="pass"/><test-case name="Constr-docnode-enclexpr-2" result="pass"/><test-case name="Constr-docnode-enclexpr-3" result="pass"/><test-case name="Constr-docnode-enclexpr-4" result="pass"/><test-case name="Constr-docnode-nodeid-1" result="pass"/><test-case name="Constr-docnode-nodeid-3" result="pass"/><test-case name="Constr-docnode-nodeid-4" result="pass"/><test-case name="Constr-docnode-nodeid-5" result="pass"/><test-case name="Constr-docnode-constrmod-1" result="pass"/><test-case name="Constr-docnode-constrmod-2" result="pass"/><test-case name="Constr-docnode-constrmod-3" result="pass"/><test-case name="Constr-docnode-constrmod-4" result="pass"/><test-case name="Constr-docnode-doc-1" result="pass"/><test-case name="Constr-docnode-parent-1" result="pass"/><test-case name="Constr-docnode-string-1" result="pass"/><test-case name="Constr-docnode-data-1" result="pass"/><test-case name="Constr-docnode-attr-1" result="pass"/><test-case name="Constr-docnode-attr-2" result="pass"/><test-case name="Constr-docnode-attr-3" result="pass"/><test-case name="K2-ConDocNode-1" result="pass"/><test-case name="K2-ConDocNode-2" result="pass"/><test-case name="K2-ConDocNode-3" result="pass"/><test-case name="K2-ConDocNode-4" result="pass"/><test-case name="K2-ConDocNode-5" result="pass"/><test-case name="K2-ConDocNode-6" result="pass"/><test-case name="K2-ConDocNode-7" result="pass"/><test-case name="K2-ConDocNode-8" result="pass"/><test-case name="K2-ConDocNode-9" result="pass"/><test-case name="K2-ConDocNode-10" result="pass"/><test-case name="K2-ConDocNode-11" result="pass"/><test-case name="K2-ConDocNode-12" result="pass"/><test-case name="K2-ConDocNode-13" result="pass"/><test-case name="K2-ConDocNode-14" result="pass"/><test-case name="K2-ConDocNode-15" result="pass"/><test-case name="K2-ConDocNode-16" result="pass"/><test-case name="K2-ConDocNode-17" result="pass"/><test-case name="K2-ConDocNode-18" result="pass"/><test-case name="K2-ConDocNode-19" result="pass"/><test-case name="K2-ConDocNode-20" result="pass"/><test-case name="K2-ConDocNode-21" result="pass"/><test-case name="K2-ConDocNode-22" result="pass"/><test-case name="K2-ConDocNode-23" result="pass"/><test-case name="K2-ConDocNode-24" result="pass"/><test-case name="K2-ConDocNode-25" result="pass"/><test-case name="K2-ConDocNode-26" result="pass"/><test-case name="K2-ConDocNode-27" result="pass"/><test-case name="K2-ConDocNode-28" result="pass"/><test-case name="K2-ConDocNode-29" result="pass"/><test-case name="K2-ConDocNode-30" result="pass"/><test-case name="K2-ConDocNode-31" result="pass"/><test-case name="K2-ConDocNode-32" result="pass"/><test-case name="Constr-text-enclexpr-1" result="pass"/><test-case name="Constr-text-enclexpr-2" result="pass"/><test-case name="Constr-text-enclexpr-3" result="pass"/><test-case name="Constr-text-enclexpr-4" result="pass"/><test-case name="Constr-text-enclexpr-5" result="pass"/><test-case name="Constr-text-doc-1" result="pass"/><test-case name="Constr-text-parent-1" result="pass"/><test-case name="Constr-text-string-1" result="pass"/><test-case name="Constr-text-data-1" result="pass"/><test-case name="Constr-text-count-1" result="pass"/><test-case name="Constr-text-count-2" result="pass"/><test-case name="Constr-text-count-3" result="pass"/><test-case name="Constr-text-count-4" result="pass"/><test-case name="Constr-text-count-5" result="pass"/><test-case name="Constr-text-count-6" result="pass"/><test-case name="Constr-text-adjtext-1" result="pass"/><test-case name="Constr-text-adjtext-2" result="pass"/><test-case name="Constr-text-nested-1" result="pass"/><test-case name="Constr-text-nested-2" result="pass"/><test-case name="Constr-text-nested-3" result="pass"/><test-case name="K2-ConText-1" result="pass"/><test-case name="K2-ConText-2" result="pass"/><test-case name="K2-ConText-3" result="pass"/><test-case name="K2-ConText-4" result="pass"/><test-case name="K2-ConText-5" result="pass"/><test-case name="K2-ConText-6" result="pass"/><test-case name="K2-ConText-7" result="pass"/><test-case name="K2-ConText-8" result="pass"/><test-case name="K2-ConText-9" result="pass"/><test-case name="K2-ConText-10" result="pass"/><test-case name="K2-ConText-11" result="pass"/><test-case name="K2-ConText-12" result="pass"/><test-case name="K2-ConText-13" result="pass"/><test-case name="K2-ConText-14" result="pass"/><test-case name="K2-ConText-15" result="pass"/><test-case name="Constr-comppi-name-1" result="pass"/><test-case name="Constr-comppi-name-2" result="pass"/><test-case name="Constr-comppi-compname-1" result="pass"/><test-case name="Constr-comppi-compname-2" result="pass"/><test-case name="Constr-comppi-compname-3" result="pass"/><test-case name="Constr-comppi-compname-4" result="pass"/><test-case name="Constr-comppi-compname-5" result="pass"/><test-case name="Constr-comppi-compname-6" result="pass"/><test-case name="Constr-comppi-compname-7" result="pass"/><test-case name="Constr-comppi-compname-8" result="pass"/><test-case name="Constr-comppi-compname-9" result="pass"/><test-case name="Constr-comppi-compname-10" result="pass"/><test-case name="Constr-comppi-compname-11" result="pass"/><test-case name="Constr-comppi-compname-12" result="pass"/><test-case name="Constr-comppi-compname-13" result="pass"/><test-case name="Constr-comppi-compname-15" result="pass"/><test-case name="Constr-comppi-compname-16" result="pass"/><test-case name="Constr-comppi-compname-18" result="pass"/><test-case name="Constr-comppi-compname-19" result="pass"/><test-case name="Constr-comppi-doc-1" result="pass"/><test-case name="Constr-comppi-parent-1" result="pass"/><test-case name="Constr-comppi-string-1" result="pass"/><test-case name="Constr-comppi-data-1" result="pass"/><test-case name="Constr-comppi-enclexpr-1" result="pass"/><test-case name="Constr-comppi-enclexpr-2" result="pass"/><test-case name="Constr-comppi-enclexpr-3" result="pass"/><test-case name="Constr-comppi-enclexpr-4" result="pass"/><test-case name="Constr-comppi-enclexpr-5" result="pass"/><test-case name="Constr-comppi-namexml-1" result="pass"/><test-case name="Constr-comppi-namexml-2" result="pass"/><test-case name="Constr-comppi-namexml-3" result="pass"/><test-case name="Constr-comppi-namexml-4" result="pass"/><test-case name="Constr-comppi-invalid-1" result="pass"/><test-case name="Constr-comppi-invalid-2" result="pass"/><test-case name="Constr-comppi-invalid-3" result="pass"/><test-case name="Constr-comppi-space-1" result="pass"/><test-case name="Constr-comppi-space-2" result="pass"/><test-case name="Constr-comppi-space-3" result="pass"/><test-case name="Constr-comppi-space-4" result="pass"/><test-case name="Constr-comppi-empty-1" result="pass"/><test-case name="Constr-comppi-empty-2" result="pass"/><test-case name="K2-ComputeConPI-1" result="pass"/><test-case name="K2-ComputeConPI-2" result="pass"/><test-case name="K2-ComputeConPI-3" result="pass"/><test-case name="K2-ComputeConPI-4" result="pass"/><test-case name="K2-ComputeConPI-5" result="pass"/><test-case name="K2-ComputeConPI-6" result="pass"/><test-case name="K2-ComputeConPI-7" result="pass"/><test-case name="K2-ComputeConPI-8" result="pass"/><test-case name="K2-ComputeConPI-9" result="pass"/><test-case name="K2-ComputeConPI-10" result="pass"/><test-case name="K2-ComputeConPI-11" result="pass"/><test-case name="Constr-compcomment-enclexpr-1" result="pass"/><test-case name="Constr-compcomment-enclexpr-2" result="pass"/><test-case name="Constr-compcomment-enclexpr-3" result="pass"/><test-case name="Constr-compcomment-enclexpr-4" result="pass"/><test-case name="Constr-compcomment-enclexpr-5" result="pass"/><test-case name="Constr-compcomment-doc-1" result="pass"/><test-case name="Constr-compcomment-parent-1" result="pass"/><test-case name="Constr-compcomment-string-1" result="pass"/><test-case name="Constr-compcomment-data-1" result="pass"/><test-case name="Constr-compcomment-nested-1" result="pass"/><test-case name="Constr-compcomment-nested-2" result="pass"/><test-case name="Constr-compcomment-nested-3" result="pass"/><test-case name="Constr-compcomment-dash-1" result="pass"/><test-case name="Constr-compcomment-dash-2" result="pass"/><test-case name="Constr-compcomment-dash-3" result="pass"/><test-case name="Constr-compcomment-dash-4" result="pass"/><test-case name="Constr-compcomment-doubledash-1" result="pass"/><test-case name="Constr-compcomment-doubledash-2" result="pass"/><test-case name="Constr-compcomment-doubledash-3" result="pass"/><test-case name="Constr-compcomment-doubledash-4" result="pass"/><test-case name="Constr-compcomment-doubledash-5" result="pass"/><test-case name="K2-ComputeConComment-1" result="pass"/><test-case name="K2-ComputeConComment-2" result="pass"/><test-case name="K2-ComputeConComment-3" result="pass"/><test-case name="K2-ComputeConComment-4" result="pass"/><test-case name="K2-ComputeConComment-5" result="pass"/><test-case name="Constr-inscope-1" result="not tested"/><test-case name="Constr-inscope-2" result="not tested"/><test-case name="Constr-inscope-3" result="not tested"/><test-case name="Constr-inscope-4" result="not tested"/><test-case name="Constr-inscope-5" result="pass"/><test-case name="Constr-inscope-6" result="pass"/><test-case name="Constr-inscope-7" result="pass"/><test-case name="Constr-inscope-8" result="pass"/><test-case name="Constr-inscope-9" result="pass"/><test-case name="Constr-inscope-10" result="pass"/><test-case name="Constr-inscope-11" result="pass"/><test-case name="Constr-inscope-12" result="pass"/><test-case name="Constr-inscope-13" result="pass"/><test-case name="Constr-inscope-14" result="pass"/><test-case name="Constr-inscope-15" result="pass"/><test-case name="Constr-inscope-16" result="pass"/><test-case name="Constr-inscope-17" result="pass"/><test-case name="Constr-inscope-18" result="pass"/><test-case name="Constr-inscope-19" result="pass"/><test-case name="Constr-inscope-20" result="pass"/><test-case name="K2-ConInScopeNamespace-1" result="pass"/><test-case name="ForExpr001" result="pass"/><test-case name="ForExpr002" result="pass"/><test-case name="ForExpr003" result="pass"/><test-case name="ForExpr004" result="pass"/><test-case name="ForExpr005" result="pass"/><test-case name="ForExpr006" result="pass"/><test-case name="ForExpr007" result="pass"/><test-case name="ForExpr008" result="pass"/><test-case name="ForExpr009" result="pass"/><test-case name="ForExpr010" result="pass"/><test-case name="ForExpr011" result="pass"/><test-case name="ForExpr012" result="pass"/><test-case name="ForExpr013" result="pass"/><test-case name="ForExpr014" result="pass"/><test-case name="ForExpr015" result="pass"/><test-case name="ForExpr016" result="pass"/><test-case name="ForExpr017" result="pass"/><test-case name="ForExpr018" result="pass"/><test-case name="ForExpr019" result="pass"/><test-case name="ForExpr020" result="pass"/><test-case name="ForExpr021" result="pass"/><test-case name="ForExpr022" result="pass"/><test-case name="ForExpr023" result="pass"/><test-case name="ForExpr024" result="pass"/><test-case name="ForExpr025" result="pass"/><test-case name="ForExpr026" result="pass"/><test-case name="ForExpr027" result="pass"/><test-case name="ForExpr028" result="pass"/><test-case name="ForExpr029" result="pass"/><test-case name="ForExpr030" result="pass"/><test-case name="ForExpr031" result="pass"/><test-case name="K-ForExprWithout-1" result="pass"/><test-case name="K-ForExprWithout-2" result="pass"/><test-case name="K-ForExprWithout-3" result="pass"/><test-case name="K-ForExprWithout-4" result="pass"/><test-case name="K-ForExprWithout-5" result="pass"/><test-case name="K-ForExprWithout-6" result="pass"/><test-case name="K-ForExprWithout-7" result="pass"/><test-case name="K-ForExprWithout-8" result="pass"/><test-case name="K-ForExprWithout-9" result="pass"/><test-case name="K-ForExprWithout-10" result="pass"/><test-case name="K-ForExprWithout-11" result="pass"/><test-case name="K-ForExprWithout-12" result="pass"/><test-case name="K-ForExprWithout-13" result="pass"/><test-case name="K-ForExprWithout-14" result="pass"/><test-case name="K-ForExprWithout-15" result="pass"/><test-case name="K-ForExprWithout-16" result="pass"/><test-case name="K-ForExprWithout-17" result="pass"/><test-case name="K-ForExprWithout-18" result="pass"/><test-case name="K-ForExprWithout-19" result="pass"/><test-case name="K-ForExprWithout-20" result="pass"/><test-case name="K-ForExprWithout-21" result="pass"/><test-case name="K-ForExprWithout-22" result="pass"/><test-case name="K-ForExprWithout-23" result="pass"/><test-case name="K-ForExprWithout-24" result="pass"/><test-case name="K-ForExprWithout-25" result="pass"/><test-case name="K-ForExprWithout-26" result="pass"/><test-case name="K-ForExprWithout-27" result="pass"/><test-case name="K-ForExprWithout-28" result="pass"/><test-case name="K-ForExprWithout-29" result="pass"/><test-case name="K-ForExprWithout-30" result="pass"/><test-case name="K-ForExprWithout-31" result="pass"/><test-case name="K-ForExprWithout-32" result="pass"/><test-case name="K-ForExprWithout-33" result="pass"/><test-case name="K-ForExprWithout-34" result="pass"/><test-case name="K-ForExprWithout-35" result="pass"/><test-case name="K-ForExprWithout-36" result="pass"/><test-case name="K-ForExprWithout-37" result="pass"/><test-case name="K-ForExprWithout-38" result="pass"/><test-case name="K-ForExprWithout-39" result="pass"/><test-case name="K-ForExprWithout-40" result="pass"/><test-case name="K-ForExprWithout-41" result="pass"/><test-case name="K-ForExprWithout-42" result="pass"/><test-case name="K-ForExprWithout-43" result="pass"/><test-case name="K-ForExprWithout-44" result="pass"/><test-case name="K-ForExprWithout-45" result="pass"/><test-case name="K-ForExprWithout-46" result="pass"/><test-case name="K-ForExprWithout-47" result="pass"/><test-case name="K-ForExprWithout-48" result="pass"/><test-case name="K-ForExprWithout-49" result="pass"/><test-case name="K-ForExprWithout-50" result="pass"/><test-case name="K-ForExprWithout-51" result="pass"/><test-case name="K-ForExprWithout-52" result="pass"/><test-case name="K-ForExprWithout-53" result="pass"/><test-case name="K-ForExprWithout-54" result="pass"/><test-case name="K-ForExprWithout-55" result="pass"/><test-case name="K-ForExprWithout-56" result="pass"/><test-case name="K2-ForExprWithout-1" result="pass"/><test-case name="K2-ForExprWithout-2" result="pass"/><test-case name="K2-ForExprWithout-3" result="pass"/><test-case name="K2-ForExprWithout-4" result="pass"/><test-case name="K2-ForExprWithout-5" result="pass"/><test-case name="K2-ForExprWithout-6" result="pass"/><test-case name="K2-ForExprWithout-7" result="pass"/><test-case name="K2-ForExprWithout-8" result="pass"/><test-case name="K2-ForExprWithout-9" result="pass"/><test-case name="K2-ForExprWithout-10" result="fail"/><test-case name="K2-ForExprWithout-11" result="pass"/><test-case name="K2-ForExprWithout-12" result="pass"/><test-case name="K2-ForExprWithout-13" result="pass"/><test-case name="K2-ForExprWithout-14" result="pass"/><test-case name="K2-ForExprWithout-15" result="pass"/><test-case name="K2-ForExprWithout-16" result="pass"/><test-case name="K2-ForExprWithout-17" result="pass"/><test-case name="K2-ForExprWithout-18" result="pass"/><test-case name="K2-ForExprWithout-19" result="pass"/><test-case name="K2-ForExprWithout-20" result="pass"/><test-case name="K2-ForExprWithout-21" result="pass"/><test-case name="K2-ForExprWithout-22" result="pass"/><test-case name="K2-ForExprWithout-23" result="pass"/><test-case name="K2-ForExprWithout-24" result="pass"/><test-case name="K2-ForExprWithout-25" result="pass"/><test-case name="K2-ForExprWithout-26" result="pass"/><test-case name="K2-ForExprWithout-27" result="pass"/><test-case name="K2-ForExprWithout-28" result="pass"/><test-case name="K2-ForExprWithout-29" result="pass"/><test-case name="K2-ForExprWithout-30" result="pass"/><test-case name="K2-ForExprWithout-31" result="pass"/><test-case name="K2-ForExprWithout-32" result="pass"/><test-case name="K2-ForExprWithout-33" result="pass"/><test-case name="K2-ForExprWithout-34" result="pass"/><test-case name="K2-ForExprWithout-35" result="pass"/><test-case name="K2-ForExprWithout-36" result="pass"/><test-case name="K2-ForExprWithout-37" result="pass"/><test-case name="K2-ForExprWithout-38" result="pass"/><test-case name="K2-ForExprWithout-39" result="pass"/><test-case name="K2-ForExprWithout-40" result="pass"/><test-case name="K2-ForExprWithout-41" result="pass"/><test-case name="K2-ForExprWithout-42" result="pass"/><test-case name="K2-ForExprWithout-43" result="pass"/><test-case name="K2-ForExprWithout-44" result="pass"/><test-case name="K2-ForExprWithout-45" result="pass"/><test-case name="ForExprType001" result="pass"/><test-case name="ForExprType002" result="pass"/><test-case name="ForExprType003" result="pass"/><test-case name="ForExprType004" result="pass"/><test-case name="ForExprType005" result="pass"/><test-case name="ForExprType006" result="pass"/><test-case name="ForExprType007" result="pass"/><test-case name="ForExprType008" result="pass"/><test-case name="ForExprType009" result="pass"/><test-case name="ForExprType011" result="pass"/><test-case name="ForExprType012" result="pass"/><test-case name="ForExprType013" result="pass"/><test-case name="ForExprType014" result="fail"/><test-case name="ForExprType015" result="pass"/><test-case name="ForExprType016" result="pass"/><test-case name="ForExprType017" result="pass"/><test-case name="ForExprType018" result="pass"/><test-case name="ForExprType019" result="pass"/><test-case name="ForExprType020" result="pass"/><test-case name="ForExprType021" result="pass"/><test-case name="ForExprType022" result="pass"/><test-case name="ForExprType023" result="pass"/><test-case name="ForExprType024" result="pass"/><test-case name="ForExprType028" result="pass"/><test-case name="ForExprType029" result="pass"/><test-case name="ForExprType030" result="pass"/><test-case name="ForExprType031" result="pass"/><test-case name="ForExprType032" result="pass"/><test-case name="ForExprType033" result="pass"/><test-case name="ForExprType034" result="pass"/><test-case name="ForExprType035" result="pass"/><test-case name="ForExprType036" result="pass"/><test-case name="ForExprType045" result="pass"/><test-case name="ForExprType046" result="pass"/><test-case name="ForExprType047" result="pass"/><test-case name="ForExprType054" result="pass"/><test-case name="ForExprType055" result="pass"/><test-case name="ForExprType056" result="pass"/><test-case name="ForExprType057" result="pass"/><test-case name="ForExprType058" result="pass"/><test-case name="ForExprType059" result="pass"/><test-case name="ForExprType060" result="pass"/><test-case name="ForExprType061" result="pass"/><test-case name="ForExprType062" result="pass"/><test-case name="ForExprType063" result="pass"/><test-case name="ForExprType064" result="pass"/><test-case name="ForExprType065" result="pass"/><test-case name="ForExprType066" result="pass"/><test-case name="ForExprType067" result="pass"/><test-case name="ForExprType068" result="pass"/><test-case name="ForExprType069" result="pass"/><test-case name="ForExprType070" result="pass"/><test-case name="ForExprType071" result="pass"/><test-case name="ForExprType072" result="pass"/><test-case name="ForExprType073" result="pass"/><test-case name="K2-ForExprWith-1" result="pass"/><test-case name="K-ForExprPositionalVar-1" result="pass"/><test-case name="K-ForExprPositionalVar-2" result="pass"/><test-case name="K-ForExprPositionalVar-3" result="pass"/><test-case name="K-ForExprPositionalVar-4" result="pass"/><test-case name="K-ForExprPositionalVar-5" result="pass"/><test-case name="K-ForExprPositionalVar-6" result="pass"/><test-case name="K-ForExprPositionalVar-7" result="pass"/><test-case name="K-ForExprPositionalVar-8" result="pass"/><test-case name="K-ForExprPositionalVar-9" result="pass"/><test-case name="K-ForExprPositionalVar-10" result="pass"/><test-case name="K-ForExprPositionalVar-11" result="pass"/><test-case name="K-ForExprPositionalVar-12" result="pass"/><test-case name="K-ForExprPositionalVar-13" result="pass"/><test-case name="K-ForExprPositionalVar-14" result="pass"/><test-case name="K-ForExprPositionalVar-15" result="pass"/><test-case name="K-ForExprPositionalVar-16" result="pass"/><test-case name="K-ForExprPositionalVar-17" result="pass"/><test-case name="K-ForExprPositionalVar-18" result="pass"/><test-case name="K-ForExprPositionalVar-19" result="pass"/><test-case name="K-ForExprPositionalVar-20" result="pass"/><test-case name="K-ForExprPositionalVar-21" result="pass"/><test-case name="K-ForExprPositionalVar-22" result="pass"/><test-case name="K-ForExprPositionalVar-23" result="pass"/><test-case name="K-ForExprPositionalVar-24" result="pass"/><test-case name="K-ForExprPositionalVar-25" result="pass"/><test-case name="K-ForExprPositionalVar-26" result="pass"/><test-case name="K-ForExprPositionalVar-27" result="pass"/><test-case name="K-ForExprPositionalVar-28" result="pass"/><test-case name="K-ForExprPositionalVar-29" result="pass"/><test-case name="K-ForExprPositionalVar-30" result="pass"/><test-case name="K2-ForExprPositionalVar-1" result="pass"/><test-case name="K2-ForExprPositionalVar-2" result="pass"/><test-case name="K2-ForExprPositionalVar-3" result="pass"/><test-case name="K2-ForExprPositionalVar-4" result="pass"/><test-case name="LetExpr001" result="pass"/><test-case name="LetExpr002" result="pass"/><test-case name="LetExpr003" result="pass"/><test-case name="LetExpr004" result="pass"/><test-case name="LetExpr005" result="pass"/><test-case name="LetExpr006" result="pass"/><test-case name="LetExpr007" result="pass"/><test-case name="LetExpr008" result="pass"/><test-case name="LetExpr009" result="pass"/><test-case name="LetExpr010" result="pass"/><test-case name="LetExpr011" result="pass"/><test-case name="LetExpr012" result="pass"/><test-case name="LetExpr013" result="pass"/><test-case name="LetExpr014" result="pass"/><test-case name="LetExpr015" result="pass"/><test-case name="LetExpr016" result="pass"/><test-case name="LetExpr017" result="pass"/><test-case name="LetExpr018" result="pass"/><test-case name="LetExpr019" result="pass"/><test-case name="LetExpr020" result="pass"/><test-case name="LetExpr021" result="pass"/><test-case name="K-LetExprWithout-1" result="pass"/><test-case name="K-LetExprWithout-2" result="pass"/><test-case name="K-LetExprWithout-3" result="pass"/><test-case name="K-LetExprWithout-4" result="pass"/><test-case name="K2-LetExprWithout-1" result="pass"/><test-case name="K2-LetExprWithout-2" result="pass"/><test-case name="K2-LetExprWithout-3" result="pass"/><test-case name="K2-LetExprWithout-4" result="pass"/><test-case name="K2-LetExprWithout-5" result="pass"/><test-case name="K2-LetExprWithout-6" result="pass"/><test-case name="K2-LetExprWithout-7" result="pass"/><test-case name="K2-LetExprWithout-8" result="pass"/><test-case name="K2-LetExprWithout-9" result="pass"/><test-case name="K2-LetExprWithout-10" result="pass"/><test-case name="K2-LetExprWithout-11" result="pass"/><test-case name="K2-LetExprWithout-12" result="pass"/><test-case name="K2-LetExprWithout-13" result="pass"/><test-case name="K2-LetExprWithout-14" result="pass"/><test-case name="K2-LetExprWithout-15" result="pass"/><test-case name="K2-LetExprWithout-16" result="fail"/><test-case name="K2-LetExprWithout-17" result="pass"/><test-case name="K2-LetExprWithout-18" result="pass"/><test-case name="K2-LetExprWithout-19" result="pass"/><test-case name="K2-LetExprWithout-20" result="pass"/><test-case name="K2-LetExprWithout-21" result="pass"/><test-case name="K2-LetExprWithout-22" result="pass"/><test-case name="K2-LetExprWithout-23" result="pass"/><test-case name="K2-LetExprWithout-24" result="pass"/><test-case name="K2-LetExprWithout-25" result="fail"/><test-case name="letexprwith-1" result="pass"/><test-case name="letexprwith-2" result="pass"/><test-case name="letexprwith-3" result="pass"/><test-case name="letexprwith-4" result="pass"/><test-case name="letexprwith-5" result="pass"/><test-case name="letexprwith-6" result="pass"/><test-case name="letexprwith-7" result="pass"/><test-case name="letexprwith-8" result="pass"/><test-case name="letexprwith-9" result="pass"/><test-case name="letexprwith-10" result="pass"/><test-case name="letexprwith-11" result="pass"/><test-case name="letexprwith-12" result="pass"/><test-case name="letexprwith-13" result="pass"/><test-case name="letexprwith-14" result="pass"/><test-case name="letexprwith-15" result="pass"/><test-case name="letexprwith-16" result="pass"/><test-case name="letexprwith-17" result="pass"/><test-case name="letexprwith-18" result="pass"/><test-case name="letexprwith-19" result="pass"/><test-case name="letexprwith-20" result="pass"/><test-case name="letexprwith-21" result="pass"/><test-case name="letexprwith-22" result="pass"/><test-case name="letexprwith-23" result="pass"/><test-case name="letexprwith-24" result="pass"/><test-case name="WhereExpr001" result="pass"/><test-case name="WhereExpr002" result="pass"/><test-case name="WhereExpr003" result="pass"/><test-case name="WhereExpr004" result="pass"/><test-case name="WhereExpr005" result="pass"/><test-case name="WhereExpr006" result="pass"/><test-case name="WhereExpr007" result="pass"/><test-case name="WhereExpr008" result="pass"/><test-case name="WhereExpr009" result="pass"/><test-case name="WhereExpr010" result="pass"/><test-case name="WhereExpr013" result="pass"/><test-case name="WhereExpr014" result="pass"/><test-case name="WhereExpr015" result="pass"/><test-case name="WhereExpr016" result="pass"/><test-case name="WhereExpr017" result="pass"/><test-case name="WhereExpr018" result="pass"/><test-case name="WhereExpr019" result="pass"/><test-case name="WhereExpr020" result="pass"/><test-case name="whereClause-1" result="pass"/><test-case name="whereClause-2" result="pass"/><test-case name="whereClause-3" result="pass"/><test-case name="whereClause-4" result="pass"/><test-case name="whereClause-5" result="pass"/><test-case name="whereClause-6" result="pass"/><test-case name="whereClause-7" result="pass"/><test-case name="whereClause-8" result="pass"/><test-case name="whereClause-9" result="pass"/><test-case name="whereClause-10" result="pass"/><test-case name="whereClause-11" result="pass"/><test-case name="K-WhereExpr-1" result="pass"/><test-case name="K-WhereExpr-2" result="pass"/><test-case name="K-WhereExpr-3" result="pass"/><test-case name="K-WhereExpr-4" result="pass"/><test-case name="K-WhereExpr-5" result="pass"/><test-case name="K-WhereExpr-6" result="pass"/><test-case name="K-WhereExpr-7" result="pass"/><test-case name="K-WhereExpr-8" result="pass"/><test-case name="K-WhereExpr-9" result="pass"/><test-case name="K-WhereExpr-10" result="pass"/><test-case name="K-WhereExpr-11" result="pass"/><test-case name="K2-WhereExpr-1" result="pass"/><test-case name="K2-WhereExpr-2" result="pass"/><test-case name="orderBy1" result="pass"/><test-case name="orderBy2" result="pass"/><test-case name="orderBy3" result="pass"/><test-case name="orderBy4" result="pass"/><test-case name="orderBy5" result="pass"/><test-case name="orderBy6" result="pass"/><test-case name="orderBy7" result="pass"/><test-case name="orderBy8" result="pass"/><test-case name="orderBy9" result="pass"/><test-case name="orderBy10" result="pass"/><test-case name="orderBy11" result="pass"/><test-case name="orderBy12" result="pass"/><test-case name="orderBy13" result="pass"/><test-case name="orderBy14" result="pass"/><test-case name="orderBy15" result="pass"/><test-case name="orderBy16" result="pass"/><test-case name="orderBy17" result="pass"/><test-case name="orderBy18" result="pass"/><test-case name="orderBy19" result="pass"/><test-case name="orderBy20" result="pass"/><test-case name="orderBy21" result="pass"/><test-case name="orderBy22" result="pass"/><test-case name="orderBy23" result="pass"/><test-case name="orderBy24" result="pass"/><test-case name="orderBy25" result="pass"/><test-case name="orderBy26" result="pass"/><test-case name="orderBy27" result="pass"/><test-case name="orderBy28" result="pass"/><test-case name="orderBy29" result="pass"/><test-case name="orderBy30" result="pass"/><test-case name="orderBy31" result="pass"/><test-case name="orderBy32" result="pass"/><test-case name="orderBy33" result="pass"/><test-case name="orderBy34" result="pass"/><test-case name="orderBy35" result="pass"/><test-case name="orderBy36" result="pass"/><test-case name="orderBy37" result="pass"/><test-case name="orderBy38" result="pass"/><test-case name="orderBy39" result="pass"/><test-case name="orderBy40" result="pass"/><test-case name="orderBy41" result="pass"/><test-case name="orderBy42" result="pass"/><test-case name="orderBy43" result="pass"/><test-case name="orderBy44" result="pass"/><test-case name="orderBy45" result="pass"/><test-case name="orderBy46" result="pass"/><test-case name="orderBy47" result="pass"/><test-case name="orderBy49" result="pass"/><test-case name="orderBy50" result="pass"/><test-case name="orderBy51" result="pass"/><test-case name="orderBy52" result="pass"/><test-case name="orderBy53" result="pass"/><test-case name="orderBy54" result="pass"/><test-case name="orderBy55" result="pass"/><test-case name="orderBy56" result="pass"/><test-case name="orderBy57" result="pass"/><test-case name="orderBy59" result="pass"/><test-case name="orderbylocal-1" result="pass"/><test-case name="orderbylocal-2" result="pass"/><test-case name="orderbylocal-3" result="pass"/><test-case name="orderbylocal-4" result="pass"/><test-case name="orderbylocal-5" result="pass"/><test-case name="orderbylocal-6" result="pass"/><test-case name="orderbylocal-7" result="pass"/><test-case name="orderbylocal-8" result="pass"/><test-case name="orderbylocal-9" result="pass"/><test-case name="orderbylocal-10" result="pass"/><test-case name="orderbylocal-11" result="pass"/><test-case name="orderbylocal-12" result="pass"/><test-case name="orderbylocal-16" result="pass"/><test-case name="orderbylocal-17" result="pass"/><test-case name="orderbylocal-18" result="pass"/><test-case name="orderbylocal-19" result="pass"/><test-case name="orderbylocal-20" result="pass"/><test-case name="orderbylocal-21" result="pass"/><test-case name="orderbylocal-22" result="pass"/><test-case name="orderbylocal-25" result="pass"/><test-case name="orderbylocal-26" result="pass"/><test-case name="orderbylocal-27" result="pass"/><test-case name="orderbylocal-28" result="pass"/><test-case name="orderbylocal-29" result="pass"/><test-case name="orderbylocal-30" result="pass"/><test-case name="orderbylocal-31" result="pass"/><test-case name="orderbylocal-32" result="pass"/><test-case name="orderbylocal-35" result="pass"/><test-case name="orderbylocal-36" result="pass"/><test-case name="orderbylocal-37" result="pass"/><test-case name="orderbylocal-38" result="pass"/><test-case name="orderbylocal-39" result="pass"/><test-case name="orderbylocal-40" result="pass"/><test-case name="orderbylocal-41" result="pass"/><test-case name="orderbylocal-42" result="pass"/><test-case name="orderbylocal-43" result="pass"/><test-case name="orderbylocal-44" result="pass"/><test-case name="orderbylocal-45" result="pass"/><test-case name="orderbylocal-46" result="pass"/><test-case name="orderbylocal-47" result="pass"/><test-case name="orderbylocal-49" result="pass"/><test-case name="orderbylocal-50" result="pass"/><test-case name="orderbylocal-51" result="pass"/><test-case name="orderbylocal-52" result="pass"/><test-case name="orderbylocal-55" result="pass"/><test-case name="orderbylocal-56" result="pass"/><test-case name="orderbylocal-57" result="pass"/><test-case name="orderbylocal-59" result="pass"/><test-case name="orderbylocal-60" result="pass"/><test-case name="orderbywithout-1" result="pass"/><test-case name="orderbywithout-2" result="pass"/><test-case name="orderbywithout-3" result="pass"/><test-case name="orderbywithout-4" result="pass"/><test-case name="orderbywithout-5" result="pass"/><test-case name="orderbywithout-6" result="pass"/><test-case name="orderbywithout-7" result="pass"/><test-case name="orderbywithout-8" result="pass"/><test-case name="orderbywithout-9" result="pass"/><test-case name="orderbywithout-10" result="pass"/><test-case name="orderbywithout-11" result="pass"/><test-case name="orderbywithout-12" result="pass"/><test-case name="orderbywithout-13" result="pass"/><test-case name="orderbywithout-14" result="pass"/><test-case name="orderbywithout-15" result="pass"/><test-case name="orderbywithout-16" result="pass"/><test-case name="orderbywithout-17" result="pass"/><test-case name="orderbywithout-18" result="pass"/><test-case name="orderbywithout-19" result="pass"/><test-case name="orderbywithout-20" result="pass"/><test-case name="orderbywithout-21" result="pass"/><test-case name="orderbywithout-22" result="pass"/><test-case name="orderbywithout-23" result="pass"/><test-case name="orderbywithout-24" result="pass"/><test-case name="orderbywithout-25" result="pass"/><test-case name="orderbywithout-26" result="pass"/><test-case name="orderbywithout-27" result="pass"/><test-case name="orderbywithout-28" result="pass"/><test-case name="orderbywithout-29" result="pass"/><test-case name="orderbywithout-30" result="pass"/><test-case name="orderbywithout-31" result="pass"/><test-case name="orderbywithout-32" result="pass"/><test-case name="orderbywithout-33" result="pass"/><test-case name="orderbywithout-34" result="pass"/><test-case name="orderbywithout-35" result="pass"/><test-case name="orderbywithout-36" result="pass"/><test-case name="orderbywithout-37" result="pass"/><test-case name="orderbywithout-38" result="pass"/><test-case name="orderbywithout-39" result="pass"/><test-case name="orderbywithout-40" result="pass"/><test-case name="K2-OrderbyExprWithout-1" result="pass"/><test-case name="K2-OrderbyExprWithout-2" result="pass"/><test-case name="K2-OrderbyExprWithout-3" result="pass"/><test-case name="K2-OrderbyExprWithout-4" result="pass"/><test-case name="K2-OrderbyExprWithout-5" result="pass"/><test-case name="K2-OrderbyExprWithout-6" result="pass"/><test-case name="K2-OrderbyExprWithout-7" result="pass"/><test-case name="K2-OrderbyExprWithout-8" result="pass"/><test-case name="K2-OrderbyExprWithout-9" result="pass"/><test-case name="K2-OrderbyExprWithout-10" result="pass"/><test-case name="K2-OrderbyExprWithout-11" result="pass"/><test-case name="K2-OrderbyExprWithout-12" result="pass"/><test-case name="K2-OrderbyExprWithout-13" result="pass"/><test-case name="K2-OrderbyExprWithout-14" result="pass"/><test-case name="K2-OrderbyExprWithout-15" result="pass"/><test-case name="K2-OrderbyExprWithout-16" result="pass"/><test-case name="K2-OrderbyExprWithout-17" result="pass"/><test-case name="K2-OrderbyExprWithout-18" result="pass"/><test-case name="K2-OrderbyExprWithout-19" result="pass"/><test-case name="K2-OrderbyExprWithout-20" result="pass"/><test-case name="K2-OrderbyExprWithout-21" result="pass"/><test-case name="K2-OrderbyExprWithout-22" result="pass"/><test-case name="K2-OrderbyExprWithout-23" result="pass"/><test-case name="K2-OrderbyExprWithout-24" result="pass"/><test-case name="K2-OrderbyExprWithout-25" result="pass"/><test-case name="K2-OrderbyExprWithout-26" result="pass"/><test-case name="K2-OrderbyExprWithout-27" result="pass"/><test-case name="K2-OrderbyExprWithout-28" result="pass"/><test-case name="K2-OrderbyExprWithout-29" result="pass"/><test-case name="K2-OrderbyExprWithout-30" result="pass"/><test-case name="K2-OrderbyExprWithout-31" result="pass"/><test-case name="K2-OrderbyExprWithout-32" result="pass"/><test-case name="K2-OrderbyExprWithout-33" result="pass"/><test-case name="K2-OrderbyExprWithout-34" result="pass"/><test-case name="K2-OrderbyExprWithout-35" result="pass"/><test-case name="K2-OrderbyExprWithout-36" result="pass"/><test-case name="K2-OrderbyExprWithout-37" result="pass"/><test-case name="K2-OrderbyExprWithout-38" result="pass"/><test-case name="K2-OrderbyExprWithout-39" result="pass"/><test-case name="K2-OrderbyExprWithout-40" result="pass"/><test-case name="K2-OrderbyExprWithout-41" result="pass"/><test-case name="K2-OrderbyExprWithout-42" result="pass"/><test-case name="K2-OrderbyExprWithout-43" result="pass"/><test-case name="K2-OrderbyExprWithout-44" result="pass"/><test-case name="K2-OrderbyExprWithout-45" result="pass"/><test-case name="K2-OrderbyExprWithout-46" result="pass"/><test-case name="K2-OrderbyExprWithout-47" result="pass"/><test-case name="K2-OrderbyExprWithout-48" result="pass"/><test-case name="K2-OrderbyExprWithout-49" result="pass"/><test-case name="ReturnExpr001" result="pass"/><test-case name="ReturnExpr002" result="pass"/><test-case name="ReturnExpr003" result="pass"/><test-case name="ReturnExpr004" result="pass"/><test-case name="ReturnExpr005" result="pass"/><test-case name="ReturnExpr006" result="pass"/><test-case name="ReturnExpr007" result="pass"/><test-case name="ReturnExpr008" result="pass"/><test-case name="ReturnExpr009" result="pass"/><test-case name="ReturnExpr010" result="pass"/><test-case name="ReturnExpr011" result="pass"/><test-case name="ReturnExpr012" result="pass"/><test-case name="ReturnExpr013" result="pass"/><test-case name="ReturnExpr014" result="pass"/><test-case name="ReturnExpr015" result="pass"/><test-case name="ReturnExpr016" result="pass"/><test-case name="ReturnExpr017" result="pass"/><test-case name="ReturnExpr018" result="pass"/><test-case name="ReturnExpr019" result="pass"/><test-case name="ReturnExpr020" result="pass"/><test-case name="K2-ReturnExpr-1" result="pass"/><test-case name="Orderexpr-1" result="pass"/><test-case name="Orderexpr-2" result="pass"/><test-case name="Orderexpr-5" result="pass"/><test-case name="Orderexpr-6" result="pass"/><test-case name="Orderexpr-9" result="pass"/><test-case name="Orderexpr-10" result="pass"/><test-case name="Orderexpr-11" result="pass"/><test-case name="Orderexpr-12" result="pass"/><test-case name="Orderexpr-13" result="pass"/><test-case name="Orderexpr-14" result="pass"/><test-case name="Orderexpr-15" result="pass"/><test-case name="Orderexpr-16" result="pass"/><test-case name="Orderexpr-17" result="pass"/><test-case name="Orderexpr-18" result="pass"/><test-case name="Orderexpr-19" result="pass"/><test-case name="Orderexpr-20" result="pass"/><test-case name="orderedunorderedexpr-1" result="pass"/><test-case name="orderedunorderedexpr-2" result="pass"/><test-case name="orderedunorderedexpr-3" result="pass"/><test-case name="orderedunorderedexpr-4" result="pass"/><test-case name="orderedunorderedexpr-5" result="pass"/><test-case name="orderedunorderedexpr-6" result="pass"/><test-case name="K-OrderExpr-1" result="pass"/><test-case name="K-OrderExpr-2" result="pass"/><test-case name="K-OrderExpr-3" result="pass"/><test-case name="K-OrderExpr-4" result="pass"/><test-case name="CondExpr002" result="pass"/><test-case name="CondExpr003" result="pass"/><test-case name="CondExpr004" result="pass"/><test-case name="CondExpr005" result="pass"/><test-case name="CondExpr006" result="pass"/><test-case name="CondExpr007" result="pass"/><test-case name="CondExpr008" result="pass"/><test-case name="CondExpr009" result="pass"/><test-case name="CondExpr010" result="pass"/><test-case name="CondExpr011" result="pass"/><test-case name="CondExpr012" result="pass"/><test-case name="CondExpr013" result="pass"/><test-case name="CondExpr014" result="pass"/><test-case name="CondExpr015" result="pass"/><test-case name="CondExpr016" result="pass"/><test-case name="CondExpr017" result="pass"/><test-case name="CondExpr018" result="pass"/><test-case name="CondExpr019" result="pass"/><test-case name="CondExpr20" result="pass"/><test-case name="CondExpr21" result="pass"/><test-case name="K-CondExpr-1" result="pass"/><test-case name="K-CondExpr-2" result="pass"/><test-case name="K-CondExpr-3" result="pass"/><test-case name="K-CondExpr-4" result="pass"/><test-case name="K-CondExpr-5" result="pass"/><test-case name="K-CondExpr-6" result="pass"/><test-case name="K-CondExpr-7" result="pass"/><test-case name="K-CondExpr-8" result="pass"/><test-case name="K-CondExpr-9" result="pass"/><test-case name="K-CondExpr-10" result="pass"/><test-case name="K-CondExpr-11" result="pass"/><test-case name="K-CondExpr-12" result="pass"/><test-case name="K2-CondExpr-1" result="pass"/><test-case name="K2-CondExpr-2" result="pass"/><test-case name="K2-CondExpr-3" result="pass"/><test-case name="K2-CondExpr-4" result="pass"/><test-case name="K2-CondExpr-5" result="pass"/><test-case name="K2-CondExpr-6" result="pass"/><test-case name="K2-CondExpr-7" result="fail"/><test-case name="quantExpr-1" result="pass"/><test-case name="quantExpr-2" result="pass"/><test-case name="quantExpr-3" result="pass"/><test-case name="quantExpr-4" result="pass"/><test-case name="quantExpr-5" result="pass"/><test-case name="quantExpr-6" result="pass"/><test-case name="quantExpr-7" result="pass"/><test-case name="quantExpr-8" result="pass"/><test-case name="quantExpr-9" result="pass"/><test-case name="quantExpr-10" result="pass"/><test-case name="quantExpr-11" result="pass"/><test-case name="quantExpr-12" result="pass"/><test-case name="quantExpr-13" result="pass"/><test-case name="quantExpr-14" result="pass"/><test-case name="quantExpr-15" result="pass"/><test-case name="quantExpr-16" result="pass"/><test-case name="quantExpr-17" result="pass"/><test-case name="quantExpr-18" result="pass"/><test-case name="quantexpr-19" result="pass"/><test-case name="quantExpr-20" result="pass"/><test-case name="quantExpr-21" result="pass"/><test-case name="quantExpr-22" result="pass"/><test-case name="quantExpr-23" result="pass"/><test-case name="quantExpr-24" result="pass"/><test-case name="quantExpr-25" result="pass"/><test-case name="quantExpr-26" result="pass"/><test-case name="quantExpr-27" result="pass"/><test-case name="quantExpr-28" result="pass"/><test-case name="quantExpr-29" result="pass"/><test-case name="quantExpr-30" result="pass"/><test-case name="quantexpr-31" result="pass"/><test-case name="quantexpr-32" result="pass"/><test-case name="quantExpr-33" result="pass"/><test-case name="quantexpr-34" result="pass"/><test-case name="quantexpr-35" result="pass"/><test-case name="quantexpr-36" result="pass"/><test-case name="quantexpr-37" result="pass"/><test-case name="quantexpr-38" result="pass"/><test-case name="quantexpr-39" result="pass"/><test-case name="quantexpr-40" result="pass"/><test-case name="quantexpr-41" result="pass"/><test-case name="quantexpr-42" result="pass"/><test-case name="quantexpr-43" result="pass"/><test-case name="quantexpr-44" result="pass"/><test-case name="quantexpr-45" result="pass"/><test-case name="quantexpr-46" result="pass"/><test-case name="quantexpr-47" result="pass"/><test-case name="quantexpr-48" result="pass"/><test-case name="quantexpr-49" result="pass"/><test-case name="quantexpr-50" result="pass"/><test-case name="quantexpr-51" result="pass"/><test-case name="quantexpr-52" result="pass"/><test-case name="quantexpr-53" result="pass"/><test-case name="quantexpr-54" result="pass"/><test-case name="quantexpr-55" result="pass"/><test-case name="quantexpr-56" result="pass"/><test-case name="quantexpr-57" result="pass"/><test-case name="quantexpr-58" result="pass"/><test-case name="quantexpr-59" result="pass"/><test-case name="K-QuantExprWithout-1" result="pass"/><test-case name="K-QuantExprWithout-2" result="pass"/><test-case name="K-QuantExprWithout-3" result="pass"/><test-case name="K-QuantExprWithout-4" result="pass"/><test-case name="K-QuantExprWithout-5" result="pass"/><test-case name="K-QuantExprWithout-6" result="pass"/><test-case name="K-QuantExprWithout-7" result="pass"/><test-case name="K-QuantExprWithout-8" result="pass"/><test-case name="K-QuantExprWithout-9" result="pass"/><test-case name="K-QuantExprWithout-10" result="pass"/><test-case name="K-QuantExprWithout-11" result="pass"/><test-case name="K-QuantExprWithout-12" result="pass"/><test-case name="K-QuantExprWithout-13" result="pass"/><test-case name="K-QuantExprWithout-14" result="pass"/><test-case name="K-QuantExprWithout-15" result="pass"/><test-case name="K-QuantExprWithout-16" result="pass"/><test-case name="K-QuantExprWithout-17" result="pass"/><test-case name="K-QuantExprWithout-18" result="pass"/><test-case name="K-QuantExprWithout-19" result="pass"/><test-case name="K-QuantExprWithout-20" result="pass"/><test-case name="K-QuantExprWithout-21" result="pass"/><test-case name="K-QuantExprWithout-22" result="pass"/><test-case name="K-QuantExprWithout-23" result="pass"/><test-case name="K-QuantExprWithout-24" result="pass"/><test-case name="K-QuantExprWithout-25" result="pass"/><test-case name="K-QuantExprWithout-26" result="pass"/><test-case name="K-QuantExprWithout-27" result="pass"/><test-case name="K-QuantExprWithout-28" result="pass"/><test-case name="K-QuantExprWithout-29" result="pass"/><test-case name="K-QuantExprWithout-30" result="pass"/><test-case name="K-QuantExprWithout-31" result="pass"/><test-case name="K-QuantExprWithout-32" result="pass"/><test-case name="K-QuantExprWithout-33" result="pass"/><test-case name="K-QuantExprWithout-34" result="pass"/><test-case name="K-QuantExprWithout-35" result="pass"/><test-case name="K-QuantExprWithout-36" result="pass"/><test-case name="K-QuantExprWithout-37" result="pass"/><test-case name="K-QuantExprWithout-38" result="pass"/><test-case name="K-QuantExprWithout-39" result="pass"/><test-case name="K-QuantExprWithout-40" result="pass"/><test-case name="K-QuantExprWithout-41" result="pass"/><test-case name="K-QuantExprWithout-42" result="pass"/><test-case name="K-QuantExprWithout-43" result="pass"/><test-case name="K-QuantExprWithout-44" result="pass"/><test-case name="K-QuantExprWithout-45" result="pass"/><test-case name="K-QuantExprWithout-46" result="pass"/><test-case name="K-QuantExprWithout-47" result="pass"/><test-case name="K-QuantExprWithout-48" result="pass"/><test-case name="K-QuantExprWithout-49" result="pass"/><test-case name="K-QuantExprWithout-50" result="pass"/><test-case name="K-QuantExprWithout-51" result="pass"/><test-case name="K-QuantExprWithout-52" result="pass"/><test-case name="K-QuantExprWithout-53" result="pass"/><test-case name="K-QuantExprWithout-54" result="pass"/><test-case name="K-QuantExprWithout-55" result="pass"/><test-case name="K-QuantExprWithout-56" result="pass"/><test-case name="K-QuantExprWithout-57" result="pass"/><test-case name="K-QuantExprWithout-58" result="pass"/><test-case name="K-QuantExprWithout-59" result="pass"/><test-case name="K-QuantExprWithout-60" result="pass"/><test-case name="K-QuantExprWithout-61" result="pass"/><test-case name="K-QuantExprWithout-62" result="pass"/><test-case name="K-QuantExprWithout-63" result="pass"/><test-case name="K-QuantExprWithout-64" result="pass"/><test-case name="K-QuantExprWithout-65" result="pass"/><test-case name="K-QuantExprWithout-66" result="pass"/><test-case name="K-QuantExprWithout-67" result="pass"/><test-case name="K-QuantExprWithout-68" result="pass"/><test-case name="K-QuantExprWithout-69" result="pass"/><test-case name="K-QuantExprWithout-70" result="pass"/><test-case name="K-QuantExprWithout-71" result="pass"/><test-case name="K-QuantExprWithout-72" result="pass"/><test-case name="K-QuantExprWithout-73" result="pass"/><test-case name="K-QuantExprWithout-74" result="pass"/><test-case name="K-QuantExprWithout-75" result="pass"/><test-case name="K-QuantExprWithout-76" result="pass"/><test-case name="K-QuantExprWithout-77" result="pass"/><test-case name="K-QuantExprWithout-78" result="pass"/><test-case name="K-QuantExprWithout-79" result="pass"/><test-case name="K-QuantExprWithout-80" result="pass"/><test-case name="K-QuantExprWithout-81" result="pass"/><test-case name="K-QuantExprWithout-82" result="pass"/><test-case name="K-QuantExprWithout-83" result="pass"/><test-case name="K-QuantExprWithout-84" result="pass"/><test-case name="K-QuantExprWithout-85" result="pass"/><test-case name="K-QuantExprWithout-86" result="pass"/><test-case name="K-QuantExprWithout-87" result="pass"/><test-case name="K-QuantExprWithout-88" result="pass"/><test-case name="K-QuantExprWithout-89" result="pass"/><test-case name="K-QuantExprWithout-90" result="pass"/><test-case name="K-QuantExprWithout-91" result="pass"/><test-case name="K-QuantExprWithout-92" result="pass"/><test-case name="K-QuantExprWithout-93" result="pass"/><test-case name="K-QuantExprWithout-94" result="pass"/><test-case name="K-QuantExprWithout-95" result="pass"/><test-case name="K-QuantExprWithout-96" result="pass"/><test-case name="K-QuantExprWithout-97" result="pass"/><test-case name="K-QuantExprWithout-98" result="pass"/><test-case name="K-QuantExprWithout-99" result="pass"/><test-case name="K2-QuantExprWithout-1" result="pass"/><test-case name="K2-QuantExprWithout-2" result="pass"/><test-case name="K2-QuantExprWithout-3" result="pass"/><test-case name="K2-QuantExprWithout-4" result="pass"/><test-case name="K2-QuantExprWithout-5" result="pass"/><test-case name="K2-QuantExprWithout-6" result="pass"/><test-case name="K2-QuantExprWithout-7" result="pass"/><test-case name="K2-QuantExprWithout-8" result="pass"/><test-case name="K2-QuantExprWithout-9" result="pass"/><test-case name="quantExpr-60" result="pass"/><test-case name="quantexpr-61" result="pass"/><test-case name="quantexpr-62" result="pass"/><test-case name="quantexpr-63" result="pass"/><test-case name="quantexpr-64" result="pass"/><test-case name="quantexpr-65" result="pass"/><test-case name="K-QuantExprWith-1" result="pass"/><test-case name="K-QuantExprWith-2" result="pass"/><test-case name="K-QuantExprWith-3" result="pass"/><test-case name="K-QuantExprWith-4" result="pass"/><test-case name="K-QuantExprWith-5" result="pass"/><test-case name="K-QuantExprWith-6" result="pass"/><test-case name="K-QuantExprWith-7" result="pass"/><test-case name="K-QuantExprWith-8" result="pass"/><test-case name="K-QuantExprWith-9" result="pass"/><test-case name="K-QuantExprWith-10" result="pass"/><test-case name="K-QuantExprWith-11" result="pass"/><test-case name="K-QuantExprWith-12" result="pass"/><test-case name="K-QuantExprWith-13" result="pass"/><test-case name="K-QuantExprWith-14" result="pass"/><test-case name="K-QuantExprWith-15" result="pass"/><test-case name="K-QuantExprWith-16" result="pass"/><test-case name="K-QuantExprWith-17" result="pass"/><test-case name="K-QuantExprWith-18" result="pass"/><test-case name="K-QuantExprWith-19" result="pass"/><test-case name="K-QuantExprWith-20" result="pass"/><test-case name="K-QuantExprWith-21" result="pass"/><test-case name="K-QuantExprWith-22" result="pass"/><test-case name="K-QuantExprWith-23" result="pass"/><test-case name="K-QuantExprWith-24" result="pass"/><test-case name="instanceof1" result="pass"/><test-case name="instanceof2" result="pass"/><test-case name="instanceof3" result="pass"/><test-case name="instanceof4" result="pass"/><test-case name="instanceof5" result="pass"/><test-case name="instanceof6" result="pass"/><test-case name="instanceof7" result="pass"/><test-case name="instanceof8" result="pass"/><test-case name="instanceof9" result="pass"/><test-case name="instanceof10" result="pass"/><test-case name="instanceof11" result="pass"/><test-case name="instanceof12" result="pass"/><test-case name="instanceof13" result="pass"/><test-case name="instanceof14" result="pass"/><test-case name="instanceof15" result="pass"/><test-case name="instanceof16" result="pass"/><test-case name="instanceof17" result="pass"/><test-case name="instanceof18" result="pass"/><test-case name="instanceof19" result="pass"/><test-case name="instanceof20" result="pass"/><test-case name="instanceof21" result="pass"/><test-case name="instanceof22" result="pass"/><test-case name="instanceof23" result="pass"/><test-case name="instanceof24" result="pass"/><test-case name="instanceof25" result="pass"/><test-case name="instanceof26" result="pass"/><test-case name="instanceof27" result="pass"/><test-case name="instanceof28" result="pass"/><test-case name="instanceof29" result="pass"/><test-case name="instanceof30" result="pass"/><test-case name="instanceof31" result="pass"/><test-case name="instanceof32" result="pass"/><test-case name="instanceof33" result="pass"/><test-case name="instanceof34" result="pass"/><test-case name="instanceof35" result="pass"/><test-case name="instanceof36" result="pass"/><test-case name="instanceof37" result="pass"/><test-case name="instanceof38" result="pass"/><test-case name="instanceof39" result="pass"/><test-case name="instanceof40" result="pass"/><test-case name="instanceof41" result="pass"/><test-case name="instanceof42" result="pass"/><test-case name="instanceof43" result="pass"/><test-case name="instanceof44" result="pass"/><test-case name="instanceof45" result="pass"/><test-case name="instanceof46" result="pass"/><test-case name="instanceof47" result="pass"/><test-case name="instanceof48" result="pass"/><test-case name="instanceof49" result="pass"/><test-case name="instanceof50" result="pass"/><test-case name="instanceof51" result="pass"/><test-case name="instanceof52" result="pass"/><test-case name="instanceof53" result="pass"/><test-case name="instanceof54" result="pass"/><test-case name="instanceof55" result="pass"/><test-case name="instanceof56" result="pass"/><test-case name="instanceof57" result="pass"/><test-case name="instanceof58" result="pass"/><test-case name="instanceof59" result="pass"/><test-case name="instanceof60" result="pass"/><test-case name="instanceof61" result="pass"/><test-case name="instanceof62" result="pass"/><test-case name="instanceof63" result="pass"/><test-case name="instanceof64" result="pass"/><test-case name="instanceof65" result="pass"/><test-case name="instanceof66" result="pass"/><test-case name="instanceof67" result="pass"/><test-case name="instanceof68" result="pass"/><test-case name="instanceof69" result="pass"/><test-case name="instanceof70" result="pass"/><test-case name="instanceof71" result="pass"/><test-case name="instanceof72" result="pass"/><test-case name="instanceof73" result="pass"/><test-case name="instanceof74" result="pass"/><test-case name="instanceof75" result="pass"/><test-case name="instanceof76" result="pass"/><test-case name="instanceof77" result="pass"/><test-case name="instanceof78" result="pass"/><test-case name="instanceof79" result="pass"/><test-case name="instanceof80" result="pass"/><test-case name="instanceof81" result="pass"/><test-case name="instanceof82" result="pass"/><test-case name="instanceof83" result="pass"/><test-case name="instanceof84" result="pass"/><test-case name="instanceof85" result="pass"/><test-case name="instanceof86" result="pass"/><test-case name="instanceof87" result="pass"/><test-case name="instanceof88" result="pass"/><test-case name="instanceof89" result="pass"/><test-case name="instanceof90" result="pass"/><test-case name="instanceof91" result="pass"/><test-case name="instanceof92" result="pass"/><test-case name="instanceof93" result="pass"/><test-case name="instanceof94" result="pass"/><test-case name="instanceof95" result="pass"/><test-case name="instanceof96" result="pass"/><test-case name="instanceof97" result="pass"/><test-case name="instanceof98" result="pass"/><test-case name="instanceof99" result="pass"/><test-case name="instanceof100" result="pass"/><test-case name="instanceof101" result="pass"/><test-case name="instanceof102" result="pass"/><test-case name="instanceof103" result="pass"/><test-case name="instanceof104" result="pass"/><test-case name="instanceof105" result="pass"/><test-case name="instanceof106" result="pass"/><test-case name="instanceof107" result="pass"/><test-case name="instanceof108" result="pass"/><test-case name="instanceof109" result="pass"/><test-case name="instanceof110" result="pass"/><test-case name="K-SeqExprInstanceOf-1" result="pass"/><test-case name="K-SeqExprInstanceOf-2" result="pass"/><test-case name="K-SeqExprInstanceOf-3" result="pass"/><test-case name="K-SeqExprInstanceOf-4" result="pass"/><test-case name="K-SeqExprInstanceOf-5" result="pass"/><test-case name="K-SeqExprInstanceOf-6" result="pass"/><test-case name="K-SeqExprInstanceOf-7" result="pass"/><test-case name="K-SeqExprInstanceOf-8" result="pass"/><test-case name="K-SeqExprInstanceOf-9" result="pass"/><test-case name="K-SeqExprInstanceOf-10" result="pass"/><test-case name="K-SeqExprInstanceOf-11" result="pass"/><test-case name="K-SeqExprInstanceOf-12" result="pass"/><test-case name="K-SeqExprInstanceOf-13" result="pass"/><test-case name="K-SeqExprInstanceOf-14" result="pass"/><test-case name="K-SeqExprInstanceOf-15" result="pass"/><test-case name="K-SeqExprInstanceOf-16" result="pass"/><test-case name="K-SeqExprInstanceOf-17" result="pass"/><test-case name="K-SeqExprInstanceOf-18" result="pass"/><test-case name="K-SeqExprInstanceOf-19" result="pass"/><test-case name="K-SeqExprInstanceOf-20" result="pass"/><test-case name="K-SeqExprInstanceOf-21" result="pass"/><test-case name="K-SeqExprInstanceOf-22" result="pass"/><test-case name="K-SeqExprInstanceOf-23" result="pass"/><test-case name="K-SeqExprInstanceOf-24" result="pass"/><test-case name="K-SeqExprInstanceOf-25" result="pass"/><test-case name="K-SeqExprInstanceOf-26" result="pass"/><test-case name="K-SeqExprInstanceOf-27" result="pass"/><test-case name="K-SeqExprInstanceOf-28" result="pass"/><test-case name="K-SeqExprInstanceOf-29" result="pass"/><test-case name="K-SeqExprInstanceOf-30" result="pass"/><test-case name="K-SeqExprInstanceOf-31" result="pass"/><test-case name="K-SeqExprInstanceOf-32" result="pass"/><test-case name="K-SeqExprInstanceOf-33" result="pass"/><test-case name="K-SeqExprInstanceOf-34" result="pass"/><test-case name="K-SeqExprInstanceOf-35" result="pass"/><test-case name="K-SeqExprInstanceOf-36" result="pass"/><test-case name="K-SeqExprInstanceOf-37" result="pass"/><test-case name="K-SeqExprInstanceOf-38" result="pass"/><test-case name="K-SeqExprInstanceOf-39" result="pass"/><test-case name="K-SeqExprInstanceOf-40" result="pass"/><test-case name="K-SeqExprInstanceOf-41" result="pass"/><test-case name="K-SeqExprInstanceOf-42" result="pass"/><test-case name="K-SeqExprInstanceOf-43" result="pass"/><test-case name="K-SeqExprInstanceOf-44" result="pass"/><test-case name="K-SeqExprInstanceOf-45" result="pass"/><test-case name="K-SeqExprInstanceOf-46" result="pass"/><test-case name="K-SeqExprInstanceOf-47" result="pass"/><test-case name="K-SeqExprInstanceOf-48" result="pass"/><test-case name="K-SeqExprInstanceOf-49" result="pass"/><test-case name="K-SeqExprInstanceOf-50" result="pass"/><test-case name="K-SeqExprInstanceOf-51" result="pass"/><test-case name="K-SeqExprInstanceOf-52" result="pass"/><test-case name="K-SeqExprInstanceOf-53" result="pass"/><test-case name="K-SeqExprInstanceOf-54" result="pass"/><test-case name="K-SeqExprInstanceOf-55" result="pass"/><test-case name="K-SeqExprInstanceOf-56" result="pass"/><test-case name="K-SeqExprInstanceOf-57" result="pass"/><test-case name="K-SeqExprInstanceOf-58" result="pass"/><test-case name="K-SeqExprInstanceOf-59" result="pass"/><test-case name="K-SeqExprInstanceOf-60" result="pass"/><test-case name="K-SeqExprInstanceOf-61" result="pass"/><test-case name="K-SeqExprInstanceOf-62" result="pass"/><test-case name="K-SeqExprInstanceOf-63" result="pass"/><test-case name="K-SeqExprInstanceOf-64" result="pass"/><test-case name="K-SeqExprInstanceOf-65" result="pass"/><test-case name="K-SeqExprInstanceOf-66" result="pass"/><test-case name="K2-SeqExprInstanceOf-1" result="pass"/><test-case name="K2-SeqExprInstanceOf-2" result="pass"/><test-case name="K2-SeqExprInstanceOf-3" result="pass"/><test-case name="K2-SeqExprInstanceOf-4" result="pass"/><test-case name="K2-SeqExprInstanceOf-5" result="pass"/><test-case name="K2-SeqExprInstanceOf-6" result="pass"/><test-case name="K2-SeqExprInstanceOf-7" result="pass"/><test-case name="K2-SeqExprInstanceOf-8" result="pass"/><test-case name="K2-SeqExprInstanceOf-9" result="pass"/><test-case name="K2-SeqExprInstanceOf-10" result="pass"/><test-case name="K2-SeqExprInstanceOf-11" result="pass"/><test-case name="K2-SeqExprInstanceOf-12" result="pass"/><test-case name="K2-SeqExprInstanceOf-13" result="pass"/><test-case name="K2-SeqExprInstanceOf-14" result="pass"/><test-case name="K2-SeqExprInstanceOf-15" result="pass"/><test-case name="K2-SeqExprInstanceOf-16" result="pass"/><test-case name="K2-SeqExprInstanceOf-17" result="pass"/><test-case name="K2-SeqExprInstanceOf-18" result="pass"/><test-case name="K2-SeqExprInstanceOf-19" result="pass"/><test-case name="K2-SeqExprInstanceOf-20" result="pass"/><test-case name="K2-SeqExprInstanceOf-21" result="pass"/><test-case name="K2-SeqExprInstanceOf-22" result="pass"/><test-case name="K2-SeqExprInstanceOf-23" result="pass"/><test-case name="K2-SeqExprInstanceOf-24" result="pass"/><test-case name="K2-SeqExprInstanceOf-25" result="pass"/><test-case name="K2-SeqExprInstanceOf-26" result="pass"/><test-case name="K2-SeqExprInstanceOf-27" result="pass"/><test-case name="K2-SeqExprInstanceOf-28" result="pass"/><test-case name="K2-SeqExprInstanceOf-29" result="pass"/><test-case name="K2-SeqExprInstanceOf-30" result="pass"/><test-case name="K2-SeqExprInstanceOf-31" result="pass"/><test-case name="K2-SeqExprInstanceOf-32" result="pass"/><test-case name="K2-SeqExprInstanceOf-33" result="pass"/><test-case name="K2-SeqExprInstanceOf-34" result="pass"/><test-case name="K2-SeqExprInstanceOf-35" result="pass"/><test-case name="K2-SeqExprInstanceOf-36" result="pass"/><test-case name="K2-SeqExprInstanceOf-37" result="pass"/><test-case name="K2-SeqExprInstanceOf-38" result="pass"/><test-case name="K2-SeqExprInstanceOf-39" result="pass"/><test-case name="K2-SeqExprInstanceOf-40" result="pass"/><test-case name="K2-SeqExprInstanceOf-41" result="pass"/><test-case name="K2-SeqExprInstanceOf-42" result="pass"/><test-case name="K2-SeqExprInstanceOf-43" result="pass"/><test-case name="K2-SeqExprInstanceOf-44" result="pass"/><test-case name="K2-SeqExprInstanceOf-45" result="pass"/><test-case name="K2-SeqExprInstanceOf-46" result="pass"/><test-case name="K2-SeqExprInstanceOf-47" result="pass"/><test-case name="K2-SeqExprInstanceOf-48" result="pass"/><test-case name="K2-SeqExprInstanceOf-49" result="pass"/><test-case name="K2-SeqExprInstanceOf-50" result="pass"/><test-case name="K2-SeqExprInstanceOf-51" result="pass"/><test-case name="K2-SeqExprInstanceOf-52" result="pass"/><test-case name="K2-SeqExprInstanceOf-53" result="pass"/><test-case name="K2-SeqExprInstanceOf-54" result="pass"/><test-case name="K2-SeqExprInstanceOf-55" result="pass"/><test-case name="K2-SeqExprInstanceOf-56" result="pass"/><test-case name="K2-SeqExprInstanceOf-57" result="pass"/><test-case name="K2-SeqExprInstanceOf-58" result="pass"/><test-case name="K2-SeqExprInstanceOf-59" result="pass"/><test-case name="K2-SeqExprInstanceOf-60" result="pass"/><test-case name="K2-SeqExprInstanceOf-61" result="pass"/><test-case name="K2-SeqExprInstanceOf-62" result="pass"/><test-case name="K2-SeqExprInstanceOf-63" result="pass"/><test-case name="K2-SeqExprInstanceOf-64" result="pass"/><test-case name="K2-SeqExprInstanceOf-65" result="pass"/><test-case name="K2-SeqExprInstanceOf-66" result="pass"/><test-case name="K2-SeqExprInstanceOf-67" result="pass"/><test-case name="K2-SeqExprInstanceOf-68" result="pass"/><test-case name="K2-SeqExprInstanceOf-69" result="pass"/><test-case name="K2-SeqExprInstanceOf-70" result="pass"/><test-case name="K2-SeqExprInstanceOf-71" result="pass"/><test-case name="K2-SeqExprInstanceOf-72" result="pass"/><test-case name="K2-SeqExprInstanceOf-73" result="pass"/><test-case name="K2-SeqExprInstanceOf-74" result="pass"/><test-case name="K2-SeqExprInstanceOf-75" result="pass"/><test-case name="K2-SeqExprInstanceOf-76" result="pass"/><test-case name="K2-SeqExprInstanceOf-77" result="pass"/><test-case name="K2-SeqExprInstanceOf-78" result="pass"/><test-case name="K2-SeqExprInstanceOf-79" result="pass"/><test-case name="K2-SeqExprInstanceOf-80" result="pass"/><test-case name="K2-SeqExprInstanceOf-81" result="pass"/><test-case name="K2-SeqExprInstanceOf-82" result="pass"/><test-case name="K2-SeqExprInstanceOf-83" result="pass"/><test-case name="K2-SeqExprInstanceOf-84" result="pass"/><test-case name="K2-SeqExprInstanceOf-85" result="pass"/><test-case name="K2-SeqExprInstanceOf-86" result="pass"/><test-case name="K2-SeqExprInstanceOf-87" result="pass"/><test-case name="K2-SeqExprInstanceOf-88" result="pass"/><test-case name="K2-SeqExprInstanceOf-89" result="pass"/><test-case name="K2-SeqExprInstanceOf-90" result="pass"/><test-case name="K2-SeqExprInstanceOf-91" result="pass"/><test-case name="K2-SeqExprInstanceOf-92" result="pass"/><test-case name="K2-SeqExprInstanceOf-93" result="pass"/><test-case name="K2-SeqExprInstanceOf-94" result="pass"/><test-case name="K2-SeqExprInstanceOf-95" result="pass"/><test-case name="K2-SeqExprInstanceOf-96" result="pass"/><test-case name="K2-SeqExprInstanceOf-97" result="pass"/><test-case name="K2-SeqExprInstanceOf-98" result="pass"/><test-case name="typeswitchhc1" result="pass"/><test-case name="typeswitchhc2" result="pass"/><test-case name="typeswitchhc3" result="pass"/><test-case name="typeswitchhc4" result="pass"/><test-case name="typeswitchhc5" result="pass"/><test-case name="typeswitchhc6" result="pass"/><test-case name="typeswitchhc7" result="pass"/><test-case name="typeswitchhc8" result="pass"/><test-case name="typeswitchhc9" result="pass"/><test-case name="typeswitchhc10" result="pass"/><test-case name="typeswitchhc11" result="pass"/><test-case name="typeswitchhc12" result="fail"/><test-case name="typeswitchhc13" result="pass"/><test-case name="typeswitchhc14" result="pass"/><test-case name="typeswitchhc15" result="pass"/><test-case name="typeswitchhc16" result="pass"/><test-case name="typeswitchhc17" result="pass"/><test-case name="typeswitchhc18" result="pass"/><test-case name="typeswitchhc19" result="pass"/><test-case name="typeswitchhc20" result="pass"/><test-case name="typeswitchhc21" result="pass"/><test-case name="typeswitchhc22" result="pass"/><test-case name="typeswitchhc23" result="pass"/><test-case name="typeswitchhc24" result="pass"/><test-case name="typeswitchhc25" result="pass"/><test-case name="K-sequenceExprTypeswitch-1" result="pass"/><test-case name="K-sequenceExprTypeswitch-2" result="pass"/><test-case name="K-sequenceExprTypeswitch-3" result="pass"/><test-case name="K-sequenceExprTypeswitch-4" result="pass"/><test-case name="K-sequenceExprTypeswitch-5" result="pass"/><test-case name="K-sequenceExprTypeswitch-6" result="pass"/><test-case name="K-sequenceExprTypeswitch-7" result="pass"/><test-case name="K-sequenceExprTypeswitch-8" result="pass"/><test-case name="K2-sequenceExprTypeswitch-1" result="pass"/><test-case name="K2-sequenceExprTypeswitch-2" result="pass"/><test-case name="K2-sequenceExprTypeswitch-3" result="pass"/><test-case name="K2-sequenceExprTypeswitch-4" result="pass"/><test-case name="K2-sequenceExprTypeswitch-5" result="pass"/><test-case name="K2-sequenceExprTypeswitch-6" result="pass"/><test-case name="K2-sequenceExprTypeswitch-7" result="pass"/><test-case name="K2-sequenceExprTypeswitch-8" result="pass"/><test-case name="K2-sequenceExprTypeswitch-9" result="pass"/><test-case name="K2-sequenceExprTypeswitch-10" result="pass"/><test-case name="K2-sequenceExprTypeswitch-11" result="pass"/><test-case name="K2-sequenceExprTypeswitch-12" result="fail"/><test-case name="K2-sequenceExprTypeswitch-13" result="fail"/><test-case name="K2-sequenceExprTypeswitch-14" result="pass"/><test-case name="K2-sequenceExprTypeswitch-15" result="pass"/><test-case name="K2-sequenceExprTypeswitch-16" result="fail"/><test-case name="cast-derived-1" result="pass"/><test-case name="cast-derived-2" result="pass"/><test-case name="cast-derived-3" result="pass"/><test-case name="cast-derived-4" result="pass"/><test-case name="cast-derived-5" result="pass"/><test-case name="cast-derived-6" result="pass"/><test-case name="cast-derived-7" result="pass"/><test-case name="cast-derived-8" result="pass"/><test-case name="cast-derived-9" result="pass"/><test-case name="cast-derived-10" result="pass"/><test-case name="cast-derived-11" result="pass"/><test-case name="cast-derived-12" result="pass"/><test-case name="cast-derived-13" result="pass"/><test-case name="cast-derived-14" result="pass"/><test-case name="cast-derived-15" result="pass"/><test-case name="cast-derived-16" result="pass"/><test-case name="cast-derived-17" result="pass"/><test-case name="cast-derived-18" result="pass"/><test-case name="cast-derived-19" result="pass"/><test-case name="cast-derived-20" result="pass"/><test-case name="cast-derived-21" result="pass"/><test-case name="cast-to-parent-1" result="pass"/><test-case name="cast-to-parent-2" result="pass"/><test-case name="cast-to-parent-3" result="pass"/><test-case name="cast-to-parent-4" result="pass"/><test-case name="cast-to-parent-5" result="pass"/><test-case name="cast-to-parent-6" result="pass"/><test-case name="cast-to-parent-7" result="pass"/><test-case name="cast-to-parent-8" result="pass"/><test-case name="cast-to-parent-9" result="pass"/><test-case name="cast-to-parent-10" result="pass"/><test-case name="cast-to-parent-11" result="pass"/><test-case name="cast-to-parent-12" result="pass"/><test-case name="cast-to-parent-13" result="pass"/><test-case name="cast-to-parent-14" result="pass"/><test-case name="cast-to-parent-15" result="pass"/><test-case name="cast-to-parent-16" result="pass"/><test-case name="cast-to-parent-17" result="pass"/><test-case name="cast-to-parent-18" result="pass"/><test-case name="cast-to-parent-19" result="pass"/><test-case name="cast-to-parent-20" result="pass"/><test-case name="cast-to-parent-21" result="pass"/><test-case name="cast-within-1" result="pass"/><test-case name="cast-within-2" result="pass"/><test-case name="cast-within-3" result="pass"/><test-case name="cast-within-4" result="pass"/><test-case name="cast-within-5" result="pass"/><test-case name="cast-within-6" result="pass"/><test-case name="cast-within-7" result="pass"/><test-case name="cast-within-8" result="pass"/><test-case name="cast-within-9" result="pass"/><test-case name="cast-within-10" result="pass"/><test-case name="cast-within-11" result="pass"/><test-case name="cast-within-12" result="pass"/><test-case name="cast-within-13" result="pass"/><test-case name="cast-within-14" result="pass"/><test-case name="cast-within-15" result="pass"/><test-case name="cast-within-16" result="pass"/><test-case name="cast-within-17" result="pass"/><test-case name="cast-within-18" result="pass"/><test-case name="cast-within-19" result="pass"/><test-case name="cast-within-20" result="pass"/><test-case name="cast-within-21" result="pass"/><test-case name="casthc1" result="pass"/><test-case name="casthc2" result="pass"/><test-case name="casthc3" result="pass"/><test-case name="casthc4" result="pass"/><test-case name="casthc5" result="pass"/><test-case name="casthc6" result="pass"/><test-case name="casthc7" result="pass"/><test-case name="casthc8" result="pass"/><test-case name="casthc9" result="pass"/><test-case name="casthc10" result="pass"/><test-case name="casthc11" result="pass"/><test-case name="casthc12" result="pass"/><test-case name="casthc13" result="pass"/><test-case name="casthc14" result="pass"/><test-case name="casthc15" result="pass"/><test-case name="casthc16" result="pass"/><test-case name="casthc17" result="fail"/><test-case name="casthc18" result="pass"/><test-case name="casthc19" result="pass"/><test-case name="casthc20" result="pass"/><test-case name="casthc21" result="pass"/><test-case name="casthc22" result="pass"/><test-case name="casthc23" result="pass"/><test-case name="casthc24" result="pass"/><test-case name="casthc25" result="pass"/><test-case name="casthc26" result="pass"/><test-case name="casthc27" result="pass"/><test-case name="casthc28" result="pass"/><test-case name="casthc29" result="pass"/><test-case name="casthc30" result="pass"/><test-case name="casthc31" result="pass"/><test-case name="casthc32" result="pass"/><test-case name="casthc33" result="pass"/><test-case name="casthc34" result="pass"/><test-case name="casthc35" result="pass"/><test-case name="casthc36" result="pass"/><test-case name="casthc37" result="pass"/><test-case name="casthc38" result="pass"/><test-case name="casthc39" result="pass"/><test-case name="casthc40" result="pass"/><test-case name="casthc41" result="pass"/><test-case name="casthc42" result="pass"/><test-case name="casthc43" result="pass"/><test-case name="CastAs001" result="pass"/><test-case name="CastAs002" result="pass"/><test-case name="CastAs003" result="pass"/><test-case name="CastAs004" result="pass"/><test-case name="CastAs005" result="pass"/><test-case name="CastAs006" result="pass"/><test-case name="CastAs007" result="pass"/><test-case name="CastAs008" result="pass"/><test-case name="CastAs009" result="pass"/><test-case name="CastAs010" result="pass"/><test-case name="CastAs011" result="pass"/><test-case name="CastAs012" result="pass"/><test-case name="CastAs013" result="pass"/><test-case name="CastAs014" result="pass"/><test-case name="CastAs015" result="pass"/><test-case name="CastAs016" result="pass"/><test-case name="CastAs017" result="pass"/><test-case name="CastAs018" result="pass"/><test-case name="CastAs019" result="pass"/><test-case name="CastAs020" result="pass"/><test-case name="CastAs021" result="pass"/><test-case name="CastAs022" result="pass"/><test-case name="CastAs023" result="pass"/><test-case name="CastAs024" result="pass"/><test-case name="CastAs025" result="pass"/><test-case name="CastAs026" result="pass"/><test-case name="CastAs027" result="pass"/><test-case name="CastAs028" result="pass"/><test-case name="CastAs029" result="pass"/><test-case name="CastAs030" result="pass"/><test-case name="CastAs031" result="pass"/><test-case name="CastAs032" result="pass"/><test-case name="CastAs033" result="pass"/><test-case name="CastAs034" result="pass"/><test-case name="CastAs035" result="pass"/><test-case name="CastAs036" result="pass"/><test-case name="CastAs037" result="pass"/><test-case name="CastAs038" result="pass"/><test-case name="CastAs039" result="pass"/><test-case name="CastAs040" result="pass"/><test-case name="CastAs041" result="pass"/><test-case name="CastAs042" result="pass"/><test-case name="CastAs043" result="pass"/><test-case name="CastAs044" result="pass"/><test-case name="CastAs045" result="pass"/><test-case name="CastAs046" result="pass"/><test-case name="CastAs047" result="pass"/><test-case name="CastAs048" result="pass"/><test-case name="CastAs049" result="pass"/><test-case name="CastAs050" result="pass"/><test-case name="CastAs051" result="pass"/><test-case name="CastAs052" result="pass"/><test-case name="CastAs053" result="pass"/><test-case name="CastAs054" result="pass"/><test-case name="CastAs055" result="pass"/><test-case name="CastAs056" result="pass"/><test-case name="CastAs057" result="pass"/><test-case name="CastAs058" result="pass"/><test-case name="CastAs059" result="pass"/><test-case name="CastAs060" result="pass"/><test-case name="CastAs061" result="pass"/><test-case name="CastAs062" result="pass"/><test-case name="CastAs063" result="pass"/><test-case name="CastAs064" result="pass"/><test-case name="CastAs065" result="pass"/><test-case name="CastAs066" result="pass"/><test-case name="CastAs067" result="pass"/><test-case name="CastAs068" result="pass"/><test-case name="CastAs069" result="pass"/><test-case name="CastAs070" result="pass"/><test-case name="CastAs071" result="pass"/><test-case name="CastAs072" result="pass"/><test-case name="CastAs073" result="pass"/><test-case name="CastAs074" result="pass"/><test-case name="CastAs075" result="pass"/><test-case name="CastAs076" result="pass"/><test-case name="CastAs077" result="pass"/><test-case name="CastAs078" result="pass"/><test-case name="CastAs079" result="pass"/><test-case name="CastAs080" result="pass"/><test-case name="CastAs081" result="pass"/><test-case name="CastAs082" result="pass"/><test-case name="CastAs083" result="pass"/><test-case name="CastAs084" result="pass"/><test-case name="CastAs085" result="pass"/><test-case name="CastAs086" result="pass"/><test-case name="CastAs087" result="pass"/><test-case name="CastAs088" result="pass"/><test-case name="CastAs089" result="pass"/><test-case name="CastAs090" result="pass"/><test-case name="CastAs091" result="pass"/><test-case name="CastAs092" result="pass"/><test-case name="CastAs093" result="pass"/><test-case name="CastAs094" result="pass"/><test-case name="CastAs095" result="pass"/><test-case name="CastAs096" result="pass"/><test-case name="CastAs097" result="pass"/><test-case name="CastAs098" result="pass"/><test-case name="CastAs099" result="pass"/><test-case name="CastAs100" result="pass"/><test-case name="CastAs101" result="pass"/><test-case name="CastAs102" result="pass"/><test-case name="CastAs103" result="pass"/><test-case name="CastAs104" result="pass"/><test-case name="CastAs105" result="pass"/><test-case name="CastAs106" result="pass"/><test-case name="CastAs107" result="pass"/><test-case name="CastAs108" result="pass"/><test-case name="CastAs109" result="pass"/><test-case name="CastAs110" result="pass"/><test-case name="CastAs111" result="pass"/><test-case name="CastAs112" result="pass"/><test-case name="CastAs113" result="pass"/><test-case name="CastAs114" result="pass"/><test-case name="CastAs115" result="pass"/><test-case name="CastAs116" result="pass"/><test-case name="CastAs117" result="pass"/><test-case name="CastAs118" result="pass"/><test-case name="CastAs119" result="pass"/><test-case name="CastAs120" result="pass"/><test-case name="CastAs121" result="pass"/><test-case name="CastAs122" result="pass"/><test-case name="CastAs123" result="pass"/><test-case name="CastAs124" result="pass"/><test-case name="CastAs125" result="pass"/><test-case name="CastAs126" result="pass"/><test-case name="CastAs127" result="pass"/><test-case name="CastAs128" result="pass"/><test-case name="CastAs129" result="pass"/><test-case name="CastAs130" result="pass"/><test-case name="CastAs131" result="pass"/><test-case name="CastAs132" result="pass"/><test-case name="CastAs133" result="pass"/><test-case name="CastAs134" result="pass"/><test-case name="CastAs135" result="pass"/><test-case name="CastAs136" result="pass"/><test-case name="CastAs137" result="pass"/><test-case name="CastAs138" result="pass"/><test-case name="CastAs139" result="pass"/><test-case name="CastAs140" result="pass"/><test-case name="CastAs141" result="pass"/><test-case name="CastAs142" result="pass"/><test-case name="CastAs143" result="pass"/><test-case name="CastAs144" result="pass"/><test-case name="CastAs145" result="pass"/><test-case name="CastAs146" result="pass"/><test-case name="CastAs147" result="pass"/><test-case name="CastAs148" result="pass"/><test-case name="CastAs149" result="pass"/><test-case name="CastAs150" result="pass"/><test-case name="CastAs151" result="pass"/><test-case name="CastAs152" result="pass"/><test-case name="CastAs153" result="pass"/><test-case name="CastAs154" result="pass"/><test-case name="CastAs155" result="pass"/><test-case name="CastAs156" result="pass"/><test-case name="CastAs157" result="pass"/><test-case name="CastAs158" result="pass"/><test-case name="CastAs159" result="pass"/><test-case name="CastAs160" result="pass"/><test-case name="CastAs161" result="pass"/><test-case name="CastAs162" result="pass"/><test-case name="CastAs163" result="pass"/><test-case name="CastAs164" result="pass"/><test-case name="CastAs165" result="pass"/><test-case name="CastAs166" result="pass"/><test-case name="CastAs167" result="pass"/><test-case name="CastAs168" result="pass"/><test-case name="CastAs169" result="fail"/><test-case name="CastAs170" result="pass"/><test-case name="CastAs171" result="pass"/><test-case name="CastAs172" result="pass"/><test-case name="CastAs173" result="pass"/><test-case name="CastAs174" result="pass"/><test-case name="CastAs175" result="fail"/><test-case name="CastAs176" result="pass"/><test-case name="CastAs177" result="fail"/><test-case name="CastAs178" result="pass"/><test-case name="CastAs179" result="pass"/><test-case name="CastAs180" result="pass"/><test-case name="CastAs181" result="pass"/><test-case name="CastAs182" result="pass"/><test-case name="CastAs183" result="pass"/><test-case name="CastAs184" result="pass"/><test-case name="CastAs185" result="pass"/><test-case name="CastAs186" result="pass"/><test-case name="CastAs187" result="pass"/><test-case name="CastAs188" result="pass"/><test-case name="CastAs189" result="pass"/><test-case name="CastAs190" result="pass"/><test-case name="CastAs191" result="pass"/><test-case name="CastAs192" result="pass"/><test-case name="CastAs193" result="pass"/><test-case name="CastAs194" result="pass"/><test-case name="CastAs195" result="pass"/><test-case name="CastAs196" result="pass"/><test-case name="CastAs197" result="pass"/><test-case name="CastAs198" result="pass"/><test-case name="CastAs199" result="pass"/><test-case name="CastAs200" result="pass"/><test-case name="CastAs201" result="pass"/><test-case name="CastAs202" result="pass"/><test-case name="CastAs203" result="pass"/><test-case name="CastAs204" result="fail"/><test-case name="CastAs205" result="pass"/><test-case name="CastAs206" result="pass"/><test-case name="CastAs207" result="pass"/><test-case name="CastAs208" result="pass"/><test-case name="CastAs209" result="pass"/><test-case name="CastAs210" result="pass"/><test-case name="CastAs211" result="fail"/><test-case name="CastAs212" result="fail"/><test-case name="CastAs213" result="pass"/><test-case name="CastAs214" result="pass"/><test-case name="CastAs215" result="pass"/><test-case name="CastAs216" result="pass"/><test-case name="CastAs217" result="pass"/><test-case name="CastAs218" result="pass"/><test-case name="CastAs219" result="pass"/><test-case name="CastAs220" result="pass"/><test-case name="CastAs221" result="pass"/><test-case name="CastAs222" result="pass"/><test-case name="CastAs223" result="pass"/><test-case name="CastAs224" result="pass"/><test-case name="CastAs225" result="pass"/><test-case name="CastAs226" result="pass"/><test-case name="CastAs227" result="pass"/><test-case name="CastAs228" result="pass"/><test-case name="CastAs229" result="pass"/><test-case name="CastAs230" result="pass"/><test-case name="CastAs231" result="pass"/><test-case name="CastAs232" result="pass"/><test-case name="CastAs233" result="pass"/><test-case name="CastAs234" result="pass"/><test-case name="CastAs235" result="pass"/><test-case name="CastAs236" result="pass"/><test-case name="CastAs237" result="pass"/><test-case name="CastAs238" result="pass"/><test-case name="CastAs239" result="pass"/><test-case name="CastAs240" result="pass"/><test-case name="CastAs241" result="pass"/><test-case name="CastAs242" result="pass"/><test-case name="CastAs243" result="pass"/><test-case name="CastAs244" result="pass"/><test-case name="CastAs245" result="pass"/><test-case name="CastAs246" result="pass"/><test-case name="CastAs247" result="pass"/><test-case name="CastAs248" result="pass"/><test-case name="CastAs249" result="pass"/><test-case name="CastAs250" result="pass"/><test-case name="CastAs251" result="pass"/><test-case name="CastAs252" result="pass"/><test-case name="CastAs253" result="pass"/><test-case name="CastAs254" result="pass"/><test-case name="CastAs255" result="pass"/><test-case name="CastAs256" result="pass"/><test-case name="CastAs257" result="pass"/><test-case name="CastAs258" result="pass"/><test-case name="CastAs259" result="pass"/><test-case name="CastAs260" result="pass"/><test-case name="CastAs261" result="pass"/><test-case name="CastAs262" result="pass"/><test-case name="CastAs263" result="pass"/><test-case name="CastAs264" result="pass"/><test-case name="CastAs265" result="pass"/><test-case name="CastAs266" result="pass"/><test-case name="CastAs267" result="pass"/><test-case name="CastAs268" result="pass"/><test-case name="CastAs269" result="pass"/><test-case name="CastAs270" result="pass"/><test-case name="CastAs271" result="pass"/><test-case name="CastAs272" result="pass"/><test-case name="CastAs273" result="pass"/><test-case name="CastAs274" result="pass"/><test-case name="CastAs275" result="pass"/><test-case name="CastAs276" result="pass"/><test-case name="CastAs277" result="pass"/><test-case name="CastAs278" result="pass"/><test-case name="CastAs279" result="pass"/><test-case name="CastAs280" result="pass"/><test-case name="CastAs281" result="pass"/><test-case name="CastAs282" result="pass"/><test-case name="CastAs283" result="pass"/><test-case name="CastAs284" result="pass"/><test-case name="CastAs285" result="pass"/><test-case name="CastAs286" result="pass"/><test-case name="CastAs287" result="pass"/><test-case name="CastAs288" result="pass"/><test-case name="CastAs289" result="pass"/><test-case name="CastAs290" result="pass"/><test-case name="CastAs291" result="pass"/><test-case name="CastAs292" result="pass"/><test-case name="CastAs293" result="pass"/><test-case name="CastAs294" result="pass"/><test-case name="CastAs295" result="pass"/><test-case name="CastAs296" result="pass"/><test-case name="CastAs297" result="pass"/><test-case name="CastAs298" result="pass"/><test-case name="CastAs299" result="pass"/><test-case name="CastAs300" result="pass"/><test-case name="CastAs301" result="pass"/><test-case name="CastAs302" result="pass"/><test-case name="CastAs303" result="pass"/><test-case name="CastAs304" result="pass"/><test-case name="CastAs305" result="pass"/><test-case name="CastAs306" result="pass"/><test-case name="CastAs307" result="pass"/><test-case name="CastAs308" result="pass"/><test-case name="CastAs309" result="pass"/><test-case name="CastAs310" result="pass"/><test-case name="CastAs311" result="pass"/><test-case name="CastAs312" result="pass"/><test-case name="CastAs313" result="pass"/><test-case name="CastAs314" result="pass"/><test-case name="CastAs315" result="pass"/><test-case name="CastAs316" result="pass"/><test-case name="CastAs317" result="pass"/><test-case name="CastAs318" result="pass"/><test-case name="CastAs319" result="pass"/><test-case name="CastAs320" result="pass"/><test-case name="CastAs321" result="pass"/><test-case name="CastAs322" result="pass"/><test-case name="CastAs323" result="pass"/><test-case name="CastAs324" result="pass"/><test-case name="CastAs325" result="pass"/><test-case name="CastAs326" result="pass"/><test-case name="CastAs327" result="pass"/><test-case name="CastAs328" result="pass"/><test-case name="CastAs329" result="pass"/><test-case name="CastAs330" result="pass"/><test-case name="CastAs331" result="pass"/><test-case name="CastAs332" result="pass"/><test-case name="CastAs333" result="pass"/><test-case name="CastAs334" result="pass"/><test-case name="CastAs335" result="pass"/><test-case name="CastAs336" result="pass"/><test-case name="CastAs337" result="pass"/><test-case name="CastAs338" result="pass"/><test-case name="CastAs339" result="pass"/><test-case name="CastAs340" result="pass"/><test-case name="CastAs341" result="pass"/><test-case name="CastAs342" result="pass"/><test-case name="CastAs343" result="pass"/><test-case name="CastAs344" result="pass"/><test-case name="CastAs345" result="pass"/><test-case name="CastAs346" result="pass"/><test-case name="CastAs347" result="pass"/><test-case name="CastAs348" result="pass"/><test-case name="CastAs349" result="pass"/><test-case name="CastAs350" result="pass"/><test-case name="CastAs351" result="pass"/><test-case name="CastAs352" result="pass"/><test-case name="CastAs353" result="pass"/><test-case name="CastAs354" result="pass"/><test-case name="CastAs355" result="pass"/><test-case name="CastAs356" result="pass"/><test-case name="CastAs357" result="pass"/><test-case name="CastAs358" result="pass"/><test-case name="CastAs359" result="pass"/><test-case name="CastAs360" result="pass"/><test-case name="CastAs361" result="pass"/><test-case name="CastAs362" result="pass"/><test-case name="CastAs363" result="pass"/><test-case name="CastAs364" result="pass"/><test-case name="CastAs365" result="pass"/><test-case name="CastAs366" result="pass"/><test-case name="CastAs367" result="pass"/><test-case name="CastAs368" result="pass"/><test-case name="CastAs369" result="pass"/><test-case name="CastAs370" result="pass"/><test-case name="CastAs371" result="pass"/><test-case name="CastAs372" result="pass"/><test-case name="CastAs373" result="pass"/><test-case name="CastAs374" result="pass"/><test-case name="CastAs375" result="pass"/><test-case name="CastAs376" result="pass"/><test-case name="CastAs377" result="pass"/><test-case name="CastAs378" result="pass"/><test-case name="CastAs379" result="pass"/><test-case name="CastAs380" result="pass"/><test-case name="CastAs381" result="pass"/><test-case name="CastAs382" result="pass"/><test-case name="CastAs383" result="pass"/><test-case name="CastAs384" result="pass"/><test-case name="CastAs385" result="pass"/><test-case name="CastAs386" result="pass"/><test-case name="CastAs387" result="pass"/><test-case name="CastAs388" result="pass"/><test-case name="CastAs389" result="pass"/><test-case name="CastAs390" result="pass"/><test-case name="CastAs391" result="pass"/><test-case name="CastAs392" result="pass"/><test-case name="CastAs393" result="pass"/><test-case name="CastAs394" result="pass"/><test-case name="CastAs395" result="pass"/><test-case name="CastAs396" result="pass"/><test-case name="CastAs397" result="pass"/><test-case name="CastAs398" result="pass"/><test-case name="CastAs399" result="pass"/><test-case name="CastAs400" result="pass"/><test-case name="CastAs401" result="pass"/><test-case name="CastAs402" result="pass"/><test-case name="CastAs403" result="pass"/><test-case name="CastAs404" result="pass"/><test-case name="CastAs405" result="pass"/><test-case name="CastAs406" result="pass"/><test-case name="CastAs407" result="pass"/><test-case name="CastAs408" result="pass"/><test-case name="CastAs409" result="pass"/><test-case name="CastAs410" result="pass"/><test-case name="CastAs411" result="pass"/><test-case name="CastAs412" result="pass"/><test-case name="CastAs413" result="pass"/><test-case name="CastAs414" result="pass"/><test-case name="CastAs415" result="pass"/><test-case name="CastAs416" result="pass"/><test-case name="CastAs417" result="pass"/><test-case name="CastAs418" result="pass"/><test-case name="CastAs419" result="pass"/><test-case name="CastAs420" result="pass"/><test-case name="CastAs421" result="pass"/><test-case name="CastAs422" result="pass"/><test-case name="CastAs423" result="pass"/><test-case name="CastAs424" result="pass"/><test-case name="CastAs425" result="pass"/><test-case name="CastAs426" result="pass"/><test-case name="CastAs427" result="pass"/><test-case name="CastAs428" result="pass"/><test-case name="CastAs429" result="pass"/><test-case name="CastAs430" result="pass"/><test-case name="CastAs431" result="pass"/><test-case name="CastAs432" result="pass"/><test-case name="CastAs433" result="pass"/><test-case name="CastAs434" result="pass"/><test-case name="CastAs435" result="pass"/><test-case name="CastAs436" result="pass"/><test-case name="CastAs437" result="pass"/><test-case name="CastAs438" result="pass"/><test-case name="CastAs439" result="pass"/><test-case name="CastAs440" result="pass"/><test-case name="CastAs441" result="pass"/><test-case name="CastAs442" result="pass"/><test-case name="CastAs443" result="pass"/><test-case name="CastAs444" result="pass"/><test-case name="CastAs445" result="pass"/><test-case name="CastAs446" result="pass"/><test-case name="CastAs447" result="pass"/><test-case name="CastAs448" result="pass"/><test-case name="CastAs449" result="pass"/><test-case name="CastAs450" result="pass"/><test-case name="CastAs451" result="pass"/><test-case name="CastAs452" result="pass"/><test-case name="CastAs453" result="pass"/><test-case name="CastAs454" result="pass"/><test-case name="CastAs455" result="pass"/><test-case name="CastAs456" result="pass"/><test-case name="CastAs457" result="pass"/><test-case name="CastAs458" result="pass"/><test-case name="CastAs459" result="pass"/><test-case name="CastAs460" result="pass"/><test-case name="CastAs461" result="pass"/><test-case name="CastAs462" result="pass"/><test-case name="CastAs463" result="pass"/><test-case name="CastAs464" result="pass"/><test-case name="CastAs465" result="pass"/><test-case name="CastAs466" result="pass"/><test-case name="CastAs467" result="pass"/><test-case name="CastAs468" result="pass"/><test-case name="CastAs469" result="pass"/><test-case name="CastAs470" result="pass"/><test-case name="CastAs471" result="pass"/><test-case name="CastAs472" result="pass"/><test-case name="CastAs473" result="pass"/><test-case name="CastAs474" result="pass"/><test-case name="CastAs475" result="pass"/><test-case name="CastAs476" result="pass"/><test-case name="CastAs477" result="pass"/><test-case name="CastAs478" result="pass"/><test-case name="CastAs479" result="pass"/><test-case name="CastAs480" result="pass"/><test-case name="CastAs481" result="pass"/><test-case name="CastAs482" result="pass"/><test-case name="CastAs483" result="pass"/><test-case name="CastAs484" result="pass"/><test-case name="CastAs485" result="pass"/><test-case name="CastAs486" result="pass"/><test-case name="CastAs487" result="pass"/><test-case name="CastAs488" result="pass"/><test-case name="CastAs489" result="pass"/><test-case name="CastAs490" result="pass"/><test-case name="CastAs491" result="pass"/><test-case name="CastAs492" result="pass"/><test-case name="CastAs493" result="pass"/><test-case name="CastAs494" result="pass"/><test-case name="CastAs495" result="pass"/><test-case name="CastAs496" result="pass"/><test-case name="CastAs497" result="pass"/><test-case name="CastAs498" result="pass"/><test-case name="CastAs499" result="pass"/><test-case name="CastAs500" result="pass"/><test-case name="CastAs501" result="pass"/><test-case name="CastAs502" result="pass"/><test-case name="CastAs503" result="pass"/><test-case name="CastAs504" result="pass"/><test-case name="CastAs505" result="pass"/><test-case name="CastAs506" result="pass"/><test-case name="CastAs507" result="pass"/><test-case name="CastAs508" result="pass"/><test-case name="CastAs509" result="pass"/><test-case name="CastAs510" result="pass"/><test-case name="CastAs511" result="pass"/><test-case name="CastAs512" result="pass"/><test-case name="CastAs513" result="pass"/><test-case name="CastAs514" result="pass"/><test-case name="CastAs515" result="pass"/><test-case name="CastAs516" result="pass"/><test-case name="CastAs517" result="pass"/><test-case name="CastAs518" result="pass"/><test-case name="CastAs519" result="pass"/><test-case name="CastAs520" result="pass"/><test-case name="CastAs521" result="pass"/><test-case name="CastAs522" result="pass"/><test-case name="CastAs523" result="pass"/><test-case name="CastAs524" result="pass"/><test-case name="CastAs525" result="pass"/><test-case name="CastAs526" result="pass"/><test-case name="CastAs527" result="pass"/><test-case name="CastAs528" result="pass"/><test-case name="CastAs529" result="pass"/><test-case name="CastAs530" result="pass"/><test-case name="CastAs531" result="pass"/><test-case name="CastAs532" result="pass"/><test-case name="CastAs533" result="pass"/><test-case name="CastAs534" result="pass"/><test-case name="CastAs535" result="pass"/><test-case name="CastAs536" result="pass"/><test-case name="CastAs537" result="pass"/><test-case name="CastAs538" result="pass"/><test-case name="CastAs539" result="pass"/><test-case name="CastAs540" result="pass"/><test-case name="CastAs541" result="pass"/><test-case name="CastAs542" result="pass"/><test-case name="CastAs543" result="pass"/><test-case name="CastAs544" result="pass"/><test-case name="CastAs545" result="pass"/><test-case name="CastAs546" result="pass"/><test-case name="CastAs547" result="pass"/><test-case name="CastAs548" result="pass"/><test-case name="CastAs549" result="pass"/><test-case name="CastAs550" result="pass"/><test-case name="CastAs551" result="pass"/><test-case name="CastAs552" result="pass"/><test-case name="CastAs553" result="pass"/><test-case name="CastAs554" result="pass"/><test-case name="CastAs555" result="pass"/><test-case name="CastAs556" result="pass"/><test-case name="CastAs557" result="pass"/><test-case name="CastAs558" result="pass"/><test-case name="CastAs559" result="pass"/><test-case name="CastAs560" result="pass"/><test-case name="CastAs561" result="pass"/><test-case name="CastAs562" result="pass"/><test-case name="CastAs563" result="pass"/><test-case name="CastAs564" result="pass"/><test-case name="CastAs565" result="pass"/><test-case name="CastAs566" result="pass"/><test-case name="CastAs567" result="pass"/><test-case name="CastAs568" result="pass"/><test-case name="CastAs569" result="pass"/><test-case name="CastAs570" result="pass"/><test-case name="CastAs571" result="pass"/><test-case name="CastAs572" result="pass"/><test-case name="CastAs573" result="pass"/><test-case name="CastAs574" result="pass"/><test-case name="CastAs575" result="pass"/><test-case name="CastAs576" result="pass"/><test-case name="CastAs577" result="pass"/><test-case name="CastAs578" result="pass"/><test-case name="CastAs579" result="pass"/><test-case name="CastAs580" result="pass"/><test-case name="CastAs581" result="pass"/><test-case name="CastAs582" result="pass"/><test-case name="CastAs583" result="pass"/><test-case name="CastAs584" result="pass"/><test-case name="CastAs585" result="pass"/><test-case name="CastAs586" result="pass"/><test-case name="CastAs587" result="pass"/><test-case name="CastAs588" result="pass"/><test-case name="CastAs589" result="pass"/><test-case name="CastAs590" result="pass"/><test-case name="CastAs591" result="pass"/><test-case name="CastAs592" result="pass"/><test-case name="CastAs593" result="pass"/><test-case name="CastAs594" result="pass"/><test-case name="CastAs595" result="pass"/><test-case name="CastAs596" result="pass"/><test-case name="CastAs597" result="pass"/><test-case name="CastAs598" result="pass"/><test-case name="CastAs599" result="pass"/><test-case name="CastAs600" result="pass"/><test-case name="CastAs601" result="pass"/><test-case name="CastAs602" result="pass"/><test-case name="CastAs603" result="pass"/><test-case name="CastAs604" result="pass"/><test-case name="CastAs605" result="pass"/><test-case name="CastAs606" result="pass"/><test-case name="CastAs607" result="pass"/><test-case name="CastAs608" result="pass"/><test-case name="CastAs609" result="pass"/><test-case name="CastAs610" result="pass"/><test-case name="CastAs611" result="pass"/><test-case name="CastAs612" result="pass"/><test-case name="CastAs613" result="pass"/><test-case name="CastAs614" result="pass"/><test-case name="CastAs615" result="pass"/><test-case name="CastAs616" result="pass"/><test-case name="CastAs617" result="pass"/><test-case name="CastAs618" result="pass"/><test-case name="CastAs619" result="pass"/><test-case name="CastAs620" result="pass"/><test-case name="CastAs621" result="pass"/><test-case name="CastAs622" result="pass"/><test-case name="CastAs623" result="pass"/><test-case name="CastAs624" result="pass"/><test-case name="CastAs625" result="pass"/><test-case name="CastAs626" result="pass"/><test-case name="CastAs627" result="pass"/><test-case name="CastAs628" result="pass"/><test-case name="CastAs629" result="pass"/><test-case name="CastAs630" result="pass"/><test-case name="CastAs631" result="pass"/><test-case name="CastAs632" result="pass"/><test-case name="CastAs633" result="pass"/><test-case name="CastAs634" result="pass"/><test-case name="CastAs635" result="pass"/><test-case name="CastAs636" result="pass"/><test-case name="CastAs637" result="pass"/><test-case name="CastAs638" result="pass"/><test-case name="CastAs639" result="pass"/><test-case name="CastAs640" result="pass"/><test-case name="CastAs641" result="pass"/><test-case name="CastAs642" result="pass"/><test-case name="CastAs643" result="pass"/><test-case name="CastAs644" result="pass"/><test-case name="CastAs645" result="pass"/><test-case name="CastAs646" result="pass"/><test-case name="CastAs647" result="fail"/><test-case name="CastAs648" result="pass"/><test-case name="CastAs649" result="pass"/><test-case name="CastAs650" result="pass"/><test-case name="CastAs651" result="pass"/><test-case name="CastAs652" result="pass"/><test-case name="CastAs653" result="pass"/><test-case name="CastAs654" result="pass"/><test-case name="CastAs655" result="pass"/><test-case name="CastAs656" result="pass"/><test-case name="CastAs657" result="pass"/><test-case name="CastAs658" result="pass"/><test-case name="CastAs659" result="pass"/><test-case name="CastAs660" result="pass"/><test-case name="CastAs661" result="pass"/><test-case name="CastAs662" result="pass"/><test-case name="CastAs663" result="pass"/><test-case name="CastAs664" result="pass"/><test-case name="CastAs665" result="pass"/><test-case name="CastAs666" result="pass"/><test-case name="CastAs667" result="pass"/><test-case name="CastAs668" result="pass"/><test-case name="CastAs669" result="pass"/><test-case name="CastAs670" result="pass"/><test-case name="CastAs671" result="pass"/><test-case name="CastAs672" result="pass"/><test-case name="CastFOCA0001-1" result="fail"/><test-case name="CastFOCA0003-1" result="fail"/><test-case name="K-SeqExprCast-1" result="pass"/><test-case name="K-SeqExprCast-2" result="pass"/><test-case name="K-SeqExprCast-3" result="pass"/><test-case name="K-SeqExprCast-4" result="pass"/><test-case name="K-SeqExprCast-5" result="pass"/><test-case name="K-SeqExprCast-6" result="pass"/><test-case name="K-SeqExprCast-7" result="pass"/><test-case name="K-SeqExprCast-8" result="pass"/><test-case name="K-SeqExprCast-9" result="pass"/><test-case name="K-SeqExprCast-10" result="pass"/><test-case name="K-SeqExprCast-11" result="pass"/><test-case name="K-SeqExprCast-12" result="pass"/><test-case name="K-SeqExprCast-13" result="pass"/><test-case name="K-SeqExprCast-14" result="pass"/><test-case name="K-SeqExprCast-15" result="pass"/><test-case name="K-SeqExprCast-16" result="pass"/><test-case name="K-SeqExprCast-17" result="pass"/><test-case name="K-SeqExprCast-18" result="pass"/><test-case name="K-SeqExprCast-19" result="pass"/><test-case name="K-SeqExprCast-20" result="pass"/><test-case name="K-SeqExprCast-21" result="pass"/><test-case name="K-SeqExprCast-22" result="pass"/><test-case name="K-SeqExprCast-23" result="pass"/><test-case name="K-SeqExprCast-24" result="pass"/><test-case name="K-SeqExprCast-25" result="pass"/><test-case name="K-SeqExprCast-26" result="pass"/><test-case name="K-SeqExprCast-27" result="pass"/><test-case name="K-SeqExprCast-28" result="pass"/><test-case name="K-SeqExprCast-29" result="pass"/><test-case name="K-SeqExprCast-30" result="pass"/><test-case name="K-SeqExprCast-31" result="pass"/><test-case name="K-SeqExprCast-32" result="pass"/><test-case name="K-SeqExprCast-33" result="pass"/><test-case name="K-SeqExprCast-34" result="pass"/><test-case name="K-SeqExprCast-35" result="pass"/><test-case name="K-SeqExprCast-36" result="pass"/><test-case name="K-SeqExprCast-37" result="pass"/><test-case name="K-SeqExprCast-38" result="pass"/><test-case name="K-SeqExprCast-39" result="pass"/><test-case name="K-SeqExprCast-40" result="pass"/><test-case name="K-SeqExprCast-41" result="pass"/><test-case name="K-SeqExprCast-42" result="pass"/><test-case name="K-SeqExprCast-43" result="pass"/><test-case name="K-SeqExprCast-44" result="pass"/><test-case name="K-SeqExprCast-45" result="pass"/><test-case name="K-SeqExprCast-46" result="pass"/><test-case name="K-SeqExprCast-47" result="pass"/><test-case name="K-SeqExprCast-48" result="pass"/><test-case name="K-SeqExprCast-49" result="pass"/><test-case name="K-SeqExprCast-50" result="pass"/><test-case name="K-SeqExprCast-51" result="pass"/><test-case name="K-SeqExprCast-52" result="pass"/><test-case name="K-SeqExprCast-53" result="pass"/><test-case name="K-SeqExprCast-54" result="pass"/><test-case name="K-SeqExprCast-55" result="pass"/><test-case name="K-SeqExprCast-56" result="pass"/><test-case name="K-SeqExprCast-57" result="pass"/><test-case name="K-SeqExprCast-58" result="pass"/><test-case name="K-SeqExprCast-59" result="pass"/><test-case name="K-SeqExprCast-60" result="pass"/><test-case name="K-SeqExprCast-61" result="pass"/><test-case name="K-SeqExprCast-62" result="pass"/><test-case name="K-SeqExprCast-63" result="pass"/><test-case name="K-SeqExprCast-64" result="pass"/><test-case name="K-SeqExprCast-65" result="pass"/><test-case name="K-SeqExprCast-66" result="pass"/><test-case name="K-SeqExprCast-67" result="pass"/><test-case name="K-SeqExprCast-68" result="pass"/><test-case name="K-SeqExprCast-69" result="pass"/><test-case name="K-SeqExprCast-70" result="pass"/><test-case name="K-SeqExprCast-71" result="pass"/><test-case name="K-SeqExprCast-72" result="pass"/><test-case name="K-SeqExprCast-73" result="pass"/><test-case name="K-SeqExprCast-74" result="pass"/><test-case name="K-SeqExprCast-75" result="pass"/><test-case name="K-SeqExprCast-76" result="pass"/><test-case name="K-SeqExprCast-77" result="pass"/><test-case name="K-SeqExprCast-78" result="pass"/><test-case name="K-SeqExprCast-79" result="pass"/><test-case name="K-SeqExprCast-80" result="pass"/><test-case name="K-SeqExprCast-81" result="pass"/><test-case name="K-SeqExprCast-82" result="pass"/><test-case name="K-SeqExprCast-83" result="pass"/><test-case name="K-SeqExprCast-84" result="pass"/><test-case name="K-SeqExprCast-85" result="pass"/><test-case name="K-SeqExprCast-86" result="pass"/><test-case name="K-SeqExprCast-87" result="pass"/><test-case name="K-SeqExprCast-88" result="pass"/><test-case name="K-SeqExprCast-89" result="pass"/><test-case name="K-SeqExprCast-90" result="pass"/><test-case name="K-SeqExprCast-91" result="pass"/><test-case name="K-SeqExprCast-92" result="pass"/><test-case name="K-SeqExprCast-93" result="pass"/><test-case name="K-SeqExprCast-94" result="pass"/><test-case name="K-SeqExprCast-95" result="pass"/><test-case name="K-SeqExprCast-96" result="pass"/><test-case name="K-SeqExprCast-97" result="pass"/><test-case name="K-SeqExprCast-98" result="pass"/><test-case name="K-SeqExprCast-99" result="pass"/><test-case name="K-SeqExprCast-100" result="pass"/><test-case name="K-SeqExprCast-101" result="pass"/><test-case name="K-SeqExprCast-102" result="pass"/><test-case name="K-SeqExprCast-103" result="pass"/><test-case name="K-SeqExprCast-104" result="pass"/><test-case name="K-SeqExprCast-105" result="pass"/><test-case name="K-SeqExprCast-106" result="pass"/><test-case name="K-SeqExprCast-107" result="pass"/><test-case name="K-SeqExprCast-108" result="pass"/><test-case name="K-SeqExprCast-109" result="pass"/><test-case name="K-SeqExprCast-110" result="pass"/><test-case name="K-SeqExprCast-111" result="pass"/><test-case name="K-SeqExprCast-112" result="pass"/><test-case name="K-SeqExprCast-113" result="pass"/><test-case name="K-SeqExprCast-114" result="pass"/><test-case name="K-SeqExprCast-115" result="pass"/><test-case name="K-SeqExprCast-116" result="pass"/><test-case name="K-SeqExprCast-117" result="pass"/><test-case name="K-SeqExprCast-118" result="pass"/><test-case name="K-SeqExprCast-119" result="pass"/><test-case name="K-SeqExprCast-120" result="pass"/><test-case name="K-SeqExprCast-121" result="pass"/><test-case name="K-SeqExprCast-122" result="pass"/><test-case name="K-SeqExprCast-123" result="pass"/><test-case name="K-SeqExprCast-124" result="pass"/><test-case name="K-SeqExprCast-125" result="pass"/><test-case name="K-SeqExprCast-126" result="pass"/><test-case name="K-SeqExprCast-127" result="pass"/><test-case name="K-SeqExprCast-128" result="pass"/><test-case name="K-SeqExprCast-129" result="fail"/><test-case name="K-SeqExprCast-130" result="pass"/><test-case name="K-SeqExprCast-131" result="pass"/><test-case name="K-SeqExprCast-132" result="pass"/><test-case name="K-SeqExprCast-133" result="pass"/><test-case name="K-SeqExprCast-134" result="pass"/><test-case name="K-SeqExprCast-135" result="pass"/><test-case name="K-SeqExprCast-136" result="pass"/><test-case name="K-SeqExprCast-137" result="pass"/><test-case name="K-SeqExprCast-138" result="pass"/><test-case name="K-SeqExprCast-139" result="pass"/><test-case name="K-SeqExprCast-140" result="pass"/><test-case name="K-SeqExprCast-141" result="pass"/><test-case name="K-SeqExprCast-142" result="pass"/><test-case name="K-SeqExprCast-143" result="pass"/><test-case name="K-SeqExprCast-144" result="pass"/><test-case name="K-SeqExprCast-145" result="pass"/><test-case name="K-SeqExprCast-147" result="pass"/><test-case name="K-SeqExprCast-148" result="pass"/><test-case name="K-SeqExprCast-149" result="pass"/><test-case name="K-SeqExprCast-150" result="pass"/><test-case name="K-SeqExprCast-151" result="pass"/><test-case name="K-SeqExprCast-152" result="pass"/><test-case name="K-SeqExprCast-153" result="pass"/><test-case name="K-SeqExprCast-154" result="pass"/><test-case name="K-SeqExprCast-155" result="pass"/><test-case name="K-SeqExprCast-156" result="pass"/><test-case name="K-SeqExprCast-157" result="pass"/><test-case name="K-SeqExprCast-158" result="pass"/><test-case name="K-SeqExprCast-159" result="pass"/><test-case name="K-SeqExprCast-160" result="pass"/><test-case name="K-SeqExprCast-161" result="pass"/><test-case name="K-SeqExprCast-162" result="pass"/><test-case name="K-SeqExprCast-163" result="pass"/><test-case name="K-SeqExprCast-164" result="pass"/><test-case name="K-SeqExprCast-165" result="pass"/><test-case name="K-SeqExprCast-166" result="pass"/><test-case name="K-SeqExprCast-167" result="pass"/><test-case name="K-SeqExprCast-168" result="pass"/><test-case name="K-SeqExprCast-169" result="pass"/><test-case name="K-SeqExprCast-170" result="pass"/><test-case name="K-SeqExprCast-171" result="pass"/><test-case name="K-SeqExprCast-172" result="pass"/><test-case name="K-SeqExprCast-173" result="pass"/><test-case name="K-SeqExprCast-174" result="pass"/><test-case name="K-SeqExprCast-175" result="pass"/><test-case name="K-SeqExprCast-176" result="pass"/><test-case name="K-SeqExprCast-177" result="pass"/><test-case name="K-SeqExprCast-178" result="pass"/><test-case name="K-SeqExprCast-179" result="pass"/><test-case name="K-SeqExprCast-180" result="pass"/><test-case name="K-SeqExprCast-181" result="pass"/><test-case name="K-SeqExprCast-182" result="pass"/><test-case name="K-SeqExprCast-183" result="pass"/><test-case name="K-SeqExprCast-184" result="pass"/><test-case name="K-SeqExprCast-185" result="pass"/><test-case name="K-SeqExprCast-186" result="pass"/><test-case name="K-SeqExprCast-187" result="pass"/><test-case name="K-SeqExprCast-188" result="pass"/><test-case name="K-SeqExprCast-189" result="pass"/><test-case name="K-SeqExprCast-190" result="pass"/><test-case name="K-SeqExprCast-191" result="pass"/><test-case name="K-SeqExprCast-192" result="pass"/><test-case name="K-SeqExprCast-193" result="pass"/><test-case name="K-SeqExprCast-194" result="pass"/><test-case name="K-SeqExprCast-195" result="pass"/><test-case name="K-SeqExprCast-196" result="pass"/><test-case name="K-SeqExprCast-197" result="pass"/><test-case name="K-SeqExprCast-198" result="pass"/><test-case name="K-SeqExprCast-199" result="pass"/><test-case name="K-SeqExprCast-200" result="pass"/><test-case name="K-SeqExprCast-201" result="pass"/><test-case name="K-SeqExprCast-202" result="pass"/><test-case name="K-SeqExprCast-203" result="pass"/><test-case name="K-SeqExprCast-204" result="pass"/><test-case name="K-SeqExprCast-205" result="pass"/><test-case name="K-SeqExprCast-206" result="pass"/><test-case name="K-SeqExprCast-207" result="pass"/><test-case name="K-SeqExprCast-208" result="pass"/><test-case name="K-SeqExprCast-209" result="pass"/><test-case name="K-SeqExprCast-210" result="pass"/><test-case name="K-SeqExprCast-211" result="pass"/><test-case name="K-SeqExprCast-213" result="pass"/><test-case name="K-SeqExprCast-214" result="pass"/><test-case name="K-SeqExprCast-215" result="pass"/><test-case name="K-SeqExprCast-216" result="pass"/><test-case name="K-SeqExprCast-217" result="pass"/><test-case name="K-SeqExprCast-218" result="pass"/><test-case name="K-SeqExprCast-219" result="pass"/><test-case name="K-SeqExprCast-220" result="pass"/><test-case name="K-SeqExprCast-221" result="pass"/><test-case name="K-SeqExprCast-222" result="pass"/><test-case name="K-SeqExprCast-223" result="pass"/><test-case name="K-SeqExprCast-224" result="pass"/><test-case name="K-SeqExprCast-225" result="pass"/><test-case name="K-SeqExprCast-226" result="pass"/><test-case name="K-SeqExprCast-227" result="pass"/><test-case name="K-SeqExprCast-228" result="pass"/><test-case name="K-SeqExprCast-229" result="pass"/><test-case name="K-SeqExprCast-230" result="pass"/><test-case name="K-SeqExprCast-231" result="pass"/><test-case name="K-SeqExprCast-232" result="pass"/><test-case name="K-SeqExprCast-233" result="pass"/><test-case name="K-SeqExprCast-234" result="pass"/><test-case name="K-SeqExprCast-235" result="pass"/><test-case name="K-SeqExprCast-236" result="pass"/><test-case name="K-SeqExprCast-237" result="pass"/><test-case name="K-SeqExprCast-238" result="pass"/><test-case name="K-SeqExprCast-239" result="pass"/><test-case name="K-SeqExprCast-240" result="pass"/><test-case name="K-SeqExprCast-241" result="pass"/><test-case name="K-SeqExprCast-242" result="pass"/><test-case name="K-SeqExprCast-243" result="pass"/><test-case name="K-SeqExprCast-244" result="pass"/><test-case name="K-SeqExprCast-245" result="pass"/><test-case name="K-SeqExprCast-246" result="pass"/><test-case name="K-SeqExprCast-247" result="pass"/><test-case name="K-SeqExprCast-248" result="pass"/><test-case name="K-SeqExprCast-249" result="pass"/><test-case name="K-SeqExprCast-250" result="pass"/><test-case name="K-SeqExprCast-251" result="pass"/><test-case name="K-SeqExprCast-252" result="pass"/><test-case name="K-SeqExprCast-253" result="pass"/><test-case name="K-SeqExprCast-254" result="pass"/><test-case name="K-SeqExprCast-255" result="pass"/><test-case name="K-SeqExprCast-256" result="pass"/><test-case name="K-SeqExprCast-257" result="pass"/><test-case name="K-SeqExprCast-258" result="pass"/><test-case name="K-SeqExprCast-259" result="pass"/><test-case name="K-SeqExprCast-260" result="pass"/><test-case name="K-SeqExprCast-261" result="pass"/><test-case name="K-SeqExprCast-262" result="pass"/><test-case name="K-SeqExprCast-263" result="pass"/><test-case name="K-SeqExprCast-264" result="pass"/><test-case name="K-SeqExprCast-265" result="pass"/><test-case name="K-SeqExprCast-266" result="pass"/><test-case name="K-SeqExprCast-267" result="pass"/><test-case name="K-SeqExprCast-268" result="pass"/><test-case name="K-SeqExprCast-269" result="pass"/><test-case name="K-SeqExprCast-270" result="pass"/><test-case name="K-SeqExprCast-271" result="pass"/><test-case name="K-SeqExprCast-272" result="pass"/><test-case name="K-SeqExprCast-273" result="pass"/><test-case name="K-SeqExprCast-274" result="pass"/><test-case name="K-SeqExprCast-275" result="pass"/><test-case name="K-SeqExprCast-276" result="pass"/><test-case name="K-SeqExprCast-277" result="pass"/><test-case name="K-SeqExprCast-278" result="pass"/><test-case name="K-SeqExprCast-279" result="pass"/><test-case name="K-SeqExprCast-280" result="pass"/><test-case name="K-SeqExprCast-281" result="pass"/><test-case name="K-SeqExprCast-282" result="pass"/><test-case name="K-SeqExprCast-283" result="pass"/><test-case name="K-SeqExprCast-284" result="pass"/><test-case name="K-SeqExprCast-285" result="pass"/><test-case name="K-SeqExprCast-286" result="pass"/><test-case name="K-SeqExprCast-287" result="pass"/><test-case name="K-SeqExprCast-288" result="pass"/><test-case name="K-SeqExprCast-289" result="pass"/><test-case name="K-SeqExprCast-290" result="pass"/><test-case name="K-SeqExprCast-291" result="pass"/><test-case name="K-SeqExprCast-292" result="pass"/><test-case name="K-SeqExprCast-293" result="pass"/><test-case name="K-SeqExprCast-294" result="pass"/><test-case name="K-SeqExprCast-295" result="pass"/><test-case name="K-SeqExprCast-296" result="pass"/><test-case name="K-SeqExprCast-297" result="pass"/><test-case name="K-SeqExprCast-298" result="pass"/><test-case name="K-SeqExprCast-299" result="pass"/><test-case name="K-SeqExprCast-300" result="pass"/><test-case name="K-SeqExprCast-301" result="pass"/><test-case name="K-SeqExprCast-302" result="pass"/><test-case name="K-SeqExprCast-303" result="pass"/><test-case name="K-SeqExprCast-304" result="pass"/><test-case name="K-SeqExprCast-305" result="pass"/><test-case name="K-SeqExprCast-306" result="pass"/><test-case name="K-SeqExprCast-307" result="pass"/><test-case name="K-SeqExprCast-308" result="pass"/><test-case name="K-SeqExprCast-309" result="pass"/><test-case name="K-SeqExprCast-310" result="pass"/><test-case name="K-SeqExprCast-311" result="pass"/><test-case name="K-SeqExprCast-312" result="pass"/><test-case name="K-SeqExprCast-313" result="pass"/><test-case name="K-SeqExprCast-314" result="pass"/><test-case name="K-SeqExprCast-315" result="pass"/><test-case name="K-SeqExprCast-316" result="pass"/><test-case name="K-SeqExprCast-317" result="pass"/><test-case name="K-SeqExprCast-318" result="pass"/><test-case name="K-SeqExprCast-319" result="pass"/><test-case name="K-SeqExprCast-320" result="pass"/><test-case name="K-SeqExprCast-321" result="pass"/><test-case name="K-SeqExprCast-322" result="pass"/><test-case name="K-SeqExprCast-323" result="pass"/><test-case name="K-SeqExprCast-324" result="pass"/><test-case name="K-SeqExprCast-325" result="pass"/><test-case name="K-SeqExprCast-326" result="pass"/><test-case name="K-SeqExprCast-327" result="pass"/><test-case name="K-SeqExprCast-328" result="pass"/><test-case name="K-SeqExprCast-329" result="pass"/><test-case name="K-SeqExprCast-330" result="pass"/><test-case name="K-SeqExprCast-331" result="pass"/><test-case name="K-SeqExprCast-332" result="pass"/><test-case name="K-SeqExprCast-333" result="pass"/><test-case name="K-SeqExprCast-334" result="pass"/><test-case name="K-SeqExprCast-335" result="pass"/><test-case name="K-SeqExprCast-336" result="pass"/><test-case name="K-SeqExprCast-337" result="pass"/><test-case name="K-SeqExprCast-338" result="pass"/><test-case name="K-SeqExprCast-339" result="pass"/><test-case name="K-SeqExprCast-340" result="pass"/><test-case name="K-SeqExprCast-341" result="pass"/><test-case name="K-SeqExprCast-342" result="pass"/><test-case name="K-SeqExprCast-343" result="pass"/><test-case name="K-SeqExprCast-344" result="pass"/><test-case name="K-SeqExprCast-345" result="pass"/><test-case name="K-SeqExprCast-346" result="pass"/><test-case name="K-SeqExprCast-347" result="pass"/><test-case name="K-SeqExprCast-348" result="pass"/><test-case name="K-SeqExprCast-349" result="pass"/><test-case name="K-SeqExprCast-350" result="pass"/><test-case name="K-SeqExprCast-351" result="pass"/><test-case name="K-SeqExprCast-352" result="pass"/><test-case name="K-SeqExprCast-353" result="pass"/><test-case name="K-SeqExprCast-354" result="pass"/><test-case name="K-SeqExprCast-355" result="pass"/><test-case name="K-SeqExprCast-356" result="pass"/><test-case name="K-SeqExprCast-357" result="pass"/><test-case name="K-SeqExprCast-358" result="pass"/><test-case name="K-SeqExprCast-359" result="pass"/><test-case name="K-SeqExprCast-360" result="pass"/><test-case name="K-SeqExprCast-361" result="pass"/><test-case name="K-SeqExprCast-362" result="pass"/><test-case name="K-SeqExprCast-363" result="pass"/><test-case name="K-SeqExprCast-364" result="pass"/><test-case name="K-SeqExprCast-365" result="pass"/><test-case name="K-SeqExprCast-366" result="pass"/><test-case name="K-SeqExprCast-367" result="pass"/><test-case name="K-SeqExprCast-368" result="pass"/><test-case name="K-SeqExprCast-369" result="pass"/><test-case name="K-SeqExprCast-370" result="pass"/><test-case name="K-SeqExprCast-371" result="pass"/><test-case name="K-SeqExprCast-372" result="pass"/><test-case name="K-SeqExprCast-373" result="pass"/><test-case name="K-SeqExprCast-374" result="pass"/><test-case name="K-SeqExprCast-375" result="pass"/><test-case name="K-SeqExprCast-376" result="pass"/><test-case name="K-SeqExprCast-377" result="pass"/><test-case name="K-SeqExprCast-378" result="pass"/><test-case name="K-SeqExprCast-379" result="pass"/><test-case name="K-SeqExprCast-380" result="pass"/><test-case name="K-SeqExprCast-381" result="pass"/><test-case name="K-SeqExprCast-382" result="pass"/><test-case name="K-SeqExprCast-383" result="pass"/><test-case name="K-SeqExprCast-384" result="pass"/><test-case name="K-SeqExprCast-385" result="pass"/><test-case name="K-SeqExprCast-386" result="pass"/><test-case name="K-SeqExprCast-387" result="pass"/><test-case name="K-SeqExprCast-388" result="pass"/><test-case name="K-SeqExprCast-389" result="pass"/><test-case name="K-SeqExprCast-390" result="pass"/><test-case name="K-SeqExprCast-391" result="pass"/><test-case name="K-SeqExprCast-392" result="pass"/><test-case name="K-SeqExprCast-393" result="pass"/><test-case name="K-SeqExprCast-394" result="pass"/><test-case name="K-SeqExprCast-395" result="pass"/><test-case name="K-SeqExprCast-396" result="pass"/><test-case name="K-SeqExprCast-397" result="pass"/><test-case name="K-SeqExprCast-398" result="pass"/><test-case name="K-SeqExprCast-399" result="pass"/><test-case name="K-SeqExprCast-400" result="pass"/><test-case name="K-SeqExprCast-401" result="pass"/><test-case name="K-SeqExprCast-402" result="pass"/><test-case name="K-SeqExprCast-403" result="pass"/><test-case name="K-SeqExprCast-404" result="pass"/><test-case name="K-SeqExprCast-405" result="pass"/><test-case name="K-SeqExprCast-406" result="pass"/><test-case name="K-SeqExprCast-407" result="pass"/><test-case name="K-SeqExprCast-408" result="pass"/><test-case name="K-SeqExprCast-409" result="pass"/><test-case name="K-SeqExprCast-411" result="pass"/><test-case name="K-SeqExprCast-412" result="pass"/><test-case name="K-SeqExprCast-413" result="pass"/><test-case name="K-SeqExprCast-414" result="pass"/><test-case name="K-SeqExprCast-415" result="pass"/><test-case name="K-SeqExprCast-416" result="pass"/><test-case name="K-SeqExprCast-417" result="pass"/><test-case name="K-SeqExprCast-418" result="pass"/><test-case name="K-SeqExprCast-419" result="pass"/><test-case name="K-SeqExprCast-420" result="pass"/><test-case name="K-SeqExprCast-421" result="pass"/><test-case name="K-SeqExprCast-422" result="pass"/><test-case name="K-SeqExprCast-423" result="pass"/><test-case name="K-SeqExprCast-424" result="pass"/><test-case name="K-SeqExprCast-425" result="pass"/><test-case name="K-SeqExprCast-426" result="pass"/><test-case name="K-SeqExprCast-427" result="pass"/><test-case name="K-SeqExprCast-428" result="pass"/><test-case name="K-SeqExprCast-429" result="pass"/><test-case name="K-SeqExprCast-430" result="pass"/><test-case name="K-SeqExprCast-431" result="pass"/><test-case name="K-SeqExprCast-432" result="pass"/><test-case name="K-SeqExprCast-433" result="pass"/><test-case name="K-SeqExprCast-434" result="pass"/><test-case name="K-SeqExprCast-435" result="pass"/><test-case name="K-SeqExprCast-436" result="pass"/><test-case name="K-SeqExprCast-437" result="pass"/><test-case name="K-SeqExprCast-438" result="pass"/><test-case name="K-SeqExprCast-439" result="pass"/><test-case name="K-SeqExprCast-440" result="pass"/><test-case name="K-SeqExprCast-441" result="pass"/><test-case name="K-SeqExprCast-442" result="pass"/><test-case name="K-SeqExprCast-443" result="pass"/><test-case name="K-SeqExprCast-444" result="pass"/><test-case name="K-SeqExprCast-445" result="pass"/><test-case name="K-SeqExprCast-446" result="pass"/><test-case name="K-SeqExprCast-447" result="pass"/><test-case name="K-SeqExprCast-448" result="pass"/><test-case name="K-SeqExprCast-449" result="pass"/><test-case name="K-SeqExprCast-450" result="pass"/><test-case name="K-SeqExprCast-451" result="pass"/><test-case name="K-SeqExprCast-452" result="pass"/><test-case name="K-SeqExprCast-453" result="pass"/><test-case name="K-SeqExprCast-454" result="pass"/><test-case name="K-SeqExprCast-455" result="pass"/><test-case name="K-SeqExprCast-456" result="pass"/><test-case name="K-SeqExprCast-457" result="pass"/><test-case name="K-SeqExprCast-458" result="pass"/><test-case name="K-SeqExprCast-459" result="pass"/><test-case name="K-SeqExprCast-460" result="pass"/><test-case name="K-SeqExprCast-461" result="pass"/><test-case name="K-SeqExprCast-462" result="pass"/><test-case name="K-SeqExprCast-463" result="pass"/><test-case name="K-SeqExprCast-464" result="pass"/><test-case name="K-SeqExprCast-465" result="pass"/><test-case name="K-SeqExprCast-466" result="pass"/><test-case name="K-SeqExprCast-467" result="pass"/><test-case name="K-SeqExprCast-468" result="pass"/><test-case name="K-SeqExprCast-469" result="pass"/><test-case name="K-SeqExprCast-470" result="pass"/><test-case name="K-SeqExprCast-471" result="pass"/><test-case name="K-SeqExprCast-472" result="pass"/><test-case name="K-SeqExprCast-473" result="pass"/><test-case name="K-SeqExprCast-474" result="pass"/><test-case name="K-SeqExprCast-475" result="pass"/><test-case name="K-SeqExprCast-476" result="pass"/><test-case name="K-SeqExprCast-477" result="pass"/><test-case name="K-SeqExprCast-478" result="pass"/><test-case name="K-SeqExprCast-479" result="pass"/><test-case name="K-SeqExprCast-480" result="pass"/><test-case name="K-SeqExprCast-481" result="pass"/><test-case name="K-SeqExprCast-482" result="pass"/><test-case name="K-SeqExprCast-483" result="pass"/><test-case name="K-SeqExprCast-484" result="pass"/><test-case name="K-SeqExprCast-485" result="pass"/><test-case name="K-SeqExprCast-486" result="pass"/><test-case name="K-SeqExprCast-487" result="pass"/><test-case name="K-SeqExprCast-488" result="pass"/><test-case name="K-SeqExprCast-489" result="pass"/><test-case name="K-SeqExprCast-490" result="pass"/><test-case name="K-SeqExprCast-491" result="pass"/><test-case name="K-SeqExprCast-492" result="pass"/><test-case name="K-SeqExprCast-493" result="pass"/><test-case name="K-SeqExprCast-494" result="pass"/><test-case name="K-SeqExprCast-495" result="pass"/><test-case name="K-SeqExprCast-496" result="pass"/><test-case name="K-SeqExprCast-497" result="pass"/><test-case name="K-SeqExprCast-498" result="pass"/><test-case name="K-SeqExprCast-499" result="pass"/><test-case name="K-SeqExprCast-500" result="pass"/><test-case name="K-SeqExprCast-501" result="pass"/><test-case name="K-SeqExprCast-502" result="pass"/><test-case name="K-SeqExprCast-503" result="pass"/><test-case name="K-SeqExprCast-504" result="pass"/><test-case name="K-SeqExprCast-505" result="pass"/><test-case name="K-SeqExprCast-506" result="pass"/><test-case name="K-SeqExprCast-507" result="pass"/><test-case name="K-SeqExprCast-508" result="pass"/><test-case name="K-SeqExprCast-509" result="pass"/><test-case name="K-SeqExprCast-510" result="pass"/><test-case name="K-SeqExprCast-511" result="pass"/><test-case name="K-SeqExprCast-512" result="pass"/><test-case name="K-SeqExprCast-513" result="pass"/><test-case name="K-SeqExprCast-514" result="pass"/><test-case name="K-SeqExprCast-515" result="pass"/><test-case name="K-SeqExprCast-516" result="pass"/><test-case name="K-SeqExprCast-517" result="pass"/><test-case name="K-SeqExprCast-518" result="pass"/><test-case name="K-SeqExprCast-519" result="pass"/><test-case name="K-SeqExprCast-520" result="pass"/><test-case name="K-SeqExprCast-521" result="pass"/><test-case name="K-SeqExprCast-522" result="pass"/><test-case name="K-SeqExprCast-523" result="pass"/><test-case name="K-SeqExprCast-524" result="pass"/><test-case name="K-SeqExprCast-525" result="pass"/><test-case name="K-SeqExprCast-526" result="pass"/><test-case name="K-SeqExprCast-527" result="pass"/><test-case name="K-SeqExprCast-528" result="pass"/><test-case name="K-SeqExprCast-529" result="pass"/><test-case name="K-SeqExprCast-530" result="pass"/><test-case name="K-SeqExprCast-531" result="pass"/><test-case name="K-SeqExprCast-532" result="pass"/><test-case name="K-SeqExprCast-533" result="pass"/><test-case name="K-SeqExprCast-534" result="pass"/><test-case name="K-SeqExprCast-535" result="pass"/><test-case name="K-SeqExprCast-536" result="pass"/><test-case name="K-SeqExprCast-537" result="pass"/><test-case name="K-SeqExprCast-538" result="pass"/><test-case name="K-SeqExprCast-539" result="pass"/><test-case name="K-SeqExprCast-540" result="pass"/><test-case name="K-SeqExprCast-541" result="pass"/><test-case name="K-SeqExprCast-542" result="pass"/><test-case name="K-SeqExprCast-543" result="pass"/><test-case name="K-SeqExprCast-544" result="pass"/><test-case name="K-SeqExprCast-545" result="pass"/><test-case name="K-SeqExprCast-546" result="pass"/><test-case name="K-SeqExprCast-547" result="pass"/><test-case name="K-SeqExprCast-548" result="pass"/><test-case name="K-SeqExprCast-549" result="pass"/><test-case name="K-SeqExprCast-550" result="pass"/><test-case name="K-SeqExprCast-551" result="pass"/><test-case name="K-SeqExprCast-552" result="pass"/><test-case name="K-SeqExprCast-553" result="pass"/><test-case name="K-SeqExprCast-554" result="pass"/><test-case name="K-SeqExprCast-555" result="pass"/><test-case name="K-SeqExprCast-556" result="pass"/><test-case name="K-SeqExprCast-557" result="pass"/><test-case name="K-SeqExprCast-558" result="pass"/><test-case name="K-SeqExprCast-559" result="pass"/><test-case name="K-SeqExprCast-560" result="pass"/><test-case name="K-SeqExprCast-561" result="pass"/><test-case name="K-SeqExprCast-562" result="pass"/><test-case name="K-SeqExprCast-563" result="pass"/><test-case name="K-SeqExprCast-564" result="pass"/><test-case name="K-SeqExprCast-565" result="pass"/><test-case name="K-SeqExprCast-566" result="pass"/><test-case name="K-SeqExprCast-567" result="pass"/><test-case name="K-SeqExprCast-568" result="pass"/><test-case name="K-SeqExprCast-569" result="pass"/><test-case name="K-SeqExprCast-570" result="pass"/><test-case name="K-SeqExprCast-571" result="pass"/><test-case name="K-SeqExprCast-572" result="pass"/><test-case name="K-SeqExprCast-573" result="pass"/><test-case name="K-SeqExprCast-574" result="pass"/><test-case name="K-SeqExprCast-575" result="pass"/><test-case name="K-SeqExprCast-576" result="pass"/><test-case name="K-SeqExprCast-577" result="pass"/><test-case name="K-SeqExprCast-578" result="pass"/><test-case name="K-SeqExprCast-579" result="pass"/><test-case name="K-SeqExprCast-580" result="pass"/><test-case name="K-SeqExprCast-581" result="pass"/><test-case name="K-SeqExprCast-582" result="pass"/><test-case name="K-SeqExprCast-583" result="pass"/><test-case name="K-SeqExprCast-584" result="pass"/><test-case name="K-SeqExprCast-585" result="pass"/><test-case name="K-SeqExprCast-586" result="pass"/><test-case name="K-SeqExprCast-587" result="pass"/><test-case name="K-SeqExprCast-588" result="pass"/><test-case name="K-SeqExprCast-589" result="pass"/><test-case name="K-SeqExprCast-590" result="pass"/><test-case name="K-SeqExprCast-591" result="pass"/><test-case name="K-SeqExprCast-592" result="pass"/><test-case name="K-SeqExprCast-593" result="pass"/><test-case name="K-SeqExprCast-594" result="pass"/><test-case name="K-SeqExprCast-595" result="pass"/><test-case name="K-SeqExprCast-596" result="pass"/><test-case name="K-SeqExprCast-597" result="pass"/><test-case name="K-SeqExprCast-598" result="pass"/><test-case name="K-SeqExprCast-599" result="pass"/><test-case name="K-SeqExprCast-600" result="pass"/><test-case name="K-SeqExprCast-601" result="pass"/><test-case name="K-SeqExprCast-602" result="pass"/><test-case name="K-SeqExprCast-603" result="pass"/><test-case name="K-SeqExprCast-604" result="pass"/><test-case name="K-SeqExprCast-605" result="pass"/><test-case name="K-SeqExprCast-606" result="pass"/><test-case name="K-SeqExprCast-607" result="pass"/><test-case name="K-SeqExprCast-608" result="pass"/><test-case name="K-SeqExprCast-609" result="pass"/><test-case name="K-SeqExprCast-610" result="pass"/><test-case name="K-SeqExprCast-611" result="pass"/><test-case name="K-SeqExprCast-612" result="pass"/><test-case name="K-SeqExprCast-613" result="pass"/><test-case name="K-SeqExprCast-614" result="pass"/><test-case name="K-SeqExprCast-615" result="pass"/><test-case name="K-SeqExprCast-616" result="pass"/><test-case name="K-SeqExprCast-617" result="pass"/><test-case name="K-SeqExprCast-618" result="pass"/><test-case name="K-SeqExprCast-619" result="pass"/><test-case name="K-SeqExprCast-620" result="pass"/><test-case name="K-SeqExprCast-621" result="pass"/><test-case name="K-SeqExprCast-622" result="pass"/><test-case name="K-SeqExprCast-623" result="pass"/><test-case name="K-SeqExprCast-624" result="pass"/><test-case name="K-SeqExprCast-625" result="pass"/><test-case name="K-SeqExprCast-626" result="pass"/><test-case name="K-SeqExprCast-627" result="pass"/><test-case name="K-SeqExprCast-628" result="pass"/><test-case name="K-SeqExprCast-629" result="pass"/><test-case name="K-SeqExprCast-630" result="pass"/><test-case name="K-SeqExprCast-631" result="pass"/><test-case name="K-SeqExprCast-632" result="pass"/><test-case name="K-SeqExprCast-633" result="pass"/><test-case name="K-SeqExprCast-634" result="pass"/><test-case name="K-SeqExprCast-635" result="pass"/><test-case name="K-SeqExprCast-636" result="pass"/><test-case name="K-SeqExprCast-637" result="pass"/><test-case name="K-SeqExprCast-638" result="pass"/><test-case name="K-SeqExprCast-639" result="pass"/><test-case name="K-SeqExprCast-640" result="pass"/><test-case name="K-SeqExprCast-641" result="pass"/><test-case name="K-SeqExprCast-642" result="pass"/><test-case name="K-SeqExprCast-643" result="pass"/><test-case name="K-SeqExprCast-644" result="pass"/><test-case name="K-SeqExprCast-645" result="pass"/><test-case name="K-SeqExprCast-646" result="pass"/><test-case name="K-SeqExprCast-647" result="pass"/><test-case name="K-SeqExprCast-648" result="pass"/><test-case name="K-SeqExprCast-649" result="pass"/><test-case name="K-SeqExprCast-650" result="pass"/><test-case name="K-SeqExprCast-651" result="pass"/><test-case name="K-SeqExprCast-652" result="pass"/><test-case name="K-SeqExprCast-653" result="pass"/><test-case name="K-SeqExprCast-654" result="pass"/><test-case name="K-SeqExprCast-655" result="pass"/><test-case name="K-SeqExprCast-656" result="pass"/><test-case name="K-SeqExprCast-657" result="pass"/><test-case name="K-SeqExprCast-658" result="pass"/><test-case name="K-SeqExprCast-659" result="pass"/><test-case name="K-SeqExprCast-660" result="pass"/><test-case name="K-SeqExprCast-661" result="pass"/><test-case name="K-SeqExprCast-662" result="pass"/><test-case name="K-SeqExprCast-663" result="pass"/><test-case name="K-SeqExprCast-664" result="pass"/><test-case name="K-SeqExprCast-665" result="pass"/><test-case name="K-SeqExprCast-666" result="pass"/><test-case name="K-SeqExprCast-667" result="pass"/><test-case name="K-SeqExprCast-668" result="pass"/><test-case name="K-SeqExprCast-669" result="pass"/><test-case name="K-SeqExprCast-670" result="pass"/><test-case name="K-SeqExprCast-671" result="pass"/><test-case name="K-SeqExprCast-672" result="pass"/><test-case name="K-SeqExprCast-673" result="pass"/><test-case name="K-SeqExprCast-674" result="pass"/><test-case name="K-SeqExprCast-675" result="pass"/><test-case name="K-SeqExprCast-676" result="pass"/><test-case name="K-SeqExprCast-677" result="pass"/><test-case name="K-SeqExprCast-678" result="pass"/><test-case name="K-SeqExprCast-679" result="pass"/><test-case name="K-SeqExprCast-680" result="pass"/><test-case name="K-SeqExprCast-681" result="pass"/><test-case name="K-SeqExprCast-682" result="pass"/><test-case name="K-SeqExprCast-683" result="pass"/><test-case name="K-SeqExprCast-684" result="pass"/><test-case name="K-SeqExprCast-685" result="pass"/><test-case name="K-SeqExprCast-686" result="pass"/><test-case name="K-SeqExprCast-687" result="pass"/><test-case name="K-SeqExprCast-688" result="pass"/><test-case name="K-SeqExprCast-689" result="pass"/><test-case name="K-SeqExprCast-690" result="pass"/><test-case name="K-SeqExprCast-691" result="pass"/><test-case name="K-SeqExprCast-692" result="pass"/><test-case name="K-SeqExprCast-693" result="pass"/><test-case name="K-SeqExprCast-694" result="pass"/><test-case name="K-SeqExprCast-695" result="pass"/><test-case name="K-SeqExprCast-696" result="pass"/><test-case name="K-SeqExprCast-697" result="pass"/><test-case name="K-SeqExprCast-698" result="pass"/><test-case name="K-SeqExprCast-699" result="pass"/><test-case name="K-SeqExprCast-700" result="pass"/><test-case name="K-SeqExprCast-701" result="pass"/><test-case name="K-SeqExprCast-702" result="pass"/><test-case name="K-SeqExprCast-703" result="pass"/><test-case name="K-SeqExprCast-704" result="pass"/><test-case name="K-SeqExprCast-705" result="pass"/><test-case name="K-SeqExprCast-706" result="pass"/><test-case name="K-SeqExprCast-707" result="pass"/><test-case name="K-SeqExprCast-708" result="pass"/><test-case name="K-SeqExprCast-709" result="pass"/><test-case name="K-SeqExprCast-710" result="pass"/><test-case name="K-SeqExprCast-711" result="pass"/><test-case name="K-SeqExprCast-712" result="pass"/><test-case name="K-SeqExprCast-713" result="pass"/><test-case name="K-SeqExprCast-714" result="pass"/><test-case name="K-SeqExprCast-715" result="pass"/><test-case name="K-SeqExprCast-716" result="pass"/><test-case name="K-SeqExprCast-717" result="pass"/><test-case name="K-SeqExprCast-718" result="pass"/><test-case name="K-SeqExprCast-719" result="pass"/><test-case name="K-SeqExprCast-720" result="pass"/><test-case name="K-SeqExprCast-721" result="pass"/><test-case name="K-SeqExprCast-722" result="pass"/><test-case name="K-SeqExprCast-723" result="pass"/><test-case name="K-SeqExprCast-724" result="pass"/><test-case name="K-SeqExprCast-725" result="pass"/><test-case name="K-SeqExprCast-726" result="pass"/><test-case name="K-SeqExprCast-727" result="pass"/><test-case name="K-SeqExprCast-728" result="pass"/><test-case name="K-SeqExprCast-729" result="pass"/><test-case name="K-SeqExprCast-730" result="pass"/><test-case name="K-SeqExprCast-731" result="pass"/><test-case name="K-SeqExprCast-732" result="pass"/><test-case name="K-SeqExprCast-733" result="pass"/><test-case name="K-SeqExprCast-734" result="pass"/><test-case name="K-SeqExprCast-735" result="pass"/><test-case name="K-SeqExprCast-736" result="pass"/><test-case name="K-SeqExprCast-737" result="pass"/><test-case name="K-SeqExprCast-738" result="pass"/><test-case name="K-SeqExprCast-739" result="pass"/><test-case name="K-SeqExprCast-740" result="pass"/><test-case name="K-SeqExprCast-741" result="pass"/><test-case name="K-SeqExprCast-742" result="pass"/><test-case name="K-SeqExprCast-743" result="pass"/><test-case name="K-SeqExprCast-744" result="pass"/><test-case name="K-SeqExprCast-745" result="pass"/><test-case name="K-SeqExprCast-746" result="pass"/><test-case name="K-SeqExprCast-747" result="pass"/><test-case name="K-SeqExprCast-748" result="pass"/><test-case name="K-SeqExprCast-749" result="pass"/><test-case name="K-SeqExprCast-750" result="pass"/><test-case name="K-SeqExprCast-751" result="pass"/><test-case name="K-SeqExprCast-752" result="pass"/><test-case name="K-SeqExprCast-753" result="pass"/><test-case name="K-SeqExprCast-754" result="pass"/><test-case name="K-SeqExprCast-755" result="pass"/><test-case name="K-SeqExprCast-756" result="pass"/><test-case name="K-SeqExprCast-757" result="pass"/><test-case name="K-SeqExprCast-758" result="pass"/><test-case name="K-SeqExprCast-759" result="pass"/><test-case name="K-SeqExprCast-760" result="pass"/><test-case name="K-SeqExprCast-761" result="pass"/><test-case name="K-SeqExprCast-762" result="pass"/><test-case name="K-SeqExprCast-763" result="pass"/><test-case name="K-SeqExprCast-764" result="pass"/><test-case name="K-SeqExprCast-765" result="pass"/><test-case name="K-SeqExprCast-766" result="pass"/><test-case name="K-SeqExprCast-767" result="pass"/><test-case name="K-SeqExprCast-768" result="pass"/><test-case name="K-SeqExprCast-769" result="pass"/><test-case name="K-SeqExprCast-770" result="pass"/><test-case name="K-SeqExprCast-771" result="pass"/><test-case name="K-SeqExprCast-772" result="pass"/><test-case name="K-SeqExprCast-773" result="pass"/><test-case name="K-SeqExprCast-774" result="pass"/><test-case name="K-SeqExprCast-775" result="pass"/><test-case name="K-SeqExprCast-776" result="pass"/><test-case name="K-SeqExprCast-777" result="pass"/><test-case name="K-SeqExprCast-778" result="pass"/><test-case name="K-SeqExprCast-779" result="pass"/><test-case name="K-SeqExprCast-780" result="pass"/><test-case name="K-SeqExprCast-781" result="pass"/><test-case name="K-SeqExprCast-782" result="pass"/><test-case name="K-SeqExprCast-783" result="pass"/><test-case name="K-SeqExprCast-784" result="pass"/><test-case name="K-SeqExprCast-785" result="pass"/><test-case name="K-SeqExprCast-786" result="pass"/><test-case name="K-SeqExprCast-787" result="pass"/><test-case name="K-SeqExprCast-788" result="pass"/><test-case name="K-SeqExprCast-789" result="pass"/><test-case name="K-SeqExprCast-790" result="pass"/><test-case name="K-SeqExprCast-791" result="pass"/><test-case name="K-SeqExprCast-792" result="pass"/><test-case name="K-SeqExprCast-793" result="pass"/><test-case name="K-SeqExprCast-794" result="pass"/><test-case name="K-SeqExprCast-795" result="pass"/><test-case name="K-SeqExprCast-796" result="pass"/><test-case name="K-SeqExprCast-797" result="pass"/><test-case name="K-SeqExprCast-798" result="pass"/><test-case name="K-SeqExprCast-799" result="pass"/><test-case name="K-SeqExprCast-800" result="pass"/><test-case name="K-SeqExprCast-801" result="pass"/><test-case name="K-SeqExprCast-802" result="pass"/><test-case name="K-SeqExprCast-803" result="pass"/><test-case name="K-SeqExprCast-804" result="pass"/><test-case name="K-SeqExprCast-805" result="pass"/><test-case name="K-SeqExprCast-806" result="pass"/><test-case name="K-SeqExprCast-807" result="pass"/><test-case name="K-SeqExprCast-808" result="pass"/><test-case name="K-SeqExprCast-809" result="pass"/><test-case name="K-SeqExprCast-810" result="pass"/><test-case name="K-SeqExprCast-811" result="pass"/><test-case name="K-SeqExprCast-812" result="pass"/><test-case name="K-SeqExprCast-813" result="pass"/><test-case name="K-SeqExprCast-814" result="pass"/><test-case name="K-SeqExprCast-815" result="pass"/><test-case name="K-SeqExprCast-816" result="pass"/><test-case name="K-SeqExprCast-817" result="pass"/><test-case name="K-SeqExprCast-818" result="pass"/><test-case name="K-SeqExprCast-819" result="pass"/><test-case name="K-SeqExprCast-820" result="pass"/><test-case name="K-SeqExprCast-821" result="pass"/><test-case name="K-SeqExprCast-822" result="pass"/><test-case name="K-SeqExprCast-823" result="pass"/><test-case name="K-SeqExprCast-824" result="pass"/><test-case name="K-SeqExprCast-825" result="pass"/><test-case name="K-SeqExprCast-826" result="pass"/><test-case name="K-SeqExprCast-827" result="pass"/><test-case name="K-SeqExprCast-828" result="pass"/><test-case name="K-SeqExprCast-829" result="pass"/><test-case name="K-SeqExprCast-830" result="pass"/><test-case name="K-SeqExprCast-831" result="pass"/><test-case name="K-SeqExprCast-832" result="pass"/><test-case name="K-SeqExprCast-833" result="pass"/><test-case name="K-SeqExprCast-834" result="pass"/><test-case name="K-SeqExprCast-835" result="pass"/><test-case name="K-SeqExprCast-836" result="pass"/><test-case name="K-SeqExprCast-837" result="pass"/><test-case name="K-SeqExprCast-838" result="pass"/><test-case name="K-SeqExprCast-839" result="pass"/><test-case name="K-SeqExprCast-840" result="pass"/><test-case name="K-SeqExprCast-841" result="pass"/><test-case name="K-SeqExprCast-842" result="pass"/><test-case name="K-SeqExprCast-843" result="pass"/><test-case name="K-SeqExprCast-844" result="pass"/><test-case name="K-SeqExprCast-845" result="pass"/><test-case name="K-SeqExprCast-846" result="pass"/><test-case name="K-SeqExprCast-847" result="pass"/><test-case name="K-SeqExprCast-848" result="pass"/><test-case name="K-SeqExprCast-849" result="pass"/><test-case name="K-SeqExprCast-850" result="pass"/><test-case name="K-SeqExprCast-851" result="pass"/><test-case name="K-SeqExprCast-852" result="pass"/><test-case name="K-SeqExprCast-853" result="pass"/><test-case name="K-SeqExprCast-854" result="pass"/><test-case name="K-SeqExprCast-855" result="pass"/><test-case name="K-SeqExprCast-856" result="pass"/><test-case name="K-SeqExprCast-857" result="pass"/><test-case name="K-SeqExprCast-858" result="pass"/><test-case name="K-SeqExprCast-859" result="pass"/><test-case name="K-SeqExprCast-860" result="pass"/><test-case name="K-SeqExprCast-861" result="pass"/><test-case name="K-SeqExprCast-862" result="pass"/><test-case name="K-SeqExprCast-863" result="pass"/><test-case name="K-SeqExprCast-864" result="pass"/><test-case name="K-SeqExprCast-865" result="pass"/><test-case name="K-SeqExprCast-866" result="pass"/><test-case name="K-SeqExprCast-867" result="pass"/><test-case name="K-SeqExprCast-868" result="pass"/><test-case name="K-SeqExprCast-869" result="pass"/><test-case name="K-SeqExprCast-870" result="pass"/><test-case name="K-SeqExprCast-871" result="pass"/><test-case name="K-SeqExprCast-872" result="pass"/><test-case name="K-SeqExprCast-873" result="pass"/><test-case name="K-SeqExprCast-874" result="pass"/><test-case name="K-SeqExprCast-875" result="pass"/><test-case name="K-SeqExprCast-876" result="pass"/><test-case name="K-SeqExprCast-877" result="pass"/><test-case name="K-SeqExprCast-878" result="pass"/><test-case name="K-SeqExprCast-879" result="pass"/><test-case name="K-SeqExprCast-880" result="pass"/><test-case name="K-SeqExprCast-881" result="pass"/><test-case name="K-SeqExprCast-882" result="pass"/><test-case name="K-SeqExprCast-883" result="pass"/><test-case name="K-SeqExprCast-884" result="pass"/><test-case name="K-SeqExprCast-885" result="pass"/><test-case name="K-SeqExprCast-886" result="pass"/><test-case name="K-SeqExprCast-887" result="pass"/><test-case name="K-SeqExprCast-888" result="pass"/><test-case name="K-SeqExprCast-889" result="pass"/><test-case name="K-SeqExprCast-890" result="pass"/><test-case name="K-SeqExprCast-891" result="pass"/><test-case name="K-SeqExprCast-892" result="pass"/><test-case name="K-SeqExprCast-893" result="pass"/><test-case name="K-SeqExprCast-894" result="pass"/><test-case name="K-SeqExprCast-895" result="pass"/><test-case name="K-SeqExprCast-896" result="pass"/><test-case name="K-SeqExprCast-897" result="pass"/><test-case name="K-SeqExprCast-898" result="pass"/><test-case name="K-SeqExprCast-899" result="pass"/><test-case name="K-SeqExprCast-900" result="pass"/><test-case name="K-SeqExprCast-901" result="pass"/><test-case name="K-SeqExprCast-902" result="pass"/><test-case name="K-SeqExprCast-903" result="pass"/><test-case name="K-SeqExprCast-904" result="pass"/><test-case name="K-SeqExprCast-905" result="pass"/><test-case name="K-SeqExprCast-906" result="pass"/><test-case name="K-SeqExprCast-907" result="pass"/><test-case name="K-SeqExprCast-908" result="pass"/><test-case name="K-SeqExprCast-909" result="pass"/><test-case name="K-SeqExprCast-910" result="pass"/><test-case name="K-SeqExprCast-911" result="pass"/><test-case name="K-SeqExprCast-912" result="pass"/><test-case name="K-SeqExprCast-913" result="pass"/><test-case name="K-SeqExprCast-914" result="pass"/><test-case name="K-SeqExprCast-915" result="pass"/><test-case name="K-SeqExprCast-916" result="pass"/><test-case name="K-SeqExprCast-917" result="pass"/><test-case name="K-SeqExprCast-918" result="pass"/><test-case name="K-SeqExprCast-919" result="pass"/><test-case name="K-SeqExprCast-920" result="pass"/><test-case name="K-SeqExprCast-921" result="pass"/><test-case name="K-SeqExprCast-922" result="pass"/><test-case name="K-SeqExprCast-923" result="pass"/><test-case name="K-SeqExprCast-924" result="pass"/><test-case name="K-SeqExprCast-925" result="pass"/><test-case name="K-SeqExprCast-926" result="pass"/><test-case name="K-SeqExprCast-927" result="pass"/><test-case name="K-SeqExprCast-928" result="pass"/><test-case name="K-SeqExprCast-929" result="pass"/><test-case name="K-SeqExprCast-930" result="pass"/><test-case name="K-SeqExprCast-931" result="pass"/><test-case name="K-SeqExprCast-932" result="pass"/><test-case name="K-SeqExprCast-933" result="pass"/><test-case name="K-SeqExprCast-934" result="pass"/><test-case name="K-SeqExprCast-935" result="pass"/><test-case name="K-SeqExprCast-936" result="pass"/><test-case name="K-SeqExprCast-937" result="pass"/><test-case name="K-SeqExprCast-938" result="pass"/><test-case name="K-SeqExprCast-939" result="pass"/><test-case name="K-SeqExprCast-940" result="pass"/><test-case name="K-SeqExprCast-941" result="pass"/><test-case name="K-SeqExprCast-942" result="pass"/><test-case name="K-SeqExprCast-943" result="pass"/><test-case name="K-SeqExprCast-944" result="pass"/><test-case name="K-SeqExprCast-945" result="pass"/><test-case name="K-SeqExprCast-946" result="pass"/><test-case name="K-SeqExprCast-947" result="pass"/><test-case name="K-SeqExprCast-948" result="pass"/><test-case name="K-SeqExprCast-949" result="pass"/><test-case name="K-SeqExprCast-950" result="pass"/><test-case name="K-SeqExprCast-951" result="pass"/><test-case name="K-SeqExprCast-952" result="pass"/><test-case name="K-SeqExprCast-953" result="pass"/><test-case name="K-SeqExprCast-954" result="pass"/><test-case name="K-SeqExprCast-955" result="pass"/><test-case name="K-SeqExprCast-956" result="pass"/><test-case name="K-SeqExprCast-957" result="pass"/><test-case name="K-SeqExprCast-958" result="pass"/><test-case name="K-SeqExprCast-959" result="pass"/><test-case name="K-SeqExprCast-960" result="pass"/><test-case name="K-SeqExprCast-961" result="pass"/><test-case name="K-SeqExprCast-962" result="pass"/><test-case name="K-SeqExprCast-963" result="pass"/><test-case name="K-SeqExprCast-964" result="pass"/><test-case name="K-SeqExprCast-965" result="pass"/><test-case name="K-SeqExprCast-966" result="pass"/><test-case name="K-SeqExprCast-967" result="pass"/><test-case name="K-SeqExprCast-968" result="pass"/><test-case name="K-SeqExprCast-969" result="pass"/><test-case name="K-SeqExprCast-970" result="pass"/><test-case name="K-SeqExprCast-971" result="pass"/><test-case name="K-SeqExprCast-972" result="pass"/><test-case name="K-SeqExprCast-973" result="pass"/><test-case name="K-SeqExprCast-974" result="pass"/><test-case name="K-SeqExprCast-975" result="pass"/><test-case name="K-SeqExprCast-976" result="pass"/><test-case name="K-SeqExprCast-977" result="pass"/><test-case name="K-SeqExprCast-978" result="pass"/><test-case name="K-SeqExprCast-979" result="pass"/><test-case name="K-SeqExprCast-980" result="pass"/><test-case name="K-SeqExprCast-981" result="pass"/><test-case name="K-SeqExprCast-982" result="pass"/><test-case name="K-SeqExprCast-983" result="pass"/><test-case name="K-SeqExprCast-984" result="pass"/><test-case name="K-SeqExprCast-985" result="pass"/><test-case name="K-SeqExprCast-986" result="pass"/><test-case name="K-SeqExprCast-987" result="pass"/><test-case name="K-SeqExprCast-988" result="pass"/><test-case name="K-SeqExprCast-989" result="pass"/><test-case name="K-SeqExprCast-990" result="pass"/><test-case name="K-SeqExprCast-991" result="pass"/><test-case name="K-SeqExprCast-992" result="pass"/><test-case name="K-SeqExprCast-993" result="pass"/><test-case name="K-SeqExprCast-994" result="pass"/><test-case name="K-SeqExprCast-995" result="pass"/><test-case name="K-SeqExprCast-996" result="pass"/><test-case name="K-SeqExprCast-997" result="pass"/><test-case name="K-SeqExprCast-998" result="pass"/><test-case name="K-SeqExprCast-999" result="pass"/><test-case name="K-SeqExprCast-1000" result="pass"/><test-case name="K-SeqExprCast-1001" result="pass"/><test-case name="K-SeqExprCast-1002" result="pass"/><test-case name="K-SeqExprCast-1003" result="pass"/><test-case name="K-SeqExprCast-1004" result="pass"/><test-case name="K-SeqExprCast-1005" result="pass"/><test-case name="K-SeqExprCast-1006" result="pass"/><test-case name="K-SeqExprCast-1007" result="pass"/><test-case name="K-SeqExprCast-1008" result="pass"/><test-case name="K-SeqExprCast-1009" result="pass"/><test-case name="K-SeqExprCast-1010" result="pass"/><test-case name="K-SeqExprCast-1011" result="pass"/><test-case name="K-SeqExprCast-1012" result="pass"/><test-case name="K-SeqExprCast-1013" result="pass"/><test-case name="K-SeqExprCast-1014" result="pass"/><test-case name="K-SeqExprCast-1015" result="pass"/><test-case name="K-SeqExprCast-1016" result="pass"/><test-case name="K-SeqExprCast-1017" result="pass"/><test-case name="K-SeqExprCast-1018" result="pass"/><test-case name="K-SeqExprCast-1019" result="pass"/><test-case name="K-SeqExprCast-1020" result="pass"/><test-case name="K-SeqExprCast-1021" result="pass"/><test-case name="K-SeqExprCast-1022" result="pass"/><test-case name="K-SeqExprCast-1023" result="pass"/><test-case name="K-SeqExprCast-1024" result="pass"/><test-case name="K-SeqExprCast-1025" result="pass"/><test-case name="K-SeqExprCast-1026" result="pass"/><test-case name="K-SeqExprCast-1027" result="pass"/><test-case name="K-SeqExprCast-1028" result="pass"/><test-case name="K-SeqExprCast-1029" result="pass"/><test-case name="K-SeqExprCast-1030" result="pass"/><test-case name="K-SeqExprCast-1031" result="pass"/><test-case name="K-SeqExprCast-1032" result="pass"/><test-case name="K-SeqExprCast-1033" result="pass"/><test-case name="K-SeqExprCast-1034" result="pass"/><test-case name="K-SeqExprCast-1035" result="pass"/><test-case name="K-SeqExprCast-1036" result="pass"/><test-case name="K-SeqExprCast-1037" result="pass"/><test-case name="K-SeqExprCast-1038" result="pass"/><test-case name="K-SeqExprCast-1039" result="pass"/><test-case name="K-SeqExprCast-1040" result="pass"/><test-case name="K-SeqExprCast-1041" result="pass"/><test-case name="K-SeqExprCast-1042" result="pass"/><test-case name="K-SeqExprCast-1043" result="pass"/><test-case name="K-SeqExprCast-1044" result="pass"/><test-case name="K-SeqExprCast-1045" result="pass"/><test-case name="K-SeqExprCast-1046" result="pass"/><test-case name="K-SeqExprCast-1047" result="pass"/><test-case name="K-SeqExprCast-1048" result="pass"/><test-case name="K-SeqExprCast-1049" result="pass"/><test-case name="K-SeqExprCast-1050" result="pass"/><test-case name="K-SeqExprCast-1051" result="pass"/><test-case name="K-SeqExprCast-1052" result="pass"/><test-case name="K-SeqExprCast-1053" result="pass"/><test-case name="K-SeqExprCast-1054" result="pass"/><test-case name="K-SeqExprCast-1055" result="pass"/><test-case name="K-SeqExprCast-1056" result="pass"/><test-case name="K-SeqExprCast-1057" result="pass"/><test-case name="K-SeqExprCast-1058" result="pass"/><test-case name="K-SeqExprCast-1059" result="pass"/><test-case name="K-SeqExprCast-1060" result="pass"/><test-case name="K-SeqExprCast-1061" result="pass"/><test-case name="K-SeqExprCast-1062" result="pass"/><test-case name="K-SeqExprCast-1063" result="pass"/><test-case name="K-SeqExprCast-1064" result="pass"/><test-case name="K-SeqExprCast-1065" result="pass"/><test-case name="K-SeqExprCast-1066" result="pass"/><test-case name="K-SeqExprCast-1067" result="pass"/><test-case name="K-SeqExprCast-1068" result="pass"/><test-case name="K-SeqExprCast-1069" result="pass"/><test-case name="K-SeqExprCast-1070" result="pass"/><test-case name="K-SeqExprCast-1071" result="pass"/><test-case name="K-SeqExprCast-1072" result="pass"/><test-case name="K-SeqExprCast-1073" result="pass"/><test-case name="K-SeqExprCast-1074" result="pass"/><test-case name="K-SeqExprCast-1075" result="pass"/><test-case name="K-SeqExprCast-1076" result="pass"/><test-case name="K-SeqExprCast-1077" result="pass"/><test-case name="K-SeqExprCast-1078" result="pass"/><test-case name="K-SeqExprCast-1079" result="pass"/><test-case name="K-SeqExprCast-1080" result="pass"/><test-case name="K-SeqExprCast-1081" result="pass"/><test-case name="K-SeqExprCast-1082" result="pass"/><test-case name="K-SeqExprCast-1083" result="pass"/><test-case name="K-SeqExprCast-1084" result="pass"/><test-case name="K-SeqExprCast-1085" result="pass"/><test-case name="K-SeqExprCast-1086" result="pass"/><test-case name="K-SeqExprCast-1087" result="pass"/><test-case name="K-SeqExprCast-1088" result="pass"/><test-case name="K-SeqExprCast-1089" result="pass"/><test-case name="K-SeqExprCast-1090" result="pass"/><test-case name="K-SeqExprCast-1091" result="pass"/><test-case name="K-SeqExprCast-1092" result="pass"/><test-case name="K-SeqExprCast-1093" result="pass"/><test-case name="K-SeqExprCast-1094" result="pass"/><test-case name="K-SeqExprCast-1095" result="pass"/><test-case name="K-SeqExprCast-1096" result="pass"/><test-case name="K-SeqExprCast-1097" result="pass"/><test-case name="K-SeqExprCast-1098" result="pass"/><test-case name="K-SeqExprCast-1099" result="pass"/><test-case name="K-SeqExprCast-1100" result="pass"/><test-case name="K-SeqExprCast-1101" result="pass"/><test-case name="K-SeqExprCast-1102" result="pass"/><test-case name="K-SeqExprCast-1103" result="pass"/><test-case name="K-SeqExprCast-1104" result="pass"/><test-case name="K-SeqExprCast-1105" result="pass"/><test-case name="K-SeqExprCast-1106" result="pass"/><test-case name="K-SeqExprCast-1107" result="pass"/><test-case name="K-SeqExprCast-1108" result="pass"/><test-case name="K-SeqExprCast-1109" result="pass"/><test-case name="K-SeqExprCast-1110" result="pass"/><test-case name="K-SeqExprCast-1111" result="pass"/><test-case name="K-SeqExprCast-1112" result="pass"/><test-case name="K-SeqExprCast-1113" result="pass"/><test-case name="K-SeqExprCast-1114" result="pass"/><test-case name="K-SeqExprCast-1115" result="pass"/><test-case name="K-SeqExprCast-1116" result="pass"/><test-case name="K-SeqExprCast-1117" result="pass"/><test-case name="K-SeqExprCast-1118" result="pass"/><test-case name="K-SeqExprCast-1119" result="pass"/><test-case name="K-SeqExprCast-1120" result="pass"/><test-case name="K-SeqExprCast-1121" result="pass"/><test-case name="K-SeqExprCast-1122" result="pass"/><test-case name="K-SeqExprCast-1123" result="pass"/><test-case name="K-SeqExprCast-1124" result="pass"/><test-case name="K-SeqExprCast-1125" result="pass"/><test-case name="K-SeqExprCast-1126" result="pass"/><test-case name="K-SeqExprCast-1127" result="pass"/><test-case name="K-SeqExprCast-1128" result="pass"/><test-case name="K-SeqExprCast-1129" result="pass"/><test-case name="K-SeqExprCast-1130" result="pass"/><test-case name="K-SeqExprCast-1131" result="pass"/><test-case name="K-SeqExprCast-1132" result="pass"/><test-case name="K-SeqExprCast-1133" result="pass"/><test-case name="K-SeqExprCast-1134" result="pass"/><test-case name="K-SeqExprCast-1135" result="pass"/><test-case name="K-SeqExprCast-1136" result="pass"/><test-case name="K-SeqExprCast-1137" result="pass"/><test-case name="K-SeqExprCast-1138" result="pass"/><test-case name="K-SeqExprCast-1139" result="pass"/><test-case name="K-SeqExprCast-1140" result="pass"/><test-case name="K-SeqExprCast-1141" result="pass"/><test-case name="K-SeqExprCast-1142" result="pass"/><test-case name="K-SeqExprCast-1143" result="pass"/><test-case name="K-SeqExprCast-1144" result="pass"/><test-case name="K-SeqExprCast-1145" result="pass"/><test-case name="K-SeqExprCast-1146" result="pass"/><test-case name="K-SeqExprCast-1147" result="pass"/><test-case name="K-SeqExprCast-1148" result="pass"/><test-case name="K-SeqExprCast-1149" result="pass"/><test-case name="K-SeqExprCast-1150" result="pass"/><test-case name="K-SeqExprCast-1151" result="pass"/><test-case name="K-SeqExprCast-1152" result="pass"/><test-case name="K-SeqExprCast-1153" result="pass"/><test-case name="K-SeqExprCast-1154" result="pass"/><test-case name="K-SeqExprCast-1155" result="pass"/><test-case name="K-SeqExprCast-1156" result="pass"/><test-case name="K-SeqExprCast-1157" result="pass"/><test-case name="K-SeqExprCast-1158" result="pass"/><test-case name="K-SeqExprCast-1159" result="pass"/><test-case name="K-SeqExprCast-1160" result="pass"/><test-case name="K-SeqExprCast-1161" result="pass"/><test-case name="K-SeqExprCast-1162" result="pass"/><test-case name="K-SeqExprCast-1163" result="pass"/><test-case name="K-SeqExprCast-1164" result="pass"/><test-case name="K-SeqExprCast-1165" result="pass"/><test-case name="K-SeqExprCast-1166" result="pass"/><test-case name="K-SeqExprCast-1167" result="pass"/><test-case name="K-SeqExprCast-1168" result="pass"/><test-case name="K-SeqExprCast-1169" result="pass"/><test-case name="K-SeqExprCast-1170" result="pass"/><test-case name="K-SeqExprCast-1171" result="pass"/><test-case name="K-SeqExprCast-1172" result="pass"/><test-case name="K-SeqExprCast-1173" result="pass"/><test-case name="K-SeqExprCast-1174" result="pass"/><test-case name="K-SeqExprCast-1175" result="pass"/><test-case name="K-SeqExprCast-1176" result="pass"/><test-case name="K-SeqExprCast-1177" result="pass"/><test-case name="K-SeqExprCast-1178" result="pass"/><test-case name="K-SeqExprCast-1179" result="pass"/><test-case name="K-SeqExprCast-1180" result="pass"/><test-case name="K-SeqExprCast-1181" result="pass"/><test-case name="K-SeqExprCast-1182" result="pass"/><test-case name="K-SeqExprCast-1183" result="pass"/><test-case name="K-SeqExprCast-1184" result="pass"/><test-case name="K-SeqExprCast-1185" result="pass"/><test-case name="K-SeqExprCast-1186" result="pass"/><test-case name="K-SeqExprCast-1187" result="pass"/><test-case name="K-SeqExprCast-1188" result="pass"/><test-case name="K-SeqExprCast-1189" result="pass"/><test-case name="K-SeqExprCast-1190" result="pass"/><test-case name="K-SeqExprCast-1191" result="pass"/><test-case name="K-SeqExprCast-1192" result="pass"/><test-case name="K-SeqExprCast-1193" result="pass"/><test-case name="K-SeqExprCast-1194" result="pass"/><test-case name="K-SeqExprCast-1195" result="pass"/><test-case name="K-SeqExprCast-1196" result="pass"/><test-case name="K-SeqExprCast-1197" result="pass"/><test-case name="K-SeqExprCast-1198" result="pass"/><test-case name="K-SeqExprCast-1199" result="pass"/><test-case name="K-SeqExprCast-1200" result="pass"/><test-case name="K-SeqExprCast-1201" result="pass"/><test-case name="K-SeqExprCast-1202" result="pass"/><test-case name="K-SeqExprCast-1203" result="pass"/><test-case name="K-SeqExprCast-1204" result="pass"/><test-case name="K-SeqExprCast-1205" result="pass"/><test-case name="K-SeqExprCast-1206" result="pass"/><test-case name="K-SeqExprCast-1207" result="pass"/><test-case name="K-SeqExprCast-1208" result="pass"/><test-case name="K-SeqExprCast-1209" result="pass"/><test-case name="K-SeqExprCast-1210" result="pass"/><test-case name="K-SeqExprCast-1211" result="pass"/><test-case name="K-SeqExprCast-1212" result="pass"/><test-case name="K-SeqExprCast-1213" result="pass"/><test-case name="K-SeqExprCast-1214" result="pass"/><test-case name="K-SeqExprCast-1215" result="pass"/><test-case name="K-SeqExprCast-1216" result="pass"/><test-case name="K-SeqExprCast-1217" result="pass"/><test-case name="K-SeqExprCast-1218" result="pass"/><test-case name="K-SeqExprCast-1219" result="pass"/><test-case name="K-SeqExprCast-1220" result="pass"/><test-case name="K-SeqExprCast-1221" result="pass"/><test-case name="K-SeqExprCast-1222" result="pass"/><test-case name="K-SeqExprCast-1223" result="pass"/><test-case name="K-SeqExprCast-1224" result="pass"/><test-case name="K-SeqExprCast-1225" result="pass"/><test-case name="K-SeqExprCast-1226" result="pass"/><test-case name="K-SeqExprCast-1227" result="pass"/><test-case name="K-SeqExprCast-1228" result="pass"/><test-case name="K-SeqExprCast-1229" result="pass"/><test-case name="K-SeqExprCast-1230" result="pass"/><test-case name="K-SeqExprCast-1231" result="pass"/><test-case name="K-SeqExprCast-1232" result="pass"/><test-case name="K-SeqExprCast-1233" result="pass"/><test-case name="K-SeqExprCast-1234" result="pass"/><test-case name="K-SeqExprCast-1235" result="pass"/><test-case name="K-SeqExprCast-1236" result="pass"/><test-case name="K-SeqExprCast-1237" result="pass"/><test-case name="K-SeqExprCast-1238" result="pass"/><test-case name="K-SeqExprCast-1239" result="pass"/><test-case name="K-SeqExprCast-1240" result="pass"/><test-case name="K-SeqExprCast-1241" result="pass"/><test-case name="K-SeqExprCast-1242" result="pass"/><test-case name="K-SeqExprCast-1243" result="pass"/><test-case name="K-SeqExprCast-1244" result="pass"/><test-case name="K-SeqExprCast-1245" result="pass"/><test-case name="K-SeqExprCast-1246" result="pass"/><test-case name="K-SeqExprCast-1247" result="pass"/><test-case name="K-SeqExprCast-1248" result="pass"/><test-case name="K-SeqExprCast-1249" result="pass"/><test-case name="K-SeqExprCast-1250" result="pass"/><test-case name="K-SeqExprCast-1251" result="pass"/><test-case name="K-SeqExprCast-1252" result="pass"/><test-case name="K-SeqExprCast-1253" result="pass"/><test-case name="K-SeqExprCast-1254" result="pass"/><test-case name="K-SeqExprCast-1255" result="pass"/><test-case name="K-SeqExprCast-1256" result="pass"/><test-case name="K-SeqExprCast-1257" result="pass"/><test-case name="K-SeqExprCast-1258" result="pass"/><test-case name="K-SeqExprCast-1259" result="pass"/><test-case name="K-SeqExprCast-1260" result="pass"/><test-case name="K-SeqExprCast-1261" result="pass"/><test-case name="K-SeqExprCast-1262" result="pass"/><test-case name="K-SeqExprCast-1263" result="pass"/><test-case name="K-SeqExprCast-1264" result="pass"/><test-case name="K-SeqExprCast-1265" result="pass"/><test-case name="K-SeqExprCast-1266" result="pass"/><test-case name="K-SeqExprCast-1267" result="pass"/><test-case name="K-SeqExprCast-1268" result="pass"/><test-case name="K-SeqExprCast-1269" result="pass"/><test-case name="K-SeqExprCast-1270" result="pass"/><test-case name="K-SeqExprCast-1271" result="pass"/><test-case name="K-SeqExprCast-1272" result="pass"/><test-case name="K-SeqExprCast-1273" result="pass"/><test-case name="K-SeqExprCast-1274" result="pass"/><test-case name="K-SeqExprCast-1275" result="pass"/><test-case name="K-SeqExprCast-1276" result="pass"/><test-case name="K-SeqExprCast-1277" result="pass"/><test-case name="K-SeqExprCast-1278" result="pass"/><test-case name="K-SeqExprCast-1279" result="pass"/><test-case name="K-SeqExprCast-1280" result="pass"/><test-case name="K-SeqExprCast-1281" result="pass"/><test-case name="K-SeqExprCast-1282" result="pass"/><test-case name="K-SeqExprCast-1283" result="pass"/><test-case name="K-SeqExprCast-1284" result="pass"/><test-case name="K-SeqExprCast-1285" result="pass"/><test-case name="K-SeqExprCast-1286" result="pass"/><test-case name="K-SeqExprCast-1287" result="pass"/><test-case name="K-SeqExprCast-1288" result="pass"/><test-case name="K-SeqExprCast-1289" result="pass"/><test-case name="K-SeqExprCast-1290" result="pass"/><test-case name="K-SeqExprCast-1291" result="pass"/><test-case name="K-SeqExprCast-1292" result="pass"/><test-case name="K-SeqExprCast-1293" result="pass"/><test-case name="K-SeqExprCast-1294" result="pass"/><test-case name="K-SeqExprCast-1295" result="pass"/><test-case name="K-SeqExprCast-1296" result="pass"/><test-case name="K-SeqExprCast-1297" result="pass"/><test-case name="K-SeqExprCast-1298" result="pass"/><test-case name="K-SeqExprCast-1299" result="pass"/><test-case name="K-SeqExprCast-1300" result="pass"/><test-case name="K-SeqExprCast-1301" result="pass"/><test-case name="K-SeqExprCast-1302" result="pass"/><test-case name="K-SeqExprCast-1303" result="pass"/><test-case name="K-SeqExprCast-1304" result="pass"/><test-case name="K-SeqExprCast-1305" result="pass"/><test-case name="K-SeqExprCast-1306" result="pass"/><test-case name="K-SeqExprCast-1307" result="pass"/><test-case name="K-SeqExprCast-1308" result="pass"/><test-case name="K-SeqExprCast-1309" result="pass"/><test-case name="K-SeqExprCast-1310" result="pass"/><test-case name="K-SeqExprCast-1311" result="pass"/><test-case name="K-SeqExprCast-1312" result="pass"/><test-case name="K-SeqExprCast-1313" result="pass"/><test-case name="K-SeqExprCast-1314" result="pass"/><test-case name="K-SeqExprCast-1315" result="pass"/><test-case name="K-SeqExprCast-1316" result="pass"/><test-case name="K-SeqExprCast-1317" result="pass"/><test-case name="K-SeqExprCast-1318" result="pass"/><test-case name="K-SeqExprCast-1319" result="pass"/><test-case name="K-SeqExprCast-1320" result="pass"/><test-case name="K-SeqExprCast-1321" result="pass"/><test-case name="K-SeqExprCast-1322" result="pass"/><test-case name="K-SeqExprCast-1323" result="pass"/><test-case name="K-SeqExprCast-1324" result="pass"/><test-case name="K-SeqExprCast-1325" result="pass"/><test-case name="K-SeqExprCast-1326" result="pass"/><test-case name="K-SeqExprCast-1327" result="pass"/><test-case name="K-SeqExprCast-1328" result="pass"/><test-case name="K-SeqExprCast-1329" result="pass"/><test-case name="K-SeqExprCast-1330" result="pass"/><test-case name="K-SeqExprCast-1331" result="pass"/><test-case name="K-SeqExprCast-1332" result="pass"/><test-case name="K-SeqExprCast-1333" result="pass"/><test-case name="K-SeqExprCast-1334" result="pass"/><test-case name="K-SeqExprCast-1335" result="pass"/><test-case name="K-SeqExprCast-1336" result="pass"/><test-case name="K-SeqExprCast-1337" result="pass"/><test-case name="K-SeqExprCast-1338" result="pass"/><test-case name="K-SeqExprCast-1339" result="pass"/><test-case name="K-SeqExprCast-1340" result="pass"/><test-case name="K-SeqExprCast-1341" result="pass"/><test-case name="K-SeqExprCast-1342" result="pass"/><test-case name="K-SeqExprCast-1343" result="pass"/><test-case name="K-SeqExprCast-1344" result="pass"/><test-case name="K-SeqExprCast-1345" result="pass"/><test-case name="K-SeqExprCast-1346" result="pass"/><test-case name="K-SeqExprCast-1347" result="pass"/><test-case name="K-SeqExprCast-1348" result="pass"/><test-case name="K-SeqExprCast-1349" result="pass"/><test-case name="K-SeqExprCast-1350" result="pass"/><test-case name="K-SeqExprCast-1351" result="pass"/><test-case name="K-SeqExprCast-1352" result="pass"/><test-case name="K-SeqExprCast-1353" result="pass"/><test-case name="K-SeqExprCast-1354" result="pass"/><test-case name="K-SeqExprCast-1355" result="pass"/><test-case name="K-SeqExprCast-1356" result="pass"/><test-case name="K-SeqExprCast-1357" result="pass"/><test-case name="K-SeqExprCast-1358" result="pass"/><test-case name="K-SeqExprCast-1359" result="pass"/><test-case name="K-SeqExprCast-1360" result="pass"/><test-case name="K-SeqExprCast-1361" result="pass"/><test-case name="K-SeqExprCast-1362" result="pass"/><test-case name="K-SeqExprCast-1363" result="pass"/><test-case name="K-SeqExprCast-1364" result="pass"/><test-case name="K-SeqExprCast-1365" result="pass"/><test-case name="K-SeqExprCast-1366" result="pass"/><test-case name="K-SeqExprCast-1367" result="pass"/><test-case name="K-SeqExprCast-1368" result="pass"/><test-case name="K-SeqExprCast-1369" result="pass"/><test-case name="K-SeqExprCast-1370" result="pass"/><test-case name="K-SeqExprCast-1371" result="pass"/><test-case name="K-SeqExprCast-1372" result="pass"/><test-case name="K-SeqExprCast-1373" result="pass"/><test-case name="K-SeqExprCast-1374" result="pass"/><test-case name="K-SeqExprCast-1375" result="pass"/><test-case name="K-SeqExprCast-1376" result="pass"/><test-case name="K-SeqExprCast-1377" result="pass"/><test-case name="K-SeqExprCast-1378" result="pass"/><test-case name="K-SeqExprCast-1379" result="pass"/><test-case name="K-SeqExprCast-1380" result="pass"/><test-case name="K-SeqExprCast-1381" result="pass"/><test-case name="K-SeqExprCast-1382" result="pass"/><test-case name="K-SeqExprCast-1383" result="pass"/><test-case name="K-SeqExprCast-1384" result="pass"/><test-case name="K-SeqExprCast-1385" result="pass"/><test-case name="K-SeqExprCast-1386" result="pass"/><test-case name="K-SeqExprCast-1387" result="pass"/><test-case name="K-SeqExprCast-1388" result="pass"/><test-case name="K-SeqExprCast-1389" result="pass"/><test-case name="K-SeqExprCast-1390" result="pass"/><test-case name="K-SeqExprCast-1391" result="pass"/><test-case name="K-SeqExprCast-1392" result="pass"/><test-case name="K-SeqExprCast-1393" result="pass"/><test-case name="K-SeqExprCast-1394" result="pass"/><test-case name="K-SeqExprCast-1395" result="pass"/><test-case name="K-SeqExprCast-1396" result="pass"/><test-case name="K-SeqExprCast-1397" result="pass"/><test-case name="K-SeqExprCast-1398" result="pass"/><test-case name="K-SeqExprCast-1399" result="pass"/><test-case name="K-SeqExprCast-1400" result="pass"/><test-case name="K-SeqExprCast-1401" result="pass"/><test-case name="K-SeqExprCast-1402" result="pass"/><test-case name="K-SeqExprCast-1403" result="pass"/><test-case name="K-SeqExprCast-1404" result="pass"/><test-case name="K-SeqExprCast-1405" result="pass"/><test-case name="K-SeqExprCast-1406" result="pass"/><test-case name="K-SeqExprCast-1407" result="pass"/><test-case name="K-SeqExprCast-1408" result="pass"/><test-case name="K-SeqExprCast-1409" result="pass"/><test-case name="K-SeqExprCast-1410" result="pass"/><test-case name="K-SeqExprCast-1411" result="pass"/><test-case name="K-SeqExprCast-1412" result="pass"/><test-case name="K-SeqExprCast-1413" result="pass"/><test-case name="K-SeqExprCast-1414" result="pass"/><test-case name="K-SeqExprCast-1415" result="pass"/><test-case name="K-SeqExprCast-1416" result="pass"/><test-case name="K-SeqExprCast-1417" result="pass"/><test-case name="K-SeqExprCast-1418" result="pass"/><test-case name="K-SeqExprCast-1419" result="pass"/><test-case name="K-SeqExprCast-1420" result="pass"/><test-case name="K-SeqExprCast-1421" result="pass"/><test-case name="K-SeqExprCast-1422" result="pass"/><test-case name="K-SeqExprCast-1423" result="pass"/><test-case name="K-SeqExprCast-1424" result="pass"/><test-case name="K-SeqExprCast-1425" result="pass"/><test-case name="K-SeqExprCast-1426" result="pass"/><test-case name="K-SeqExprCast-1427" result="pass"/><test-case name="K-SeqExprCast-1428" result="pass"/><test-case name="K-SeqExprCast-1429" result="pass"/><test-case name="K-SeqExprCast-1430" result="pass"/><test-case name="K-SeqExprCast-1431" result="pass"/><test-case name="K-SeqExprCast-1432" result="pass"/><test-case name="K-SeqExprCast-1433" result="pass"/><test-case name="K-SeqExprCast-1434" result="pass"/><test-case name="K-SeqExprCast-1435" result="pass"/><test-case name="K-SeqExprCast-1436" result="pass"/><test-case name="K-SeqExprCast-1437" result="pass"/><test-case name="K-SeqExprCast-1438" result="pass"/><test-case name="K-SeqExprCast-1439" result="pass"/><test-case name="K-SeqExprCast-1440" result="pass"/><test-case name="K-SeqExprCast-1441" result="pass"/><test-case name="K-SeqExprCast-1442" result="pass"/><test-case name="K-SeqExprCast-1443" result="pass"/><test-case name="K-SeqExprCast-1444" result="pass"/><test-case name="K-SeqExprCast-1445" result="pass"/><test-case name="K-SeqExprCast-1446" result="pass"/><test-case name="K-SeqExprCast-1447" result="pass"/><test-case name="K-SeqExprCast-1448" result="pass"/><test-case name="K-SeqExprCast-1449" result="pass"/><test-case name="K-SeqExprCast-1450" result="pass"/><test-case name="K-SeqExprCast-1451" result="pass"/><test-case name="K-SeqExprCast-1452" result="pass"/><test-case name="K-SeqExprCast-1453" result="pass"/><test-case name="K-SeqExprCast-1454" result="pass"/><test-case name="K-SeqExprCast-1455" result="pass"/><test-case name="K-SeqExprCast-1456" result="pass"/><test-case name="K-SeqExprCast-1457" result="pass"/><test-case name="K-SeqExprCast-1458" result="pass"/><test-case name="K-SeqExprCast-1459" result="pass"/><test-case name="K-SeqExprCast-1460" result="pass"/><test-case name="K-SeqExprCast-1461" result="pass"/><test-case name="K-SeqExprCast-1462" result="pass"/><test-case name="K-SeqExprCast-1463" result="pass"/><test-case name="K-SeqExprCast-1464" result="pass"/><test-case name="K-SeqExprCast-1465" result="pass"/><test-case name="K-SeqExprCast-1466" result="pass"/><test-case name="K-SeqExprCast-1467" result="pass"/><test-case name="K-SeqExprCast-1468" result="pass"/><test-case name="K-SeqExprCast-1469" result="pass"/><test-case name="K-SeqExprCast-1470" result="pass"/><test-case name="K-SeqExprCast-1471" result="pass"/><test-case name="K-SeqExprCast-1472" result="pass"/><test-case name="K-SeqExprCast-1473" result="pass"/><test-case name="K-SeqExprCast-1474" result="pass"/><test-case name="K-SeqExprCast-1475" result="pass"/><test-case name="K-SeqExprCast-1476" result="pass"/><test-case name="K-SeqExprCast-1477" result="pass"/><test-case name="K-SeqExprCast-1478" result="pass"/><test-case name="K-SeqExprCast-1479" result="pass"/><test-case name="K-SeqExprCast-1480" result="pass"/><test-case name="K-SeqExprCast-1481" result="pass"/><test-case name="K-SeqExprCast-1482" result="pass"/><test-case name="K-SeqExprCast-1483" result="pass"/><test-case name="K-SeqExprCast-1484" result="pass"/><test-case name="K-SeqExprCast-1485" result="pass"/><test-case name="K-SeqExprCast-1486" result="pass"/><test-case name="K-SeqExprCast-1487" result="pass"/><test-case name="K-SeqExprCast-1488" result="pass"/><test-case name="K-SeqExprCast-1489" result="pass"/><test-case name="K-SeqExprCast-1490" result="pass"/><test-case name="K-SeqExprCast-1491" result="pass"/><test-case name="K2-SeqExprCast-1" result="pass"/><test-case name="K2-SeqExprCast-2" result="pass"/><test-case name="K2-SeqExprCast-3" result="pass"/><test-case name="K2-SeqExprCast-4" result="pass"/><test-case name="K2-SeqExprCast-5" result="pass"/><test-case name="K2-SeqExprCast-6" result="pass"/><test-case name="K2-SeqExprCast-7" result="pass"/><test-case name="K2-SeqExprCast-8" result="pass"/><test-case name="K2-SeqExprCast-9" result="pass"/><test-case name="K2-SeqExprCast-10" result="pass"/><test-case name="K2-SeqExprCast-11" result="pass"/><test-case name="K2-SeqExprCast-12" result="pass"/><test-case name="K2-SeqExprCast-13" result="pass"/><test-case name="K2-SeqExprCast-14" result="pass"/><test-case name="K2-SeqExprCast-15" result="pass"/><test-case name="K2-SeqExprCast-16" result="pass"/><test-case name="K2-SeqExprCast-17" result="pass"/><test-case name="K2-SeqExprCast-18" result="pass"/><test-case name="K2-SeqExprCast-19" result="pass"/><test-case name="K2-SeqExprCast-20" result="pass"/><test-case name="K2-SeqExprCast-21" result="pass"/><test-case name="K2-SeqExprCast-22" result="pass"/><test-case name="K2-SeqExprCast-23" result="pass"/><test-case name="K2-SeqExprCast-24" result="pass"/><test-case name="K2-SeqExprCast-25" result="pass"/><test-case name="K2-SeqExprCast-26" result="pass"/><test-case name="K2-SeqExprCast-27" result="pass"/><test-case name="K2-SeqExprCast-28" result="pass"/><test-case name="K2-SeqExprCast-29" result="pass"/><test-case name="K2-SeqExprCast-30" result="pass"/><test-case name="K2-SeqExprCast-31" result="pass"/><test-case name="K2-SeqExprCast-32" result="pass"/><test-case name="K2-SeqExprCast-33" result="pass"/><test-case name="K2-SeqExprCast-34" result="pass"/><test-case name="K2-SeqExprCast-35" result="pass"/><test-case name="K2-SeqExprCast-36" result="pass"/><test-case name="K2-SeqExprCast-37" result="pass"/><test-case name="K2-SeqExprCast-38" result="pass"/><test-case name="K2-SeqExprCast-39" result="pass"/><test-case name="K2-SeqExprCast-40" result="pass"/><test-case name="K2-SeqExprCast-41" result="pass"/><test-case name="K2-SeqExprCast-42" result="pass"/><test-case name="K2-SeqExprCast-43" result="pass"/><test-case name="K2-SeqExprCast-44" result="pass"/><test-case name="K2-SeqExprCast-45" result="pass"/><test-case name="K2-SeqExprCast-46" result="pass"/><test-case name="K2-SeqExprCast-47" result="pass"/><test-case name="K2-SeqExprCast-48" result="pass"/><test-case name="K2-SeqExprCast-49" result="pass"/><test-case name="K2-SeqExprCast-50" result="pass"/><test-case name="K2-SeqExprCast-51" result="pass"/><test-case name="K2-SeqExprCast-52" result="pass"/><test-case name="K2-SeqExprCast-53" result="pass"/><test-case name="K2-SeqExprCast-54" result="pass"/><test-case name="K2-SeqExprCast-55" result="pass"/><test-case name="K2-SeqExprCast-56" result="pass"/><test-case name="K2-SeqExprCast-57" result="pass"/><test-case name="K2-SeqExprCast-58" result="pass"/><test-case name="K2-SeqExprCast-59" result="pass"/><test-case name="K2-SeqExprCast-60" result="pass"/><test-case name="K2-SeqExprCast-61" result="pass"/><test-case name="K2-SeqExprCast-62" result="pass"/><test-case name="K2-SeqExprCast-63" result="pass"/><test-case name="K2-SeqExprCast-64" result="pass"/><test-case name="K2-SeqExprCast-65" result="pass"/><test-case name="K2-SeqExprCast-66" result="pass"/><test-case name="K2-SeqExprCast-67" result="pass"/><test-case name="K2-SeqExprCast-68" result="pass"/><test-case name="K2-SeqExprCast-69" result="pass"/><test-case name="K2-SeqExprCast-70" result="pass"/><test-case name="K2-SeqExprCast-71" result="pass"/><test-case name="K2-SeqExprCast-72" result="pass"/><test-case name="K2-SeqExprCast-73" result="pass"/><test-case name="K2-SeqExprCast-74" result="pass"/><test-case name="K2-SeqExprCast-75" result="pass"/><test-case name="K2-SeqExprCast-76" result="pass"/><test-case name="K2-SeqExprCast-77" result="pass"/><test-case name="K2-SeqExprCast-78" result="pass"/><test-case name="K2-SeqExprCast-79" result="pass"/><test-case name="K2-SeqExprCast-80" result="pass"/><test-case name="K2-SeqExprCast-81" result="pass"/><test-case name="K2-SeqExprCast-82" result="pass"/><test-case name="K2-SeqExprCast-83" result="pass"/><test-case name="K2-SeqExprCast-84" result="pass"/><test-case name="K2-SeqExprCast-85" result="pass"/><test-case name="K2-SeqExprCast-86" result="pass"/><test-case name="K2-SeqExprCast-87" result="pass"/><test-case name="K2-SeqExprCast-88" result="pass"/><test-case name="K2-SeqExprCast-89" result="pass"/><test-case name="K2-SeqExprCast-90" result="pass"/><test-case name="K2-SeqExprCast-91" result="pass"/><test-case name="K2-SeqExprCast-92" result="pass"/><test-case name="K2-SeqExprCast-93" result="pass"/><test-case name="K2-SeqExprCast-94" result="pass"/><test-case name="K2-SeqExprCast-95" result="pass"/><test-case name="K2-SeqExprCast-96" result="pass"/><test-case name="K2-SeqExprCast-97" result="pass"/><test-case name="K2-SeqExprCast-98" result="pass"/><test-case name="K2-SeqExprCast-99" result="pass"/><test-case name="K2-SeqExprCast-100" result="pass"/><test-case name="K2-SeqExprCast-101" result="pass"/><test-case name="K2-SeqExprCast-102" result="pass"/><test-case name="K2-SeqExprCast-103" result="pass"/><test-case name="K2-SeqExprCast-104" result="pass"/><test-case name="K2-SeqExprCast-105" result="pass"/><test-case name="K2-SeqExprCast-106" result="pass"/><test-case name="K2-SeqExprCast-107" result="pass"/><test-case name="K2-SeqExprCast-108" result="pass"/><test-case name="K2-SeqExprCast-109" result="pass"/><test-case name="K2-SeqExprCast-110" result="pass"/><test-case name="K2-SeqExprCast-111" result="pass"/><test-case name="K2-SeqExprCast-112" result="pass"/><test-case name="K2-SeqExprCast-113" result="pass"/><test-case name="K2-SeqExprCast-114" result="pass"/><test-case name="K2-SeqExprCast-115" result="pass"/><test-case name="K2-SeqExprCast-116" result="pass"/><test-case name="K2-SeqExprCast-117" result="pass"/><test-case name="K2-SeqExprCast-118" result="pass"/><test-case name="K2-SeqExprCast-119" result="pass"/><test-case name="K2-SeqExprCast-120" result="pass"/><test-case name="K2-SeqExprCast-121" result="pass"/><test-case name="K2-SeqExprCast-122" result="pass"/><test-case name="K2-SeqExprCast-123" result="pass"/><test-case name="K2-SeqExprCast-124" result="pass"/><test-case name="K2-SeqExprCast-125" result="pass"/><test-case name="K2-SeqExprCast-126" result="pass"/><test-case name="K2-SeqExprCast-127" result="pass"/><test-case name="K2-SeqExprCast-128" result="pass"/><test-case name="K2-SeqExprCast-129" result="pass"/><test-case name="K2-SeqExprCast-130" result="pass"/><test-case name="K2-SeqExprCast-131" result="pass"/><test-case name="K2-SeqExprCast-132" result="pass"/><test-case name="K2-SeqExprCast-133" result="pass"/><test-case name="K2-SeqExprCast-134" result="pass"/><test-case name="K2-SeqExprCast-135" result="pass"/><test-case name="K2-SeqExprCast-136" result="pass"/><test-case name="K2-SeqExprCast-137" result="pass"/><test-case name="K2-SeqExprCast-138" result="pass"/><test-case name="K2-SeqExprCast-139" result="pass"/><test-case name="K2-SeqExprCast-140" result="pass"/><test-case name="K2-SeqExprCast-141" result="pass"/><test-case name="K2-SeqExprCast-142" result="pass"/><test-case name="K2-SeqExprCast-143" result="pass"/><test-case name="K2-SeqExprCast-144" result="pass"/><test-case name="K2-SeqExprCast-145" result="pass"/><test-case name="K2-SeqExprCast-146" result="pass"/><test-case name="K2-SeqExprCast-147" result="pass"/><test-case name="K2-SeqExprCast-148" result="pass"/><test-case name="K2-SeqExprCast-149" result="pass"/><test-case name="K2-SeqExprCast-150" result="pass"/><test-case name="K2-SeqExprCast-151" result="pass"/><test-case name="K2-SeqExprCast-152" result="pass"/><test-case name="K2-SeqExprCast-153" result="pass"/><test-case name="K2-SeqExprCast-154" result="pass"/><test-case name="K2-SeqExprCast-155" result="pass"/><test-case name="K2-SeqExprCast-156" result="pass"/><test-case name="K2-SeqExprCast-157" result="pass"/><test-case name="K2-SeqExprCast-158" result="pass"/><test-case name="K2-SeqExprCast-159" result="pass"/><test-case name="K2-SeqExprCast-160" result="pass"/><test-case name="K2-SeqExprCast-161" result="pass"/><test-case name="K2-SeqExprCast-162" result="pass"/><test-case name="K2-SeqExprCast-163" result="pass"/><test-case name="K2-SeqExprCast-164" result="pass"/><test-case name="K2-SeqExprCast-165" result="pass"/><test-case name="K2-SeqExprCast-166" result="pass"/><test-case name="K2-SeqExprCast-167" result="pass"/><test-case name="K2-SeqExprCast-168" result="pass"/><test-case name="K2-SeqExprCast-169" result="pass"/><test-case name="K2-SeqExprCast-170" result="pass"/><test-case name="K2-SeqExprCast-171" result="pass"/><test-case name="K2-SeqExprCast-172" result="pass"/><test-case name="K2-SeqExprCast-173" result="pass"/><test-case name="K2-SeqExprCast-174" result="pass"/><test-case name="K2-SeqExprCast-175" result="pass"/><test-case name="K2-SeqExprCast-176" result="pass"/><test-case name="K2-SeqExprCast-177" result="pass"/><test-case name="K2-SeqExprCast-178" result="pass"/><test-case name="K2-SeqExprCast-179" result="pass"/><test-case name="K2-SeqExprCast-180" result="pass"/><test-case name="K2-SeqExprCast-181" result="pass"/><test-case name="K2-SeqExprCast-182" result="pass"/><test-case name="K2-SeqExprCast-183" result="pass"/><test-case name="K2-SeqExprCast-184" result="pass"/><test-case name="K2-SeqExprCast-185" result="pass"/><test-case name="K2-SeqExprCast-186" result="pass"/><test-case name="K2-SeqExprCast-187" result="pass"/><test-case name="K2-SeqExprCast-188" result="pass"/><test-case name="K2-SeqExprCast-189" result="pass"/><test-case name="K2-SeqExprCast-190" result="pass"/><test-case name="K2-SeqExprCast-191" result="pass"/><test-case name="K2-SeqExprCast-192" result="pass"/><test-case name="K2-SeqExprCast-193" result="pass"/><test-case name="K2-SeqExprCast-194" result="pass"/><test-case name="K2-SeqExprCast-195" result="pass"/><test-case name="K2-SeqExprCast-196" result="pass"/><test-case name="K2-SeqExprCast-197" result="pass"/><test-case name="K2-SeqExprCast-198" result="pass"/><test-case name="K2-SeqExprCast-199" result="pass"/><test-case name="K2-SeqExprCast-200" result="pass"/><test-case name="K2-SeqExprCast-201" result="pass"/><test-case name="K2-SeqExprCast-202" result="pass"/><test-case name="K2-SeqExprCast-203" result="pass"/><test-case name="K2-SeqExprCast-204" result="pass"/><test-case name="K2-SeqExprCast-205" result="pass"/><test-case name="K2-SeqExprCast-206" result="pass"/><test-case name="K2-SeqExprCast-207" result="pass"/><test-case name="K2-SeqExprCast-208" result="pass"/><test-case name="K2-SeqExprCast-209" result="fail"/><test-case name="K2-SeqExprCast-210" result="fail"/><test-case name="K2-SeqExprCast-211" result="pass"/><test-case name="K2-SeqExprCast-212" result="pass"/><test-case name="K2-SeqExprCast-213" result="pass"/><test-case name="K2-SeqExprCast-214" result="pass"/><test-case name="K2-SeqExprCast-215" result="pass"/><test-case name="K2-SeqExprCast-216" result="pass"/><test-case name="K2-SeqExprCast-217" result="pass"/><test-case name="K2-SeqExprCast-218" result="pass"/><test-case name="K2-SeqExprCast-219" result="pass"/><test-case name="K2-SeqExprCast-220" result="pass"/><test-case name="K2-SeqExprCast-221" result="pass"/><test-case name="K2-SeqExprCast-222" result="pass"/><test-case name="K2-SeqExprCast-223" result="pass"/><test-case name="K2-SeqExprCast-224" result="pass"/><test-case name="K2-SeqExprCast-225" result="pass"/><test-case name="K2-SeqExprCast-226" result="pass"/><test-case name="K2-SeqExprCast-227" result="pass"/><test-case name="K2-SeqExprCast-228" result="pass"/><test-case name="K2-SeqExprCast-229" result="pass"/><test-case name="K2-SeqExprCast-230" result="pass"/><test-case name="K2-SeqExprCast-231" result="pass"/><test-case name="K2-SeqExprCast-232" result="pass"/><test-case name="K2-SeqExprCast-233" result="pass"/><test-case name="K2-SeqExprCast-234" result="pass"/><test-case name="K2-SeqExprCast-235" result="pass"/><test-case name="K2-SeqExprCast-236" result="pass"/><test-case name="K2-SeqExprCast-237" result="pass"/><test-case name="K2-SeqExprCast-238" result="pass"/><test-case name="K2-SeqExprCast-239" result="pass"/><test-case name="K2-SeqExprCast-240" result="pass"/><test-case name="K2-SeqExprCast-241" result="pass"/><test-case name="K2-SeqExprCast-242" result="pass"/><test-case name="K2-SeqExprCast-243" result="pass"/><test-case name="K2-SeqExprCast-244" result="pass"/><test-case name="K2-SeqExprCast-245" result="pass"/><test-case name="K2-SeqExprCast-246" result="pass"/><test-case name="K2-SeqExprCast-247" result="pass"/><test-case name="K2-SeqExprCast-248" result="pass"/><test-case name="K2-SeqExprCast-249" result="pass"/><test-case name="K2-SeqExprCast-250" result="pass"/><test-case name="K2-SeqExprCast-251" result="pass"/><test-case name="K2-SeqExprCast-252" result="pass"/><test-case name="K2-SeqExprCast-253" result="pass"/><test-case name="K2-SeqExprCast-254" result="pass"/><test-case name="K2-SeqExprCast-255" result="pass"/><test-case name="K2-SeqExprCast-256" result="pass"/><test-case name="K2-SeqExprCast-257" result="pass"/><test-case name="K2-SeqExprCast-258" result="pass"/><test-case name="K2-SeqExprCast-259" result="pass"/><test-case name="K2-SeqExprCast-260" result="pass"/><test-case name="K2-SeqExprCast-261" result="pass"/><test-case name="K2-SeqExprCast-262" result="pass"/><test-case name="K2-SeqExprCast-263" result="pass"/><test-case name="K2-SeqExprCast-264" result="pass"/><test-case name="K2-SeqExprCast-265" result="pass"/><test-case name="K2-SeqExprCast-266" result="pass"/><test-case name="K2-SeqExprCast-267" result="pass"/><test-case name="K2-SeqExprCast-268" result="pass"/><test-case name="K2-SeqExprCast-269" result="pass"/><test-case name="K2-SeqExprCast-270" result="pass"/><test-case name="K2-SeqExprCast-271" result="pass"/><test-case name="K2-SeqExprCast-272" result="pass"/><test-case name="K2-SeqExprCast-273" result="pass"/><test-case name="K2-SeqExprCast-274" result="pass"/><test-case name="K2-SeqExprCast-275" result="pass"/><test-case name="K2-SeqExprCast-276" result="pass"/><test-case name="K2-SeqExprCast-277" result="pass"/><test-case name="K2-SeqExprCast-278" result="pass"/><test-case name="K2-SeqExprCast-279" result="pass"/><test-case name="K2-SeqExprCast-280" result="pass"/><test-case name="K2-SeqExprCast-281" result="pass"/><test-case name="K2-SeqExprCast-282" result="pass"/><test-case name="K2-SeqExprCast-283" result="pass"/><test-case name="K2-SeqExprCast-284" result="pass"/><test-case name="K2-SeqExprCast-285" result="pass"/><test-case name="K2-SeqExprCast-286" result="pass"/><test-case name="K2-SeqExprCast-287" result="pass"/><test-case name="K2-SeqExprCast-288" result="pass"/><test-case name="K2-SeqExprCast-289" result="pass"/><test-case name="K2-SeqExprCast-290" result="pass"/><test-case name="K2-SeqExprCast-291" result="pass"/><test-case name="K2-SeqExprCast-292" result="pass"/><test-case name="K2-SeqExprCast-293" result="pass"/><test-case name="K2-SeqExprCast-294" result="pass"/><test-case name="K2-SeqExprCast-295" result="pass"/><test-case name="K2-SeqExprCast-296" result="pass"/><test-case name="K2-SeqExprCast-297" result="pass"/><test-case name="K2-SeqExprCast-298" result="pass"/><test-case name="K2-SeqExprCast-299" result="pass"/><test-case name="K2-SeqExprCast-300" result="pass"/><test-case name="K2-SeqExprCast-301" result="pass"/><test-case name="K2-SeqExprCast-302" result="pass"/><test-case name="K2-SeqExprCast-303" result="pass"/><test-case name="K2-SeqExprCast-304" result="pass"/><test-case name="K2-SeqExprCast-305" result="pass"/><test-case name="K2-SeqExprCast-306" result="pass"/><test-case name="K2-SeqExprCast-307" result="pass"/><test-case name="K2-SeqExprCast-308" result="pass"/><test-case name="K2-SeqExprCast-309" result="pass"/><test-case name="K2-SeqExprCast-310" result="pass"/><test-case name="K2-SeqExprCast-311" result="pass"/><test-case name="K2-SeqExprCast-312" result="pass"/><test-case name="K2-SeqExprCast-313" result="pass"/><test-case name="K2-SeqExprCast-314" result="pass"/><test-case name="K2-SeqExprCast-315" result="pass"/><test-case name="K2-SeqExprCast-316" result="pass"/><test-case name="K2-SeqExprCast-317" result="pass"/><test-case name="K2-SeqExprCast-318" result="pass"/><test-case name="K2-SeqExprCast-319" result="pass"/><test-case name="K2-SeqExprCast-320" result="pass"/><test-case name="K2-SeqExprCast-321" result="pass"/><test-case name="K2-SeqExprCast-322" result="pass"/><test-case name="K2-SeqExprCast-323" result="pass"/><test-case name="K2-SeqExprCast-324" result="pass"/><test-case name="K2-SeqExprCast-325" result="pass"/><test-case name="K2-SeqExprCast-326" result="pass"/><test-case name="K2-SeqExprCast-327" result="pass"/><test-case name="K2-SeqExprCast-328" result="pass"/><test-case name="K2-SeqExprCast-329" result="pass"/><test-case name="K2-SeqExprCast-330" result="pass"/><test-case name="K2-SeqExprCast-331" result="pass"/><test-case name="K2-SeqExprCast-332" result="pass"/><test-case name="K2-SeqExprCast-333" result="pass"/><test-case name="K2-SeqExprCast-334" result="pass"/><test-case name="K2-SeqExprCast-335" result="pass"/><test-case name="K2-SeqExprCast-336" result="pass"/><test-case name="K2-SeqExprCast-337" result="pass"/><test-case name="K2-SeqExprCast-338" result="pass"/><test-case name="K2-SeqExprCast-339" result="pass"/><test-case name="K2-SeqExprCast-340" result="pass"/><test-case name="K2-SeqExprCast-341" result="pass"/><test-case name="K2-SeqExprCast-342" result="pass"/><test-case name="K2-SeqExprCast-343" result="pass"/><test-case name="K2-SeqExprCast-344" result="pass"/><test-case name="K2-SeqExprCast-345" result="pass"/><test-case name="K2-SeqExprCast-346" result="pass"/><test-case name="K2-SeqExprCast-347" result="pass"/><test-case name="K2-SeqExprCast-348" result="pass"/><test-case name="K2-SeqExprCast-349" result="pass"/><test-case name="K2-SeqExprCast-350" result="pass"/><test-case name="K2-SeqExprCast-351" result="pass"/><test-case name="K2-SeqExprCast-352" result="pass"/><test-case name="K2-SeqExprCast-353" result="pass"/><test-case name="K2-SeqExprCast-354" result="pass"/><test-case name="K2-SeqExprCast-355" result="pass"/><test-case name="K2-SeqExprCast-356" result="pass"/><test-case name="K2-SeqExprCast-357" result="pass"/><test-case name="K2-SeqExprCast-358" result="pass"/><test-case name="K2-SeqExprCast-359" result="pass"/><test-case name="K2-SeqExprCast-360" result="pass"/><test-case name="K2-SeqExprCast-361" result="pass"/><test-case name="K2-SeqExprCast-362" result="pass"/><test-case name="K2-SeqExprCast-363" result="pass"/><test-case name="K2-SeqExprCast-364" result="pass"/><test-case name="K2-SeqExprCast-365" result="pass"/><test-case name="K2-SeqExprCast-366" result="pass"/><test-case name="K2-SeqExprCast-367" result="pass"/><test-case name="K2-SeqExprCast-368" result="pass"/><test-case name="K2-SeqExprCast-369" result="pass"/><test-case name="K2-SeqExprCast-370" result="pass"/><test-case name="K2-SeqExprCast-371" result="pass"/><test-case name="K2-SeqExprCast-372" result="pass"/><test-case name="K2-SeqExprCast-373" result="pass"/><test-case name="K2-SeqExprCast-374" result="pass"/><test-case name="K2-SeqExprCast-375" result="pass"/><test-case name="K2-SeqExprCast-376" result="pass"/><test-case name="K2-SeqExprCast-377" result="pass"/><test-case name="K2-SeqExprCast-378" result="pass"/><test-case name="K2-SeqExprCast-379" result="pass"/><test-case name="K2-SeqExprCast-380" result="pass"/><test-case name="K2-SeqExprCast-381" result="pass"/><test-case name="K2-SeqExprCast-382" result="pass"/><test-case name="K2-SeqExprCast-383" result="pass"/><test-case name="K2-SeqExprCast-384" result="pass"/><test-case name="K2-SeqExprCast-385" result="pass"/><test-case name="K2-SeqExprCast-386" result="pass"/><test-case name="K2-SeqExprCast-387" result="pass"/><test-case name="K2-SeqExprCast-388" result="pass"/><test-case name="K2-SeqExprCast-389" result="pass"/><test-case name="K2-SeqExprCast-390" result="pass"/><test-case name="K2-SeqExprCast-391" result="pass"/><test-case name="K2-SeqExprCast-392" result="pass"/><test-case name="K2-SeqExprCast-393" result="pass"/><test-case name="K2-SeqExprCast-394" result="pass"/><test-case name="K2-SeqExprCast-395" result="pass"/><test-case name="K2-SeqExprCast-396" result="pass"/><test-case name="K2-SeqExprCast-397" result="pass"/><test-case name="K2-SeqExprCast-398" result="pass"/><test-case name="K2-SeqExprCast-399" result="pass"/><test-case name="K2-SeqExprCast-400" result="pass"/><test-case name="K2-SeqExprCast-401" result="pass"/><test-case name="K2-SeqExprCast-402" result="pass"/><test-case name="K2-SeqExprCast-403" result="pass"/><test-case name="K2-SeqExprCast-404" result="pass"/><test-case name="K2-SeqExprCast-405" result="pass"/><test-case name="K2-SeqExprCast-406" result="pass"/><test-case name="K2-SeqExprCast-407" result="pass"/><test-case name="K2-SeqExprCast-408" result="pass"/><test-case name="K2-SeqExprCast-409" result="pass"/><test-case name="K2-SeqExprCast-410" result="pass"/><test-case name="K2-SeqExprCast-411" result="pass"/><test-case name="K2-SeqExprCast-412" result="pass"/><test-case name="K2-SeqExprCast-413" result="pass"/><test-case name="K2-SeqExprCast-414" result="pass"/><test-case name="K2-SeqExprCast-415" result="pass"/><test-case name="K2-SeqExprCast-416" result="pass"/><test-case name="K2-SeqExprCast-417" result="pass"/><test-case name="K2-SeqExprCast-418" result="pass"/><test-case name="K2-SeqExprCast-419" result="pass"/><test-case name="K2-SeqExprCast-420" result="pass"/><test-case name="K2-SeqExprCast-421" result="pass"/><test-case name="K2-SeqExprCast-422" result="fail"/><test-case name="K2-SeqExprCast-423" result="pass"/><test-case name="K2-SeqExprCast-424" result="pass"/><test-case name="K2-SeqExprCast-425" result="pass"/><test-case name="K2-SeqExprCast-426" result="pass"/><test-case name="K2-SeqExprCast-427" result="pass"/><test-case name="K2-SeqExprCast-428" result="pass"/><test-case name="K2-SeqExprCast-429" result="pass"/><test-case name="K2-SeqExprCast-430" result="pass"/><test-case name="K2-SeqExprCast-431" result="pass"/><test-case name="K2-SeqExprCast-432" result="pass"/><test-case name="K2-SeqExprCast-433" result="pass"/><test-case name="K2-SeqExprCast-434" result="pass"/><test-case name="K2-SeqExprCast-435" result="pass"/><test-case name="K2-SeqExprCast-436" result="pass"/><test-case name="K2-SeqExprCast-437" result="pass"/><test-case name="K2-SeqExprCast-438" result="pass"/><test-case name="K2-SeqExprCast-439" result="pass"/><test-case name="K2-SeqExprCast-440" result="pass"/><test-case name="K2-SeqExprCast-441" result="pass"/><test-case name="K2-SeqExprCast-442" result="pass"/><test-case name="K2-SeqExprCast-443" result="pass"/><test-case name="K2-SeqExprCast-444" result="pass"/><test-case name="K2-SeqExprCast-445" result="pass"/><test-case name="K2-SeqExprCast-446" result="pass"/><test-case name="K2-SeqExprCast-447" result="pass"/><test-case name="K2-SeqExprCast-448" result="pass"/><test-case name="K2-SeqExprCast-449" result="pass"/><test-case name="K2-SeqExprCast-450" result="pass"/><test-case name="K2-SeqExprCast-451" result="pass"/><test-case name="K2-SeqExprCast-452" result="pass"/><test-case name="K2-SeqExprCast-453" result="pass"/><test-case name="K2-SeqExprCast-454" result="pass"/><test-case name="K2-SeqExprCast-455" result="pass"/><test-case name="K2-SeqExprCast-456" result="pass"/><test-case name="K2-SeqExprCast-457" result="pass"/><test-case name="K2-SeqExprCast-458" result="pass"/><test-case name="K2-SeqExprCast-459" result="pass"/><test-case name="K2-SeqExprCast-460" result="pass"/><test-case name="K2-SeqExprCast-461" result="pass"/><test-case name="K2-SeqExprCast-462" result="pass"/><test-case name="K2-SeqExprCast-463" result="pass"/><test-case name="K2-SeqExprCast-464" result="pass"/><test-case name="K2-SeqExprCast-465" result="pass"/><test-case name="K2-SeqExprCast-466" result="pass"/><test-case name="K2-SeqExprCast-467" result="pass"/><test-case name="K2-SeqExprCast-468" result="pass"/><test-case name="K2-SeqExprCast-469" result="pass"/><test-case name="K2-SeqExprCast-470" result="pass"/><test-case name="K2-SeqExprCast-471" result="pass"/><test-case name="K2-SeqExprCast-472" result="pass"/><test-case name="K2-SeqExprCast-473" result="pass"/><test-case name="K2-SeqExprCast-474" result="pass"/><test-case name="K2-SeqExprCast-475" result="pass"/><test-case name="K2-SeqExprCast-476" result="pass"/><test-case name="K2-SeqExprCast-477" result="pass"/><test-case name="K2-SeqExprCast-478" result="pass"/><test-case name="K2-SeqExprCast-479" result="pass"/><test-case name="K2-SeqExprCast-480" result="pass"/><test-case name="K2-SeqExprCast-481" result="pass"/><test-case name="K2-SeqExprCast-482" result="pass"/><test-case name="K2-SeqExprCast-483" result="pass"/><test-case name="K2-SeqExprCast-484" result="pass"/><test-case name="K2-SeqExprCast-485" result="pass"/><test-case name="K2-SeqExprCast-486" result="pass"/><test-case name="K2-SeqExprCast-487" result="pass"/><test-case name="K2-SeqExprCast-488" result="pass"/><test-case name="K2-SeqExprCast-489" result="fail"/><test-case name="K2-SeqExprCast-490" result="fail"/><test-case name="K2-SeqExprCast-491" result="pass"/><test-case name="K2-SeqExprCast-492" result="pass"/><test-case name="K2-SeqExprCast-493" result="pass"/><test-case name="K2-SeqExprCast-494" result="pass"/><test-case name="K2-SeqExprCast-495" result="pass"/><test-case name="K2-SeqExprCast-496" result="pass"/><test-case name="K2-SeqExprCast-497" result="pass"/><test-case name="K2-SeqExprCast-498" result="pass"/><test-case name="K2-SeqExprCast-499" result="pass"/><test-case name="K2-SeqExprCast-500" result="pass"/><test-case name="K2-SeqExprCast-501" result="pass"/><test-case name="K2-SeqExprCast-502" result="fail"/><test-case name="K2-SeqExprCast-503" result="fail"/><test-case name="K2-SeqExprCast-504" result="pass"/><test-case name="K2-SeqExprCast-505" result="pass"/><test-case name="K2-SeqExprCast-506" result="pass"/><test-case name="CastableAs001" result="pass"/><test-case name="CastableAs002" result="pass"/><test-case name="CastableAs003" result="pass"/><test-case name="CastableAs004" result="pass"/><test-case name="CastableAs005" result="pass"/><test-case name="CastableAs006" result="pass"/><test-case name="CastableAs007" result="pass"/><test-case name="CastableAs008" result="pass"/><test-case name="CastableAs009" result="pass"/><test-case name="CastableAs010" result="pass"/><test-case name="CastableAs011" result="pass"/><test-case name="CastableAs012" result="pass"/><test-case name="CastableAs013" result="pass"/><test-case name="CastableAs014" result="pass"/><test-case name="CastableAs015" result="pass"/><test-case name="CastableAs016" result="pass"/><test-case name="CastableAs017" result="pass"/><test-case name="CastableAs018" result="pass"/><test-case name="CastableAs019" result="pass"/><test-case name="CastableAs020" result="pass"/><test-case name="CastableAs021" result="pass"/><test-case name="CastableAs022" result="pass"/><test-case name="CastableAs023" result="pass"/><test-case name="CastableAs024" result="pass"/><test-case name="CastableAs025" result="pass"/><test-case name="CastableAs026" result="pass"/><test-case name="CastableAs027" result="pass"/><test-case name="CastableAs028" result="pass"/><test-case name="CastableAs029" result="pass"/><test-case name="CastableAs030" result="pass"/><test-case name="CastableAs031" result="pass"/><test-case name="CastableAs032" result="pass"/><test-case name="CastableAs033" result="pass"/><test-case name="CastableAs034" result="pass"/><test-case name="CastableAs035" result="pass"/><test-case name="CastableAs036" result="pass"/><test-case name="CastableAs037" result="pass"/><test-case name="CastableAs038" result="pass"/><test-case name="CastableAs039" result="pass"/><test-case name="CastableAs040" result="pass"/><test-case name="CastableAs041" result="pass"/><test-case name="CastableAs042" result="pass"/><test-case name="CastableAs043" result="pass"/><test-case name="CastableAs044" result="pass"/><test-case name="CastableAs045" result="pass"/><test-case name="CastableAs046" result="pass"/><test-case name="CastableAs047" result="pass"/><test-case name="CastableAs048" result="pass"/><test-case name="CastableAs049" result="pass"/><test-case name="CastableAs050" result="pass"/><test-case name="CastableAs051" result="pass"/><test-case name="CastableAs052" result="pass"/><test-case name="CastableAs053" result="pass"/><test-case name="CastableAs054" result="pass"/><test-case name="CastableAs055" result="pass"/><test-case name="CastableAs056" result="pass"/><test-case name="CastableAs057" result="pass"/><test-case name="CastableAs058" result="pass"/><test-case name="CastableAs059" result="pass"/><test-case name="CastableAs060" result="pass"/><test-case name="CastableAs061" result="pass"/><test-case name="CastableAs062" result="pass"/><test-case name="CastableAs063" result="pass"/><test-case name="CastableAs064" result="pass"/><test-case name="CastableAs065" result="pass"/><test-case name="CastableAs066" result="pass"/><test-case name="CastableAs067" result="pass"/><test-case name="CastableAs068" result="pass"/><test-case name="CastableAs069" result="pass"/><test-case name="CastableAs070" result="pass"/><test-case name="CastableAs071" result="pass"/><test-case name="CastableAs072" result="pass"/><test-case name="CastableAs073" result="pass"/><test-case name="CastableAs074" result="pass"/><test-case name="CastableAs075" result="pass"/><test-case name="CastableAs076" result="pass"/><test-case name="CastableAs077" result="pass"/><test-case name="CastableAs078" result="pass"/><test-case name="CastableAs079" result="pass"/><test-case name="CastableAs080" result="pass"/><test-case name="CastableAs081" result="pass"/><test-case name="CastableAs082" result="pass"/><test-case name="CastableAs083" result="pass"/><test-case name="CastableAs084" result="pass"/><test-case name="CastableAs085" result="pass"/><test-case name="CastableAs086" result="pass"/><test-case name="CastableAs087" result="pass"/><test-case name="CastableAs088" result="pass"/><test-case name="CastableAs089" result="pass"/><test-case name="CastableAs090" result="pass"/><test-case name="CastableAs091" result="pass"/><test-case name="CastableAs092" result="pass"/><test-case name="CastableAs093" result="pass"/><test-case name="CastableAs094" result="pass"/><test-case name="CastableAs095" result="pass"/><test-case name="CastableAs096" result="pass"/><test-case name="CastableAs097" result="pass"/><test-case name="CastableAs098" result="pass"/><test-case name="CastableAs099" result="pass"/><test-case name="CastableAs100" result="pass"/><test-case name="CastableAs101" result="pass"/><test-case name="CastableAs102" result="pass"/><test-case name="CastableAs103" result="pass"/><test-case name="CastableAs104" result="pass"/><test-case name="CastableAs105" result="pass"/><test-case name="CastableAs106" result="pass"/><test-case name="CastableAs107" result="pass"/><test-case name="CastableAs108" result="pass"/><test-case name="CastableAs109" result="pass"/><test-case name="CastableAs110" result="pass"/><test-case name="CastableAs111" result="pass"/><test-case name="CastableAs112" result="pass"/><test-case name="CastableAs113" result="pass"/><test-case name="CastableAs114" result="pass"/><test-case name="CastableAs115" result="pass"/><test-case name="CastableAs116" result="pass"/><test-case name="CastableAs117" result="pass"/><test-case name="CastableAs118" result="pass"/><test-case name="CastableAs119" result="pass"/><test-case name="CastableAs120" result="pass"/><test-case name="CastableAs121" result="pass"/><test-case name="CastableAs122" result="pass"/><test-case name="CastableAs123" result="pass"/><test-case name="CastableAs124" result="pass"/><test-case name="CastableAs125" result="pass"/><test-case name="CastableAs126" result="pass"/><test-case name="CastableAs127" result="pass"/><test-case name="CastableAs128" result="pass"/><test-case name="CastableAs129" result="pass"/><test-case name="CastableAs130" result="pass"/><test-case name="CastableAs131" result="pass"/><test-case name="CastableAs132" result="pass"/><test-case name="CastableAs133" result="pass"/><test-case name="CastableAs134" result="pass"/><test-case name="CastableAs135" result="pass"/><test-case name="CastableAs136" result="pass"/><test-case name="CastableAs137" result="pass"/><test-case name="CastableAs138" result="pass"/><test-case name="CastableAs139" result="pass"/><test-case name="CastableAs140" result="pass"/><test-case name="CastableAs141" result="pass"/><test-case name="CastableAs142" result="pass"/><test-case name="CastableAs143" result="pass"/><test-case name="CastableAs144" result="pass"/><test-case name="CastableAs145" result="pass"/><test-case name="CastableAs146" result="pass"/><test-case name="CastableAs147" result="pass"/><test-case name="CastableAs148" result="pass"/><test-case name="CastableAs149" result="pass"/><test-case name="CastableAs150" result="pass"/><test-case name="CastableAs151" result="pass"/><test-case name="CastableAs152" result="pass"/><test-case name="CastableAs153" result="pass"/><test-case name="CastableAs154" result="pass"/><test-case name="CastableAs155" result="pass"/><test-case name="CastableAs156" result="pass"/><test-case name="CastableAs157" result="pass"/><test-case name="CastableAs158" result="pass"/><test-case name="CastableAs159" result="pass"/><test-case name="CastableAs160" result="pass"/><test-case name="CastableAs161" result="pass"/><test-case name="CastableAs162" result="pass"/><test-case name="CastableAs163" result="pass"/><test-case name="CastableAs164" result="pass"/><test-case name="CastableAs165" result="pass"/><test-case name="CastableAs166" result="pass"/><test-case name="CastableAs167" result="pass"/><test-case name="CastableAs168" result="pass"/><test-case name="CastableAs169" result="pass"/><test-case name="CastableAs170" result="pass"/><test-case name="CastableAs171" result="pass"/><test-case name="CastableAs172" result="pass"/><test-case name="CastableAs173" result="pass"/><test-case name="CastableAs174" result="pass"/><test-case name="CastableAs175" result="pass"/><test-case name="CastableAs176" result="pass"/><test-case name="CastableAs177" result="pass"/><test-case name="CastableAs178" result="pass"/><test-case name="CastableAs179" result="pass"/><test-case name="CastableAs180" result="pass"/><test-case name="CastableAs181" result="pass"/><test-case name="CastableAs182" result="pass"/><test-case name="CastableAs183" result="pass"/><test-case name="CastableAs184" result="pass"/><test-case name="CastableAs185" result="pass"/><test-case name="CastableAs186" result="pass"/><test-case name="CastableAs187" result="pass"/><test-case name="CastableAs188" result="pass"/><test-case name="CastableAs189" result="pass"/><test-case name="CastableAs190" result="pass"/><test-case name="CastableAs191" result="pass"/><test-case name="CastableAs192" result="pass"/><test-case name="CastableAs193" result="pass"/><test-case name="CastableAs194" result="pass"/><test-case name="CastableAs195" result="pass"/><test-case name="CastableAs196" result="pass"/><test-case name="CastableAs197" result="pass"/><test-case name="CastableAs198" result="pass"/><test-case name="CastableAs199" result="pass"/><test-case name="CastableAs200" result="pass"/><test-case name="CastableAs201" result="pass"/><test-case name="CastableAs202" result="pass"/><test-case name="CastableAs203" result="pass"/><test-case name="CastableAs204" result="fail"/><test-case name="CastableAs205" result="pass"/><test-case name="CastableAs206" result="pass"/><test-case name="CastableAs207" result="pass"/><test-case name="CastableAs208" result="pass"/><test-case name="CastableAs209" result="pass"/><test-case name="CastableAs210" result="pass"/><test-case name="CastableAs211" result="fail"/><test-case name="CastableAs212" result="pass"/><test-case name="CastableAs213" result="pass"/><test-case name="CastableAs214" result="pass"/><test-case name="CastableAs215" result="pass"/><test-case name="CastableAs216" result="pass"/><test-case name="CastableAs217" result="pass"/><test-case name="CastableAs218" result="pass"/><test-case name="CastableAs219" result="pass"/><test-case name="CastableAs220" result="pass"/><test-case name="CastableAs221" result="pass"/><test-case name="CastableAs222" result="pass"/><test-case name="CastableAs223" result="pass"/><test-case name="CastableAs224" result="pass"/><test-case name="CastableAs225" result="pass"/><test-case name="CastableAs226" result="pass"/><test-case name="CastableAs227" result="pass"/><test-case name="CastableAs228" result="pass"/><test-case name="CastableAs229" result="pass"/><test-case name="CastableAs230" result="pass"/><test-case name="CastableAs231" result="pass"/><test-case name="CastableAs232" result="pass"/><test-case name="CastableAs233" result="pass"/><test-case name="CastableAs234" result="pass"/><test-case name="CastableAs235" result="pass"/><test-case name="CastableAs236" result="pass"/><test-case name="CastableAs237" result="pass"/><test-case name="CastableAs238" result="pass"/><test-case name="CastableAs239" result="pass"/><test-case name="CastableAs240" result="pass"/><test-case name="CastableAs241" result="pass"/><test-case name="CastableAs242" result="pass"/><test-case name="CastableAs243" result="pass"/><test-case name="CastableAs244" result="pass"/><test-case name="CastableAs245" result="pass"/><test-case name="CastableAs246" result="pass"/><test-case name="CastableAs247" result="pass"/><test-case name="CastableAs248" result="pass"/><test-case name="CastableAs249" result="pass"/><test-case name="CastableAs250" result="pass"/><test-case name="CastableAs251" result="pass"/><test-case name="CastableAs252" result="pass"/><test-case name="CastableAs253" result="pass"/><test-case name="CastableAs254" result="pass"/><test-case name="CastableAs255" result="pass"/><test-case name="CastableAs256" result="pass"/><test-case name="CastableAs257" result="pass"/><test-case name="CastableAs258" result="pass"/><test-case name="CastableAs259" result="pass"/><test-case name="CastableAs260" result="pass"/><test-case name="CastableAs261" result="pass"/><test-case name="CastableAs262" result="pass"/><test-case name="CastableAs263" result="pass"/><test-case name="CastableAs264" result="pass"/><test-case name="CastableAs265" result="pass"/><test-case name="CastableAs266" result="pass"/><test-case name="CastableAs267" result="pass"/><test-case name="CastableAs268" result="pass"/><test-case name="CastableAs269" result="pass"/><test-case name="CastableAs270" result="pass"/><test-case name="CastableAs271" result="pass"/><test-case name="CastableAs272" result="pass"/><test-case name="CastableAs273" result="pass"/><test-case name="CastableAs274" result="pass"/><test-case name="CastableAs275" result="pass"/><test-case name="CastableAs276" result="pass"/><test-case name="CastableAs277" result="pass"/><test-case name="CastableAs278" result="pass"/><test-case name="CastableAs279" result="pass"/><test-case name="CastableAs280" result="pass"/><test-case name="CastableAs281" result="pass"/><test-case name="CastableAs282" result="pass"/><test-case name="CastableAs283" result="pass"/><test-case name="CastableAs284" result="pass"/><test-case name="CastableAs285" result="pass"/><test-case name="CastableAs286" result="pass"/><test-case name="CastableAs287" result="pass"/><test-case name="CastableAs288" result="pass"/><test-case name="CastableAs289" result="pass"/><test-case name="CastableAs290" result="pass"/><test-case name="CastableAs291" result="pass"/><test-case name="CastableAs292" result="pass"/><test-case name="CastableAs293" result="pass"/><test-case name="CastableAs294" result="pass"/><test-case name="CastableAs295" result="pass"/><test-case name="CastableAs296" result="pass"/><test-case name="CastableAs297" result="pass"/><test-case name="CastableAs298" result="pass"/><test-case name="CastableAs299" result="pass"/><test-case name="CastableAs300" result="pass"/><test-case name="CastableAs301" result="pass"/><test-case name="CastableAs302" result="pass"/><test-case name="CastableAs303" result="pass"/><test-case name="CastableAs304" result="pass"/><test-case name="CastableAs305" result="pass"/><test-case name="CastableAs306" result="pass"/><test-case name="CastableAs307" result="pass"/><test-case name="CastableAs308" result="pass"/><test-case name="CastableAs309" result="pass"/><test-case name="CastableAs310" result="pass"/><test-case name="CastableAs311" result="pass"/><test-case name="CastableAs312" result="pass"/><test-case name="CastableAs313" result="pass"/><test-case name="CastableAs314" result="pass"/><test-case name="CastableAs315" result="pass"/><test-case name="CastableAs316" result="pass"/><test-case name="CastableAs317" result="pass"/><test-case name="CastableAs318" result="pass"/><test-case name="CastableAs319" result="pass"/><test-case name="CastableAs320" result="pass"/><test-case name="CastableAs321" result="pass"/><test-case name="CastableAs322" result="pass"/><test-case name="CastableAs323" result="pass"/><test-case name="CastableAs324" result="pass"/><test-case name="CastableAs325" result="pass"/><test-case name="CastableAs326" result="pass"/><test-case name="CastableAs327" result="pass"/><test-case name="CastableAs328" result="pass"/><test-case name="CastableAs329" result="pass"/><test-case name="CastableAs330" result="pass"/><test-case name="CastableAs331" result="pass"/><test-case name="CastableAs332" result="pass"/><test-case name="CastableAs333" result="pass"/><test-case name="CastableAs334" result="pass"/><test-case name="CastableAs335" result="pass"/><test-case name="CastableAs336" result="pass"/><test-case name="CastableAs337" result="pass"/><test-case name="CastableAs338" result="pass"/><test-case name="CastableAs339" result="pass"/><test-case name="CastableAs340" result="pass"/><test-case name="CastableAs341" result="pass"/><test-case name="CastableAs342" result="pass"/><test-case name="CastableAs343" result="pass"/><test-case name="CastableAs344" result="pass"/><test-case name="CastableAs345" result="pass"/><test-case name="CastableAs346" result="pass"/><test-case name="CastableAs347" result="pass"/><test-case name="CastableAs348" result="pass"/><test-case name="CastableAs349" result="pass"/><test-case name="CastableAs350" result="pass"/><test-case name="CastableAs351" result="pass"/><test-case name="CastableAs352" result="pass"/><test-case name="CastableAs353" result="pass"/><test-case name="CastableAs354" result="pass"/><test-case name="CastableAs355" result="pass"/><test-case name="CastableAs356" result="pass"/><test-case name="CastableAs357" result="pass"/><test-case name="CastableAs358" result="pass"/><test-case name="CastableAs359" result="pass"/><test-case name="CastableAs360" result="pass"/><test-case name="CastableAs361" result="pass"/><test-case name="CastableAs362" result="pass"/><test-case name="CastableAs363" result="pass"/><test-case name="CastableAs364" result="pass"/><test-case name="CastableAs365" result="pass"/><test-case name="CastableAs366" result="pass"/><test-case name="CastableAs367" result="pass"/><test-case name="CastableAs368" result="pass"/><test-case name="CastableAs369" result="pass"/><test-case name="CastableAs370" result="pass"/><test-case name="CastableAs371" result="pass"/><test-case name="CastableAs372" result="pass"/><test-case name="CastableAs373" result="pass"/><test-case name="CastableAs374" result="pass"/><test-case name="CastableAs375" result="pass"/><test-case name="CastableAs376" result="pass"/><test-case name="CastableAs377" result="pass"/><test-case name="CastableAs378" result="pass"/><test-case name="CastableAs379" result="pass"/><test-case name="CastableAs380" result="pass"/><test-case name="CastableAs381" result="pass"/><test-case name="CastableAs382" result="pass"/><test-case name="CastableAs383" result="pass"/><test-case name="CastableAs384" result="pass"/><test-case name="CastableAs385" result="pass"/><test-case name="CastableAs386" result="pass"/><test-case name="CastableAs387" result="pass"/><test-case name="CastableAs388" result="pass"/><test-case name="CastableAs389" result="pass"/><test-case name="CastableAs390" result="pass"/><test-case name="CastableAs391" result="pass"/><test-case name="CastableAs392" result="pass"/><test-case name="CastableAs393" result="pass"/><test-case name="CastableAs394" result="pass"/><test-case name="CastableAs395" result="pass"/><test-case name="CastableAs396" result="pass"/><test-case name="CastableAs397" result="pass"/><test-case name="CastableAs398" result="pass"/><test-case name="CastableAs399" result="pass"/><test-case name="CastableAs400" result="pass"/><test-case name="CastableAs401" result="pass"/><test-case name="CastableAs402" result="pass"/><test-case name="CastableAs403" result="pass"/><test-case name="CastableAs404" result="pass"/><test-case name="CastableAs405" result="pass"/><test-case name="CastableAs406" result="pass"/><test-case name="CastableAs407" result="pass"/><test-case name="CastableAs408" result="pass"/><test-case name="CastableAs409" result="pass"/><test-case name="CastableAs410" result="pass"/><test-case name="CastableAs411" result="pass"/><test-case name="CastableAs412" result="pass"/><test-case name="CastableAs413" result="pass"/><test-case name="CastableAs414" result="pass"/><test-case name="CastableAs415" result="pass"/><test-case name="CastableAs416" result="pass"/><test-case name="CastableAs417" result="pass"/><test-case name="CastableAs418" result="pass"/><test-case name="CastableAs419" result="pass"/><test-case name="CastableAs420" result="pass"/><test-case name="CastableAs421" result="pass"/><test-case name="CastableAs422" result="pass"/><test-case name="CastableAs423" result="pass"/><test-case name="CastableAs424" result="pass"/><test-case name="CastableAs425" result="pass"/><test-case name="CastableAs426" result="pass"/><test-case name="CastableAs427" result="pass"/><test-case name="CastableAs428" result="pass"/><test-case name="CastableAs429" result="pass"/><test-case name="CastableAs430" result="pass"/><test-case name="CastableAs431" result="pass"/><test-case name="CastableAs432" result="pass"/><test-case name="CastableAs433" result="pass"/><test-case name="CastableAs434" result="pass"/><test-case name="CastableAs435" result="pass"/><test-case name="CastableAs436" result="pass"/><test-case name="CastableAs437" result="pass"/><test-case name="CastableAs438" result="pass"/><test-case name="CastableAs439" result="pass"/><test-case name="CastableAs440" result="pass"/><test-case name="CastableAs441" result="pass"/><test-case name="CastableAs442" result="pass"/><test-case name="CastableAs443" result="pass"/><test-case name="CastableAs444" result="pass"/><test-case name="CastableAs445" result="pass"/><test-case name="CastableAs446" result="pass"/><test-case name="CastableAs447" result="pass"/><test-case name="CastableAs448" result="pass"/><test-case name="CastableAs449" result="pass"/><test-case name="CastableAs450" result="pass"/><test-case name="CastableAs451" result="pass"/><test-case name="CastableAs452" result="pass"/><test-case name="CastableAs453" result="pass"/><test-case name="CastableAs454" result="pass"/><test-case name="CastableAs455" result="pass"/><test-case name="CastableAs456" result="pass"/><test-case name="CastableAs457" result="pass"/><test-case name="CastableAs458" result="pass"/><test-case name="CastableAs459" result="pass"/><test-case name="CastableAs460" result="pass"/><test-case name="CastableAs461" result="pass"/><test-case name="CastableAs462" result="pass"/><test-case name="CastableAs463" result="pass"/><test-case name="CastableAs464" result="pass"/><test-case name="CastableAs465" result="pass"/><test-case name="CastableAs466" result="pass"/><test-case name="CastableAs467" result="pass"/><test-case name="CastableAs468" result="pass"/><test-case name="CastableAs469" result="pass"/><test-case name="CastableAs470" result="pass"/><test-case name="CastableAs471" result="pass"/><test-case name="CastableAs472" result="pass"/><test-case name="CastableAs473" result="pass"/><test-case name="CastableAs474" result="pass"/><test-case name="CastableAs475" result="pass"/><test-case name="CastableAs476" result="pass"/><test-case name="CastableAs477" result="pass"/><test-case name="CastableAs478" result="pass"/><test-case name="CastableAs479" result="pass"/><test-case name="CastableAs480" result="pass"/><test-case name="CastableAs481" result="pass"/><test-case name="CastableAs482" result="pass"/><test-case name="CastableAs483" result="pass"/><test-case name="CastableAs484" result="pass"/><test-case name="CastableAs485" result="pass"/><test-case name="CastableAs486" result="pass"/><test-case name="CastableAs487" result="pass"/><test-case name="CastableAs488" result="pass"/><test-case name="CastableAs489" result="pass"/><test-case name="CastableAs490" result="pass"/><test-case name="CastableAs491" result="pass"/><test-case name="CastableAs492" result="pass"/><test-case name="CastableAs493" result="pass"/><test-case name="CastableAs494" result="pass"/><test-case name="CastableAs495" result="pass"/><test-case name="CastableAs496" result="pass"/><test-case name="CastableAs497" result="pass"/><test-case name="CastableAs498" result="pass"/><test-case name="CastableAs499" result="pass"/><test-case name="CastableAs500" result="pass"/><test-case name="CastableAs501" result="pass"/><test-case name="CastableAs502" result="pass"/><test-case name="CastableAs503" result="pass"/><test-case name="CastableAs504" result="pass"/><test-case name="CastableAs505" result="pass"/><test-case name="CastableAs506" result="pass"/><test-case name="CastableAs507" result="pass"/><test-case name="CastableAs508" result="pass"/><test-case name="CastableAs509" result="pass"/><test-case name="CastableAs510" result="pass"/><test-case name="CastableAs511" result="pass"/><test-case name="CastableAs512" result="pass"/><test-case name="CastableAs513" result="pass"/><test-case name="CastableAs514" result="pass"/><test-case name="CastableAs515" result="pass"/><test-case name="CastableAs516" result="pass"/><test-case name="CastableAs517" result="pass"/><test-case name="CastableAs518" result="pass"/><test-case name="CastableAs519" result="pass"/><test-case name="CastableAs520" result="pass"/><test-case name="CastableAs521" result="pass"/><test-case name="CastableAs522" result="pass"/><test-case name="CastableAs523" result="pass"/><test-case name="CastableAs524" result="pass"/><test-case name="CastableAs525" result="pass"/><test-case name="CastableAs526" result="pass"/><test-case name="CastableAs527" result="pass"/><test-case name="CastableAs528" result="pass"/><test-case name="CastableAs529" result="pass"/><test-case name="CastableAs530" result="pass"/><test-case name="CastableAs531" result="pass"/><test-case name="CastableAs532" result="pass"/><test-case name="CastableAs533" result="pass"/><test-case name="CastableAs534" result="pass"/><test-case name="CastableAs535" result="pass"/><test-case name="CastableAs536" result="pass"/><test-case name="CastableAs537" result="pass"/><test-case name="CastableAs538" result="pass"/><test-case name="CastableAs539" result="pass"/><test-case name="CastableAs540" result="pass"/><test-case name="CastableAs541" result="pass"/><test-case name="CastableAs542" result="pass"/><test-case name="CastableAs543" result="pass"/><test-case name="CastableAs544" result="pass"/><test-case name="CastableAs545" result="pass"/><test-case name="CastableAs546" result="pass"/><test-case name="CastableAs547" result="pass"/><test-case name="CastableAs548" result="pass"/><test-case name="CastableAs549" result="pass"/><test-case name="CastableAs550" result="pass"/><test-case name="CastableAs551" result="pass"/><test-case name="CastableAs552" result="pass"/><test-case name="CastableAs553" result="pass"/><test-case name="CastableAs554" result="pass"/><test-case name="CastableAs555" result="pass"/><test-case name="CastableAs556" result="pass"/><test-case name="CastableAs557" result="pass"/><test-case name="CastableAs558" result="pass"/><test-case name="CastableAs559" result="pass"/><test-case name="CastableAs560" result="pass"/><test-case name="CastableAs561" result="pass"/><test-case name="CastableAs562" result="pass"/><test-case name="CastableAs563" result="pass"/><test-case name="CastableAs564" result="pass"/><test-case name="CastableAs565" result="pass"/><test-case name="CastableAs566" result="pass"/><test-case name="CastableAs567" result="pass"/><test-case name="CastableAs568" result="pass"/><test-case name="CastableAs569" result="pass"/><test-case name="CastableAs570" result="pass"/><test-case name="CastableAs571" result="pass"/><test-case name="CastableAs572" result="pass"/><test-case name="CastableAs573" result="pass"/><test-case name="CastableAs574" result="pass"/><test-case name="CastableAs575" result="pass"/><test-case name="CastableAs576" result="pass"/><test-case name="CastableAs577" result="pass"/><test-case name="CastableAs578" result="pass"/><test-case name="CastableAs579" result="pass"/><test-case name="CastableAs580" result="pass"/><test-case name="CastableAs581" result="pass"/><test-case name="CastableAs582" result="pass"/><test-case name="CastableAs583" result="pass"/><test-case name="CastableAs584" result="pass"/><test-case name="CastableAs585" result="pass"/><test-case name="CastableAs586" result="pass"/><test-case name="CastableAs587" result="pass"/><test-case name="CastableAs588" result="pass"/><test-case name="CastableAs589" result="pass"/><test-case name="CastableAs590" result="pass"/><test-case name="CastableAs591" result="pass"/><test-case name="CastableAs592" result="pass"/><test-case name="CastableAs593" result="pass"/><test-case name="CastableAs594" result="pass"/><test-case name="CastableAs595" result="pass"/><test-case name="CastableAs596" result="pass"/><test-case name="CastableAs597" result="pass"/><test-case name="CastableAs598" result="pass"/><test-case name="CastableAs599" result="pass"/><test-case name="CastableAs600" result="pass"/><test-case name="CastableAs601" result="pass"/><test-case name="CastableAs602" result="pass"/><test-case name="CastableAs603" result="pass"/><test-case name="CastableAs604" result="pass"/><test-case name="CastableAs605" result="pass"/><test-case name="CastableAs606" result="pass"/><test-case name="CastableAs607" result="pass"/><test-case name="CastableAs608" result="pass"/><test-case name="CastableAs609" result="pass"/><test-case name="CastableAs610" result="pass"/><test-case name="CastableAs611" result="pass"/><test-case name="CastableAs612" result="pass"/><test-case name="CastableAs613" result="pass"/><test-case name="CastableAs614" result="pass"/><test-case name="CastableAs615" result="pass"/><test-case name="CastableAs616" result="pass"/><test-case name="CastableAs617" result="pass"/><test-case name="CastableAs618" result="pass"/><test-case name="CastableAs619" result="pass"/><test-case name="CastableAs620" result="pass"/><test-case name="CastableAs621" result="pass"/><test-case name="CastableAs622" result="pass"/><test-case name="CastableAs623" result="pass"/><test-case name="CastableAs624" result="pass"/><test-case name="CastableAs625" result="pass"/><test-case name="CastableAs626" result="pass"/><test-case name="CastableAs627" result="pass"/><test-case name="CastableAs628" result="pass"/><test-case name="CastableAs629" result="pass"/><test-case name="CastableAs630" result="pass"/><test-case name="CastableAs631" result="pass"/><test-case name="CastableAs632" result="pass"/><test-case name="CastableAs633" result="pass"/><test-case name="CastableAs634" result="pass"/><test-case name="CastableAs635" result="pass"/><test-case name="CastableAs636" result="pass"/><test-case name="CastableAs637" result="pass"/><test-case name="CastableAs638" result="pass"/><test-case name="CastableAs639" result="pass"/><test-case name="CastableAs640" result="pass"/><test-case name="CastableAs641" result="pass"/><test-case name="CastableAs642" result="pass"/><test-case name="CastableAs643" result="pass"/><test-case name="CastableAs644" result="pass"/><test-case name="CastableAs645" result="pass"/><test-case name="CastableAs646" result="pass"/><test-case name="CastableAs647" result="pass"/><test-case name="CastableAs648" result="fail"/><test-case name="K-SeqExprCastable-1" result="pass"/><test-case name="K-SeqExprCastable-2" result="pass"/><test-case name="K-SeqExprCastable-3" result="pass"/><test-case name="K-SeqExprCastable-4" result="pass"/><test-case name="K-SeqExprCastable-5" result="pass"/><test-case name="K-SeqExprCastable-6" result="pass"/><test-case name="K-SeqExprCastable-7" result="pass"/><test-case name="K-SeqExprCastable-8" result="pass"/><test-case name="K-SeqExprCastable-9" result="pass"/><test-case name="K-SeqExprCastable-10" result="pass"/><test-case name="K-SeqExprCastable-11" result="pass"/><test-case name="K-SeqExprCastable-12" result="pass"/><test-case name="K-SeqExprCastable-13" result="pass"/><test-case name="K-SeqExprCastable-14" result="pass"/><test-case name="K-SeqExprCastable-15" result="pass"/><test-case name="K-SeqExprCastable-16" result="pass"/><test-case name="K-SeqExprCastable-17" result="pass"/><test-case name="K-SeqExprCastable-18" result="pass"/><test-case name="K-SeqExprCastable-19" result="pass"/><test-case name="K-SeqExprCastable-20" result="pass"/><test-case name="K-SeqExprCastable-21" result="pass"/><test-case name="K-SeqExprCastable-22" result="pass"/><test-case name="K-SeqExprCastable-23" result="pass"/><test-case name="K-SeqExprCastable-24" result="pass"/><test-case name="K-SeqExprCastable-25" result="pass"/><test-case name="K-SeqExprCastable-26" result="pass"/><test-case name="K-SeqExprCastable-27" result="pass"/><test-case name="K-SeqExprCastable-28" result="pass"/><test-case name="K-SeqExprCastable-29" result="pass"/><test-case name="K-SeqExprCastable-30" result="pass"/><test-case name="K-SeqExprCastable-31" result="pass"/><test-case name="K-SeqExprCastable-32" result="pass"/><test-case name="K-SeqExprCastable-33" result="pass"/><test-case name="K-SeqExprCastable-34" result="pass"/><test-case name="K-SeqExprCastable-35" result="pass"/><test-case name="K-SeqExprCastable-36" result="pass"/><test-case name="K-SeqExprCastable-37" result="pass"/><test-case name="K-SeqExprCastable-38" result="pass"/><test-case name="K2-SeqExprCastable-1" result="pass"/><test-case name="K2-SeqExprCastable-2" result="pass"/><test-case name="K2-SeqExprCastable-3" result="pass"/><test-case name="K2-SeqExprCastable-4" result="pass"/><test-case name="K2-SeqExprCastable-5" result="pass"/><test-case name="K2-SeqExprCastable-6" result="fail"/><test-case name="K2-SeqExprCastable-7" result="fail"/><test-case name="K2-SeqExprCastable-8" result="pass"/><test-case name="treat-as-1" result="pass"/><test-case name="treat-as-2" result="pass"/><test-case name="treat-as-3" result="pass"/><test-case name="treat-as-4" result="pass"/><test-case name="treat-as-5" result="pass"/><test-case name="treat-as-6" result="pass"/><test-case name="treat-as-7" result="pass"/><test-case name="treat-as-8" result="pass"/><test-case name="treat-as-9" result="pass"/><test-case name="treat-as-10" result="pass"/><test-case name="treat-as-11" result="pass"/><test-case name="treat-as-12" result="pass"/><test-case name="treat-as-13" result="pass"/><test-case name="treat-as-14" result="pass"/><test-case name="treat-as-15" result="pass"/><test-case name="treat-as-16" result="pass"/><test-case name="treat-as-17" result="pass"/><test-case name="treat-as-18" result="pass"/><test-case name="treat-as-19" result="pass"/><test-case name="treat-as-20" result="pass"/><test-case name="treat-as-21" result="pass"/><test-case name="treat-as-22" result="pass"/><test-case name="treat-as-23" result="pass"/><test-case name="treat-as-24" result="pass"/><test-case name="treat-as-25" result="pass"/><test-case name="K-SeqExprTreat-1" result="pass"/><test-case name="K-SeqExprTreat-2" result="pass"/><test-case name="K-SeqExprTreat-3" result="pass"/><test-case name="K-SeqExprTreat-4" result="pass"/><test-case name="K-SeqExprTreat-5" result="pass"/><test-case name="K-SeqExprTreat-6" result="pass"/><test-case name="K-SeqExprTreat-7" result="pass"/><test-case name="K-SeqExprTreat-8" result="pass"/><test-case name="K-SeqExprTreat-9" result="pass"/><test-case name="K-SeqExprTreat-10" result="pass"/><test-case name="K-SeqExprTreat-11" result="pass"/><test-case name="K-SeqExprTreat-12" result="pass"/><test-case name="K-SeqExprTreat-13" result="pass"/><test-case name="K-SeqExprTreat-14" result="pass"/><test-case name="K-SeqExprTreat-15" result="pass"/><test-case name="K-SeqExprTreat-16" result="pass"/><test-case name="K-SeqExprTreat-17" result="pass"/><test-case name="K2-SeqExprTreat-1" result="fail"/><test-case name="K2-SeqExprTreat-2" result="pass"/><test-case name="K2-SeqExprTreat-3" result="pass"/><test-case name="K2-SeqExprTreat-4" result="pass"/><test-case name="version_declaration-001" result="pass"/><test-case name="version_declaration-002" result="pass"/><test-case name="version_declaration-003" result="pass"/><test-case name="version_declaration-004" result="pass"/><test-case name="version_declaration-006" result="pass"/><test-case name="version_declaration-007" result="pass"/><test-case name="version_declaration-008" result="pass"/><test-case name="version_declaration-009" result="pass"/><test-case name="version_declaration-010" result="pass"/><test-case name="prolog-version-1" result="pass"/><test-case name="prolog-version-2" result="pass"/><test-case name="prolog-version-3" result="pass"/><test-case name="prolog-version-4" result="pass"/><test-case name="prolog-version-5" result="pass"/><test-case name="prolog-version-6" result="pass"/><test-case name="prolog-version-7" result="pass"/><test-case name="prolog-version-9" result="pass"/><test-case name="prolog-version-10" result="pass"/><test-case name="prolog-version-11" result="pass"/><test-case name="prolog-version-12" result="pass"/><test-case name="K-VersionProlog-1" result="pass"/><test-case name="K-VersionProlog-2" result="pass"/><test-case name="K-VersionProlog-3" result="pass"/><test-case name="K-VersionProlog-4" result="pass"/><test-case name="K-VersionProlog-5" result="pass"/><test-case name="K2-VersionProlog-1" result="pass"/><test-case name="K2-VersionProlog-2" result="pass"/><test-case name="K2-VersionProlog-3" result="pass"/><test-case name="K2-VersionProlog-4" result="pass"/><test-case name="K2-VersionProlog-5" result="pass"/><test-case name="boundary-space-001" result="pass"/><test-case name="boundary-space-002" result="pass"/><test-case name="boundary-space-003" result="pass"/><test-case name="boundary-space-004" result="pass"/><test-case name="boundary-space-005" result="pass"/><test-case name="boundary-space-006" result="pass"/><test-case name="boundary-space-007" result="pass"/><test-case name="boundary-space-008" result="pass"/><test-case name="boundary-space-009" result="pass"/><test-case name="boundary-space-010" result="pass"/><test-case name="boundary-space-011" result="pass"/><test-case name="boundary-space-012" result="pass"/><test-case name="boundary-space-013" result="pass"/><test-case name="boundary-space-014" result="pass"/><test-case name="boundary-space-015" result="pass"/><test-case name="boundary-space-016" result="pass"/><test-case name="boundary-space-017" result="pass"/><test-case name="boundary-space-018" result="pass"/><test-case name="boundary-space-019" result="pass"/><test-case name="boundary-space-020" result="pass"/><test-case name="boundary-space-021" result="pass"/><test-case name="boundary-space-022" result="pass"/><test-case name="boundaryspacedeclerr-1" result="pass"/><test-case name="K-BoundarySpaceProlog-1" result="pass"/><test-case name="K-BoundarySpaceProlog-2" result="pass"/><test-case name="K-BoundarySpaceProlog-3" result="pass"/><test-case name="K-BoundarySpaceProlog-4" result="pass"/><test-case name="K2-BoundarySpaceProlog-1" result="pass"/><test-case name="defaultcolldecl-1" result="pass"/><test-case name="defaultcolldecl-2" result="pass"/><test-case name="K-CollationProlog-1" result="pass"/><test-case name="K-CollationProlog-2" result="pass"/><test-case name="K-CollationProlog-3" result="pass"/><test-case name="K-CollationProlog-4" result="pass"/><test-case name="K-CollationProlog-5" result="pass"/><test-case name="K2-CollationProlog-1" result="pass"/><test-case name="copynamespace-1" result="pass"/><test-case name="copynamespace-2" result="pass"/><test-case name="copynamespace-3" result="pass"/><test-case name="copynamespace-4" result="pass"/><test-case name="copynamespace-5" result="pass"/><test-case name="copynamespace-6" result="pass"/><test-case name="copynamespace-7" result="pass"/><test-case name="copynamespace-8" result="pass"/><test-case name="copynamespace-9" result="pass"/><test-case name="copynamespace-10" result="pass"/><test-case name="copynamespace-11" result="pass"/><test-case name="copynamespace-12" result="pass"/><test-case name="copynamespace-13" result="pass"/><test-case name="copynamespace-14" result="pass"/><test-case name="copynamespace-15" result="pass"/><test-case name="copynamespace-16" result="pass"/><test-case name="copynamespace-17" result="pass"/><test-case name="copynamespace-18" result="pass"/><test-case name="copynamespace-19" result="pass"/><test-case name="copynamespace-20" result="pass"/><test-case name="copynamespace-21" result="pass"/><test-case name="copynamespace-22" result="pass"/><test-case name="K-CopyNamespacesProlog-1" result="pass"/><test-case name="K-CopyNamespacesProlog-2" result="pass"/><test-case name="K-CopyNamespacesProlog-3" result="pass"/><test-case name="K-CopyNamespacesProlog-4" result="pass"/><test-case name="K-CopyNamespacesProlog-5" result="pass"/><test-case name="K2-CopyNamespacesProlog-1" result="pass"/><test-case name="K2-CopyNamespacesProlog-2" result="pass"/><test-case name="K2-CopyNamespacesProlog-3" result="pass"/><test-case name="K2-CopyNamespacesProlog-4" result="pass"/><test-case name="K2-CopyNamespacesProlog-5" result="fail"/><test-case name="K2-CopyNamespacesProlog-6" result="pass"/><test-case name="K2-CopyNamespacesProlog-7" result="pass"/><test-case name="K2-CopyNamespacesProlog-8" result="pass"/><test-case name="K2-CopyNamespacesProlog-9" result="fail"/><test-case name="base-URI-1" result="pass"/><test-case name="base-URI-2" result="pass"/><test-case name="base-URI-3" result="pass"/><test-case name="base-URI-4" result="pass"/><test-case name="base-URI-5" result="pass"/><test-case name="base-URI-6" result="pass"/><test-case name="base-URI-7" result="pass"/><test-case name="base-URI-8" result="pass"/><test-case name="base-URI-9" result="pass"/><test-case name="base-URI-10" result="pass"/><test-case name="base-URI-11" result="pass"/><test-case name="base-URI-12" result="pass"/><test-case name="base-URI-13" result="pass"/><test-case name="base-URI-14" result="pass"/><test-case name="base-URI-15" result="fail"/><test-case name="base-URI-18" result="pass"/><test-case name="base-URI-19" result="pass"/><test-case name="base-URI-20" result="pass"/><test-case name="base-URI-21" result="fail"/><test-case name="base-URI-22" result="pass"/><test-case name="base-URI-23" result="pass"/><test-case name="base-URI-24" result="pass"/><test-case name="base-uri-25" result="pass"/><test-case name="base-uri-26" result="pass"/><test-case name="base-uri-27" result="pass"/><test-case name="base-uri-28" result="pass"/><test-case name="base-uri-29" result="pass"/><test-case name="K-BaseURIProlog-1" result="pass"/><test-case name="K-BaseURIProlog-2" result="pass"/><test-case name="K-BaseURIProlog-3" result="pass"/><test-case name="K2-BaseURIProlog-1" result="pass"/><test-case name="K2-BaseURIProlog-2" result="pass"/><test-case name="K2-BaseURIProlog-3" result="fail"/><test-case name="K2-BaseURIProlog-4" result="pass"/><test-case name="K2-BaseURIProlog-5" result="pass"/><test-case name="K2-BaseURIProlog-6" result="pass"/><test-case name="K2-BaseURIProlog-7" result="pass"/><test-case name="constprolog-1" result="pass"/><test-case name="constprolog-2" result="pass"/><test-case name="constprolog-3" result="pass"/><test-case name="constprolog-4" result="pass"/><test-case name="constprolog-5" result="pass"/><test-case name="constprolog-6" result="pass"/><test-case name="constprolog-7" result="pass"/><test-case name="constprolog-8" result="pass"/><test-case name="constprolog-9" result="pass"/><test-case name="constprolog-10" result="pass"/><test-case name="constprolog-11" result="pass"/><test-case name="constprolog-12" result="pass"/><test-case name="constprolog-13" result="pass"/><test-case name="constprolog-14" result="pass"/><test-case name="constprolog-15" result="pass"/><test-case name="constprolog-16" result="pass"/><test-case name="constprolog-17" result="pass"/><test-case name="constprolog-18" result="pass"/><test-case name="constprolog-19" result="pass"/><test-case name="constprolog-20" result="pass"/><test-case name="constprolog-21" result="pass"/><test-case name="K-ConstructionProlog-1" result="pass"/><test-case name="K-ConstructionProlog-2" result="pass"/><test-case name="K-ConstructionProlog-3" result="pass"/><test-case name="K-ConstructionProlog-4" result="pass"/><test-case name="K2-ConstructionProlog-1" result="pass"/><test-case name="default_namespace-001" result="pass"/><test-case name="default_namespace-002" result="pass"/><test-case name="default_namespace-003" result="pass"/><test-case name="default_namespace-004" result="pass"/><test-case name="default_namespace-005" result="pass"/><test-case name="default_namespace-006" result="pass"/><test-case name="default_namespace-007" result="pass"/><test-case name="default_namespace-008" result="pass"/><test-case name="default_namespace-009" result="pass"/><test-case name="default_namespace-010" result="pass"/><test-case name="default_namespace-011" result="pass"/><test-case name="default_namespace-012" result="pass"/><test-case name="default_namespace-013" result="pass"/><test-case name="default_namespace-014" result="pass"/><test-case name="default_namespace-015" result="pass"/><test-case name="default_namespace-016" result="pass"/><test-case name="default_namespace-017" result="pass"/><test-case name="default_namespace-018" result="pass"/><test-case name="default_namespace-019" result="pass"/><test-case name="default_namespace-020" result="pass"/><test-case name="default_namespace-021" result="pass"/><test-case name="default_namespace-022" result="pass"/><test-case name="defaultnamespacedeclerr-1" result="pass"/><test-case name="defaultnamespacedeclerr-2" result="pass"/><test-case name="K-DefaultNamespaceProlog-1" result="pass"/><test-case name="K-DefaultNamespaceProlog-2" result="pass"/><test-case name="K-DefaultNamespaceProlog-3" result="pass"/><test-case name="K-DefaultNamespaceProlog-4" result="pass"/><test-case name="K-DefaultNamespaceProlog-5" result="pass"/><test-case name="K-DefaultNamespaceProlog-6" result="pass"/><test-case name="K-DefaultNamespaceProlog-7" result="pass"/><test-case name="K-DefaultNamespaceProlog-8" result="pass"/><test-case name="K-DefaultNamespaceProlog-9" result="pass"/><test-case name="K-DefaultNamespaceProlog-10" result="pass"/><test-case name="K-DefaultNamespaceProlog-11" result="pass"/><test-case name="K2-DefaultNamespaceProlog-1" result="pass"/><test-case name="K2-DefaultNamespaceProlog-2" result="pass"/><test-case name="K2-DefaultNamespaceProlog-3" result="pass"/><test-case name="K2-DefaultNamespaceProlog-4" result="pass"/><test-case name="K2-DefaultNamespaceProlog-5" result="pass"/><test-case name="K2-DefaultNamespaceProlog-6" result="pass"/><test-case name="K2-DefaultNamespaceProlog-7" result="pass"/><test-case name="K2-DefaultNamespaceProlog-8" result="pass"/><test-case name="K2-DefaultNamespaceProlog-9" result="pass"/><test-case name="K2-DefaultNamespaceProlog-10" result="pass"/><test-case name="K2-DefaultNamespaceProlog-11" result="pass"/><test-case name="K2-DefaultNamespaceProlog-12" result="pass"/><test-case name="K2-DefaultNamespaceProlog-13" result="pass"/><test-case name="K2-DefaultNamespaceProlog-14" result="pass"/><test-case name="K2-DefaultNamespaceProlog-15" result="pass"/><test-case name="K2-DefaultNamespaceProlog-16" result="pass"/><test-case name="K2-DefaultNamespaceProlog-17" result="pass"/><test-case name="K2-DefaultNamespaceProlog-18" result="pass"/><test-case name="orderDecl-1" result="pass"/><test-case name="orderDecl-2" result="pass"/><test-case name="orderdecl-3" result="pass"/><test-case name="orderDecl-4" result="pass"/><test-case name="orderdecl-5" result="pass"/><test-case name="orderdecl-6" result="pass"/><test-case name="orderDecl-7" result="pass"/><test-case name="orderDecl-8" result="pass"/><test-case name="orderDecl-9" result="pass"/><test-case name="orderDecl-10" result="pass"/><test-case name="orderDecl-11" result="pass"/><test-case name="orderDecl-12" result="pass"/><test-case name="orderDecl-13" result="pass"/><test-case name="orderdecl-14" result="pass"/><test-case name="orderDecl-15" result="pass"/><test-case name="orderDecl-16" result="pass"/><test-case name="orderDecl-17" result="pass"/><test-case name="orderDecl-18" result="pass"/><test-case name="orderDecl-20" result="pass"/><test-case name="orderDecl-21" result="pass"/><test-case name="orderDecl-22" result="pass"/><test-case name="orderDecl-23" result="pass"/><test-case name="K-DefaultOrderingProlog-1" result="pass"/><test-case name="K-DefaultOrderingProlog-2" result="pass"/><test-case name="K-DefaultOrderingProlog-3" result="pass"/><test-case name="K2-DefaultOrderingProlog-1" result="pass"/><test-case name="K2-DefaultOrderingProlog-2" result="pass"/><test-case name="emptyorderdecl-1" result="pass"/><test-case name="emptyorderdecl-2" result="pass"/><test-case name="emptyorderdecl-3" result="pass"/><test-case name="emptyorderdecl-4" result="pass"/><test-case name="emptyorderdecl-5" result="pass"/><test-case name="emptyorderdecl-6" result="pass"/><test-case name="emptyorderdecl-7" result="pass"/><test-case name="emptyorderdecl-8" result="pass"/><test-case name="emptyorderdecl-9" result="pass"/><test-case name="emptyorderdecl-10" result="pass"/><test-case name="emptyorderdecl-11" result="pass"/><test-case name="emptyorderdecl-12" result="pass"/><test-case name="emptyorderdecl-13" result="pass"/><test-case name="emptyorderdecl-14" result="pass"/><test-case name="emptyorderdecl-15" result="pass"/><test-case name="emptyorderdecl-16" result="pass"/><test-case name="emptyorderdecl-17" result="pass"/><test-case name="emptyorderdecl-18" result="pass"/><test-case name="emptyorderdecl-19" result="pass"/><test-case name="emptyorderdecl-20" result="pass"/><test-case name="emptyorderdecl-21" result="pass"/><test-case name="emptyorderdecl-22" result="pass"/><test-case name="emptyorderdecl-23" result="pass"/><test-case name="emptyorderdecl-24" result="pass"/><test-case name="emptyorderdecl-25" result="pass"/><test-case name="emptyorderdecl-26" result="pass"/><test-case name="emptyorderdecl-27" result="pass"/><test-case name="emptyorderdecl-28" result="pass"/><test-case name="emptyorderdecl-29" result="pass"/><test-case name="K-EmptyOrderProlog-1" result="pass"/><test-case name="K-EmptyOrderProlog-2" result="pass"/><test-case name="K-EmptyOrderProlog-3" result="pass"/><test-case name="namespaceDecl-1" result="pass"/><test-case name="namespaceDecl-2" result="pass"/><test-case name="namespaceDecl-3" result="pass"/><test-case name="namespaceDecl-4" result="pass"/><test-case name="namespaceDecl-5" result="pass"/><test-case name="namespaceDecl-6" result="pass"/><test-case name="namespaceDecl-7" result="pass"/><test-case name="namespaceDecl-8" result="pass"/><test-case name="namespaceDecl-9" result="pass"/><test-case name="namespaceDecl-10" result="pass"/><test-case name="namespaceDecl-11" result="pass"/><test-case name="namespaceDecl-12" result="pass"/><test-case name="namespaceDecl-13" result="pass"/><test-case name="namespaceDecl-14" result="pass"/><test-case name="namespaceDecl-15" result="pass"/><test-case name="namespaceDecl-16" result="pass"/><test-case name="namespaceDecl-17" result="pass"/><test-case name="namespaceDecl-18" result="pass"/><test-case name="namespaceDecl-19" result="pass"/><test-case name="namespaceDecl-20" result="pass"/><test-case name="namespaceDecl-21" result="pass"/><test-case name="namespaceDecl-22" result="pass"/><test-case name="namespaceDecl-23" result="pass"/><test-case name="namespaceDecl-24" result="pass"/><test-case name="K-NamespaceProlog-1" result="pass"/><test-case name="K-NamespaceProlog-2" result="pass"/><test-case name="K-NamespaceProlog-3" result="pass"/><test-case name="K2-NamespaceProlog-1" result="pass"/><test-case name="K2-NamespaceProlog-2" result="pass"/><test-case name="K2-NamespaceProlog-3" result="pass"/><test-case name="K2-NamespaceProlog-4" result="pass"/><test-case name="K2-NamespaceProlog-5" result="pass"/><test-case name="K2-NamespaceProlog-6" result="pass"/><test-case name="K2-NamespaceProlog-7" result="pass"/><test-case name="K2-NamespaceProlog-8" result="pass"/><test-case name="K2-NamespaceProlog-9" result="pass"/><test-case name="K2-NamespaceProlog-10" result="pass"/><test-case name="K2-NamespaceProlog-11" result="pass"/><test-case name="K2-NamespaceProlog-12" result="pass"/><test-case name="K2-NamespaceProlog-13" result="pass"/><test-case name="K2-NamespaceProlog-14" result="pass"/><test-case name="K2-NamespaceProlog-15" result="pass"/><test-case name="K2-NamespaceProlog-16" result="pass"/><test-case name="extvardeclwithouttype-1" result="pass"/><test-case name="extvardeclwithouttype-2" result="pass"/><test-case name="extvardeclwithouttype-3" result="pass"/><test-case name="extvardeclwithouttype-4" result="pass"/><test-case name="extvardeclwithouttype-5" result="pass"/><test-case name="extvardeclwithouttype-6" result="pass"/><test-case name="extvardeclwithouttype-7" result="fail"/><test-case name="extvardeclwithouttype-8" result="pass"/><test-case name="extvardeclwithouttype-9" result="pass"/><test-case name="extvardeclwithouttype-10" result="pass"/><test-case name="extvardeclwithouttype-11" result="pass"/><test-case name="extvardeclwithouttype-12" result="pass"/><test-case name="extvardeclwithouttype-13" result="pass"/><test-case name="extvardeclwithouttype-14" result="pass"/><test-case name="extvardeclwithouttype-15" result="pass"/><test-case name="extvardeclwithouttype-16" result="pass"/><test-case name="extvardeclwithouttype-17" result="pass"/><test-case name="extvardeclwithouttype-18" result="fail"/><test-case name="extvardeclwithouttype-19" result="pass"/><test-case name="extvardeclwithouttype-20" result="pass"/><test-case name="extvardeclwithouttype-21" result="pass"/><test-case name="extvardeclwithouttype-22" result="pass"/><test-case name="extvardeclwithouttype-23" result="pass"/><test-case name="K2-ExternalVariablesWithout-1" result="pass"/><test-case name="K2-ExternalVariablesWithout-2" result="pass"/><test-case name="K2-ExternalVariablesWithout-3" result="pass"/><test-case name="K2-ExternalVariablesWithout-4" result="pass"/><test-case name="K2-ExternalVariablesWithout-5" result="pass"/><test-case name="K2-ExternalVariablesWithout-6" result="pass"/><test-case name="K2-ExternalVariablesWithout-7" result="pass"/><test-case name="K2-ExternalVariablesWithout-8" result="pass"/><test-case name="K2-ExternalVariablesWithout-9" result="pass"/><test-case name="K2-ExternalVariablesWithout-10" result="pass"/><test-case name="K2-ExternalVariablesWithout-11" result="pass"/><test-case name="K2-ExternalVariablesWithout-12" result="pass"/><test-case name="K2-ExternalVariablesWithout-13" result="pass"/><test-case name="K2-ExternalVariablesWithout-14" result="pass"/><test-case name="K2-ExternalVariablesWithout-15" result="pass"/><test-case name="K2-ExternalVariablesWithout-16" result="pass"/><test-case name="K2-ExternalVariablesWithout-17" result="pass"/><test-case name="K2-ExternalVariablesWithout-18" result="fail"/><test-case name="K2-ExternalVariablesWithout-19" result="pass"/><test-case name="K2-ExternalVariablesWithout-20" result="pass"/><test-case name="K2-ExternalVariablesWithout-21" result="pass"/><test-case name="K2-ExternalVariablesWithout-22" result="fail"/><test-case name="extvardeclwithtype-1" result="pass"/><test-case name="extvardeclwithtype-2" result="fail"/><test-case name="extvardeclwithtype-3" result="pass"/><test-case name="extvardeclwithtype-4" result="pass"/><test-case name="extvardeclwithtype-5" result="pass"/><test-case name="extvardeclwithtype-6" result="fail"/><test-case name="extvardeclwithtype-7" result="fail"/><test-case name="extvardeclwithtype-8" result="pass"/><test-case name="extvardeclwithtype-9" result="pass"/><test-case name="extvardeclwithtype-10" result="pass"/><test-case name="extvardeclwithtype-11" result="pass"/><test-case name="extvardeclwithtype-12" result="pass"/><test-case name="extvardeclwithtype-13" result="pass"/><test-case name="extvardeclwithtype-14" result="pass"/><test-case name="extvardeclwithtype-15" result="pass"/><test-case name="extvardeclwithtype-16" result="pass"/><test-case name="extvardeclwithtype-17" result="pass"/><test-case name="extvardeclwithtype-18" result="fail"/><test-case name="extvardeclwithtype-19" result="fail"/><test-case name="extvardeclwithtype-20" result="pass"/><test-case name="extvardeclwithtype-21" result="pass"/><test-case name="extvardeclwithtype-22" result="pass"/><test-case name="extvardeclwithtype-23" result="fail"/><test-case name="K2-ExternalVariablesWith-1" result="pass"/><test-case name="K2-ExternalVariablesWith-2" result="pass"/><test-case name="K2-ExternalVariablesWith-3" result="pass"/><test-case name="K2-ExternalVariablesWith-4" result="pass"/><test-case name="K2-ExternalVariablesWith-5" result="pass"/><test-case name="K2-ExternalVariablesWith-6" result="pass"/><test-case name="K2-ExternalVariablesWith-7" result="pass"/><test-case name="K2-ExternalVariablesWith-8" result="pass"/><test-case name="K2-ExternalVariablesWith-9" result="pass"/><test-case name="K2-ExternalVariablesWith-10" result="pass"/><test-case name="K2-ExternalVariablesWith-11" result="pass"/><test-case name="K2-ExternalVariablesWith-12" result="pass"/><test-case name="K2-ExternalVariablesWith-13" result="pass"/><test-case name="K2-ExternalVariablesWith-14" result="pass"/><test-case name="K2-ExternalVariablesWith-15" result="pass"/><test-case name="K2-ExternalVariablesWith-16" result="pass"/><test-case name="K2-ExternalVariablesWith-17" result="pass"/><test-case name="K2-ExternalVariablesWith-18" result="pass"/><test-case name="K2-ExternalVariablesWith-19" result="pass"/><test-case name="K2-ExternalVariablesWith-20" result="pass"/><test-case name="K2-ExternalVariablesWith-21" result="pass"/><test-case name="VarDecl001" result="pass"/><test-case name="VarDecl002" result="pass"/><test-case name="VarDecl003" result="pass"/><test-case name="VarDecl004" result="pass"/><test-case name="VarDecl005" result="pass"/><test-case name="VarDecl006" result="pass"/><test-case name="VarDecl007" result="pass"/><test-case name="VarDecl008" result="pass"/><test-case name="VarDecl009" result="pass"/><test-case name="VarDecl010" result="pass"/><test-case name="VarDecl011" result="pass"/><test-case name="VarDecl012" result="pass"/><test-case name="VarDecl013" result="pass"/><test-case name="VarDecl014" result="pass"/><test-case name="VarDecl015" result="pass"/><test-case name="VarDecl016" result="pass"/><test-case name="VarDecl017" result="pass"/><test-case name="VarDecl018" result="pass"/><test-case name="VarDecl019" result="pass"/><test-case name="VarDecl020" result="fail"/><test-case name="VarDecl021" result="pass"/><test-case name="VarDecl022" result="pass"/><test-case name="VarDecl023" result="pass"/><test-case name="VarDecl024" result="pass"/><test-case name="VarDecl025" result="pass"/><test-case name="VarDecl026" result="pass"/><test-case name="VarDecl027" result="pass"/><test-case name="VarDecl028" result="pass"/><test-case name="VarDecl029" result="pass"/><test-case name="VarDecl030" result="pass"/><test-case name="VarDecl031" result="pass"/><test-case name="VarDecl032" result="pass"/><test-case name="VarDecl033" result="pass"/><test-case name="VarDecl034" result="pass"/><test-case name="VarDecl035" result="pass"/><test-case name="VarDecl036" result="pass"/><test-case name="VarDecl037" result="pass"/><test-case name="VarDecl038" result="pass"/><test-case name="VarDecl039" result="pass"/><test-case name="VarDecl040" result="fail"/><test-case name="VarDecl041" result="pass"/><test-case name="VarDecl042" result="fail"/><test-case name="VarDecl043" result="pass"/><test-case name="VarDecl044" result="pass"/><test-case name="VarDecl045" result="pass"/><test-case name="VarDecl046" result="pass"/><test-case name="VarDecl047" result="pass"/><test-case name="VarDecl048" result="pass"/><test-case name="VarDecl049" result="pass"/><test-case name="VarDecl050" result="pass"/><test-case name="VarDecl051" result="pass"/><test-case name="VarDecl052" result="pass"/><test-case name="VarDecl053" result="pass"/><test-case name="VarDecl054" result="pass"/><test-case name="VarDecl055" result="pass"/><test-case name="VarDecl056" result="pass"/><test-case name="VarDecl057" result="pass"/><test-case name="VarDecl058" result="pass"/><test-case name="VarDecl059" result="pass"/><test-case name="VarDecl060" result="pass"/><test-case name="VarDecl061" result="pass"/><test-case name="VarDecl062" result="pass"/><test-case name="vardeclerr" result="pass"/><test-case name="internalvar-2" result="pass"/><test-case name="K2-InternalVariablesWithout-1" result="pass"/><test-case name="K2-InternalVariablesWithout-2" result="pass"/><test-case name="K2-InternalVariablesWithout-3" result="pass"/><test-case name="K2-InternalVariablesWithout-4" result="pass"/><test-case name="K2-InternalVariablesWithout-5" result="pass"/><test-case name="K2-InternalVariablesWithout-6" result="pass"/><test-case name="K2-InternalVariablesWithout-7" result="pass"/><test-case name="K2-InternalVariablesWithout-8" result="pass"/><test-case name="K2-InternalVariablesWithout-9" result="pass"/><test-case name="K2-InternalVariablesWithout-10" result="pass"/><test-case name="K2-InternalVariablesWithout-11" result="pass"/><test-case name="K2-InternalVariablesWithout-12" result="pass"/><test-case name="K2-InternalVariablesWithout-13" result="pass"/><test-case name="K2-InternalVariablesWithout-14" result="pass"/><test-case name="K2-InternalVariablesWithout-15" result="fail"/><test-case name="vardeclwithtype-1" result="pass"/><test-case name="vardeclwithtype-2" result="pass"/><test-case name="vardeclwithtype-3" result="pass"/><test-case name="vardeclwithtype-4" result="pass"/><test-case name="vardeclwithtype-5" result="pass"/><test-case name="vardeclwithtype-6" result="pass"/><test-case name="vardeclwithtype-7" result="pass"/><test-case name="vardeclwithtype-8" result="pass"/><test-case name="vardeclwithtype-9" result="pass"/><test-case name="vardeclwithtype-10" result="pass"/><test-case name="vardeclwithtype-11" result="pass"/><test-case name="vardeclwithtype-12" result="pass"/><test-case name="vardeclwithtype-13" result="pass"/><test-case name="vardeclwithtype-14" result="pass"/><test-case name="vardeclwithtype-15" result="pass"/><test-case name="vardeclwithtype-16" result="pass"/><test-case name="vardeclwithtype-17" result="pass"/><test-case name="vardeclwithtype-18" result="pass"/><test-case name="vardeclwithtype-19" result="pass"/><test-case name="vardeclwithtype-20" result="pass"/><test-case name="vardeclwithtype-21" result="pass"/><test-case name="vardeclwithtype-22" result="pass"/><test-case name="internalvar-1" result="pass"/><test-case name="K-InternalVariablesWith-1" result="pass"/><test-case name="K-InternalVariablesWith-2" result="pass"/><test-case name="K-InternalVariablesWith-3" result="pass"/><test-case name="K-InternalVariablesWith-4" result="pass"/><test-case name="K-InternalVariablesWith-5" result="pass"/><test-case name="K-InternalVariablesWith-6" result="pass"/><test-case name="K-InternalVariablesWith-7" result="pass"/><test-case name="K-InternalVariablesWith-8" result="pass"/><test-case name="K-InternalVariablesWith-9" result="pass"/><test-case name="K-InternalVariablesWith-10" result="pass"/><test-case name="K-InternalVariablesWith-11" result="pass"/><test-case name="K-InternalVariablesWith-12" result="pass"/><test-case name="K-InternalVariablesWith-13" result="pass"/><test-case name="K-InternalVariablesWith-14" result="pass"/><test-case name="K-InternalVariablesWith-15" result="pass"/><test-case name="K-InternalVariablesWith-16" result="pass"/><test-case name="K-InternalVariablesWith-17" result="pass"/><test-case name="K-InternalVariablesWith-18" result="pass"/><test-case name="K-InternalVariablesWith-19" result="pass"/><test-case name="K-InternalVariablesWith-20" result="pass"/><test-case name="K2-InternalVariablesWith-1" result="pass"/><test-case name="function-declaration-001" result="pass"/><test-case name="function-declaration-002" result="pass"/><test-case name="function-declaration-003" result="pass"/><test-case name="function-declaration-004" result="pass"/><test-case name="function-declaration-005" result="pass"/><test-case name="function-declaration-006" result="pass"/><test-case name="function-declaration-007" result="pass"/><test-case name="function-declaration-008" result="pass"/><test-case name="function-declaration-009" result="pass"/><test-case name="function-declaration-010" result="pass"/><test-case name="function-declaration-011" result="pass"/><test-case name="function-declaration-012" result="pass"/><test-case name="function-declaration-013" result="pass"/><test-case name="function-declaration-014" result="pass"/><test-case name="function-declaration-015" result="pass"/><test-case name="function-declaration-016" result="pass"/><test-case name="function-declaration-017" result="pass"/><test-case name="function-declaration-018" result="pass"/><test-case name="function-declaration-019" result="pass"/><test-case name="function-declaration-020" result="pass"/><test-case name="function-declaration-021" result="pass"/><test-case name="function-declaration-022" result="pass"/><test-case name="function-declaration-023" result="pass"/><test-case name="function-declaration-024" result="pass"/><test-case name="function-declaration-025" result="pass"/><test-case name="function-declaration-026" result="fail"/><test-case name="K-FunctionProlog-1" result="pass"/><test-case name="K-FunctionProlog-2" result="pass"/><test-case name="K-FunctionProlog-3" result="pass"/><test-case name="K-FunctionProlog-4" result="pass"/><test-case name="K-FunctionProlog-5" result="pass"/><test-case name="K-FunctionProlog-6" result="pass"/><test-case name="K-FunctionProlog-7" result="pass"/><test-case name="K-FunctionProlog-8" result="pass"/><test-case name="K-FunctionProlog-9" result="pass"/><test-case name="K-FunctionProlog-10" result="pass"/><test-case name="K-FunctionProlog-11" result="pass"/><test-case name="K-FunctionProlog-12" result="pass"/><test-case name="K-FunctionProlog-13" result="pass"/><test-case name="K-FunctionProlog-14" result="pass"/><test-case name="K-FunctionProlog-15" result="pass"/><test-case name="K-FunctionProlog-16" result="pass"/><test-case name="K-FunctionProlog-17" result="pass"/><test-case name="K-FunctionProlog-18" result="pass"/><test-case name="K-FunctionProlog-19" result="pass"/><test-case name="K-FunctionProlog-20" result="pass"/><test-case name="K-FunctionProlog-21" result="pass"/><test-case name="K-FunctionProlog-22" result="pass"/><test-case name="K-FunctionProlog-23" result="pass"/><test-case name="K-FunctionProlog-24" result="pass"/><test-case name="K-FunctionProlog-25" result="pass"/><test-case name="K-FunctionProlog-26" result="pass"/><test-case name="K-FunctionProlog-27" result="pass"/><test-case name="K-FunctionProlog-28" result="pass"/><test-case name="K-FunctionProlog-29" result="pass"/><test-case name="K-FunctionProlog-30" result="pass"/><test-case name="K-FunctionProlog-31" result="pass"/><test-case name="K-FunctionProlog-32" result="pass"/><test-case name="K-FunctionProlog-33" result="pass"/><test-case name="K-FunctionProlog-34" result="pass"/><test-case name="K-FunctionProlog-35" result="pass"/><test-case name="K-FunctionProlog-36" result="pass"/><test-case name="K-FunctionProlog-37" result="pass"/><test-case name="K-FunctionProlog-38" result="pass"/><test-case name="K-FunctionProlog-39" result="pass"/><test-case name="K-FunctionProlog-40" result="pass"/><test-case name="K-FunctionProlog-41" result="pass"/><test-case name="K-FunctionProlog-42" result="pass"/><test-case name="K-FunctionProlog-43" result="pass"/><test-case name="K-FunctionProlog-44" result="pass"/><test-case name="K-FunctionProlog-45" result="pass"/><test-case name="K-FunctionProlog-46" result="pass"/><test-case name="K-FunctionProlog-47" result="pass"/><test-case name="K-FunctionProlog-48" result="pass"/><test-case name="K-FunctionProlog-49" result="pass"/><test-case name="K-FunctionProlog-50" result="pass"/><test-case name="K-FunctionProlog-51" result="pass"/><test-case name="K-FunctionProlog-52" result="pass"/><test-case name="K-FunctionProlog-53" result="pass"/><test-case name="K-FunctionProlog-54" result="pass"/><test-case name="K-FunctionProlog-55" result="pass"/><test-case name="K-FunctionProlog-56" result="pass"/><test-case name="K-FunctionProlog-57" result="pass"/><test-case name="K-FunctionProlog-58" result="pass"/><test-case name="K-FunctionProlog-59" result="pass"/><test-case name="K-FunctionProlog-60" result="pass"/><test-case name="K-FunctionProlog-61" result="pass"/><test-case name="K-FunctionProlog-62" result="pass"/><test-case name="K-FunctionProlog-63" result="pass"/><test-case name="K-FunctionProlog-64" result="pass"/><test-case name="K-FunctionProlog-65" result="pass"/><test-case name="K-FunctionProlog-66" result="pass"/><test-case name="K-FunctionProlog-67" result="pass"/><test-case name="K-FunctionProlog-68" result="pass"/><test-case name="K2-FunctionProlog-1" result="pass"/><test-case name="K2-FunctionProlog-2" result="pass"/><test-case name="K2-FunctionProlog-3" result="pass"/><test-case name="K2-FunctionProlog-4" result="pass"/><test-case name="K2-FunctionProlog-5" result="pass"/><test-case name="K2-FunctionProlog-6" result="pass"/><test-case name="K2-FunctionProlog-7" result="pass"/><test-case name="K2-FunctionProlog-8" result="pass"/><test-case name="K2-FunctionProlog-9" result="pass"/><test-case name="K2-FunctionProlog-10" result="pass"/><test-case name="K2-FunctionProlog-11" result="pass"/><test-case name="K2-FunctionProlog-12" result="pass"/><test-case name="K2-FunctionProlog-13" result="pass"/><test-case name="K2-FunctionProlog-14" result="pass"/><test-case name="K2-FunctionProlog-15" result="pass"/><test-case name="K2-FunctionProlog-16" result="pass"/><test-case name="K2-FunctionProlog-17" result="pass"/><test-case name="K2-FunctionProlog-18" result="pass"/><test-case name="K2-FunctionProlog-19" result="pass"/><test-case name="K2-FunctionProlog-20" result="pass"/><test-case name="K2-FunctionProlog-21" result="pass"/><test-case name="K2-FunctionProlog-22" result="pass"/><test-case name="K2-FunctionProlog-23" result="pass"/><test-case name="K2-FunctionProlog-24" result="fail"/><test-case name="K2-FunctionProlog-25" result="pass"/><test-case name="K2-FunctionProlog-26" result="pass"/><test-case name="K2-FunctionProlog-27" result="pass"/><test-case name="K2-FunctionProlog-28" result="pass"/><test-case name="K2-FunctionProlog-29" result="pass"/><test-case name="K2-FunctionProlog-30" result="pass"/><test-case name="K2-FunctionProlog-31" result="pass"/><test-case name="K2-FunctionProlog-32" result="pass"/><test-case name="K2-FunctionProlog-33" result="pass"/><test-case name="K2-FunctionProlog-34" result="pass"/><test-case name="K2-FunctionProlog-35" result="pass"/><test-case name="K2-FunctionProlog-36" result="pass"/><test-case name="K2-FunctionProlog-37" result="pass"/><test-case name="K2-FunctionProlog-38" result="pass"/><test-case name="K2-FunctionProlog-39" result="pass"/><test-case name="K2-FunctionProlog-40" result="pass"/><test-case name="optiondeclprolog-1" result="pass"/><test-case name="optiondeclprolog-2" result="pass"/><test-case name="K-OptionDeclarationProlog-1" result="pass"/><test-case name="K-OptionDeclarationProlog-2" result="pass"/><test-case name="K-OptionDeclarationProlog-3" result="pass"/><test-case name="K-OptionDeclarationProlog-4" result="pass"/><test-case name="K-OptionDeclarationProlog-5" result="pass"/><test-case name="K-OptionDeclarationProlog-6" result="pass"/><test-case name="XQueryComment001" result="pass"/><test-case name="XQueryComment002" result="pass"/><test-case name="XQueryComment003" result="pass"/><test-case name="XQueryComment004" result="pass"/><test-case name="XQueryComment005" result="pass"/><test-case name="XQueryComment006" result="pass"/><test-case name="XQueryComment007" result="pass"/><test-case name="XQueryComment008" result="pass"/><test-case name="XQueryComment009" result="pass"/><test-case name="XQueryComment010" result="pass"/><test-case name="XQueryComment011" result="pass"/><test-case name="XQueryComment012" result="pass"/><test-case name="XQueryComment013" result="pass"/><test-case name="XQueryComment014" result="pass"/><test-case name="XQueryComment015" result="pass"/><test-case name="XQueryComment016" result="pass"/><test-case name="XQueryComment017" result="pass"/><test-case name="XQueryComment018" result="pass"/><test-case name="XQueryComment019" result="pass"/><test-case name="XQueryComment020" result="pass"/><test-case name="K-XQueryComment-1" result="pass"/><test-case name="K-XQueryComment-2" result="pass"/><test-case name="K-XQueryComment-3" result="pass"/><test-case name="K-XQueryComment-4" result="pass"/><test-case name="K-XQueryComment-5" result="pass"/><test-case name="K-XQueryComment-6" result="pass"/><test-case name="K-XQueryComment-7" result="pass"/><test-case name="K-XQueryComment-8" result="pass"/><test-case name="K-XQueryComment-9" result="pass"/><test-case name="K-XQueryComment-10" result="pass"/><test-case name="K-XQueryComment-11" result="pass"/><test-case name="K-XQueryComment-12" result="pass"/><test-case name="K-XQueryComment-13" result="pass"/><test-case name="K-XQueryComment-14" result="pass"/><test-case name="K-XQueryComment-15" result="pass"/><test-case name="K-XQueryComment-16" result="pass"/><test-case name="K-XQueryComment-17" result="pass"/><test-case name="K-XQueryComment-18" result="pass"/><test-case name="K-XQueryComment-19" result="pass"/><test-case name="K-XQueryComment-20" result="pass"/><test-case name="K2-XQueryComment-1" result="pass"/><test-case name="K2-XQueryComment-2" result="pass"/><test-case name="K2-XQueryComment-3" result="pass"/><test-case name="K2-XQueryComment-4" result="pass"/><test-case name="K2-XQueryComment-5" result="pass"/><test-case name="extexpr-1" result="pass"/><test-case name="extexpr-2" result="pass"/><test-case name="extexpr-3" result="pass"/><test-case name="extexpr-4" result="pass"/><test-case name="extexpr-5" result="pass"/><test-case name="extexpr-6" result="pass"/><test-case name="extexpr-7" result="pass"/><test-case name="extexpr-8" result="pass"/><test-case name="extexpr-9" result="pass"/><test-case name="extexpr-10" result="pass"/><test-case name="extexpr-11" result="pass"/><test-case name="extexpr-12" result="pass"/><test-case name="extexpr-13" result="pass"/><test-case name="extexpr-14" result="pass"/><test-case name="extexpr-15" result="pass"/><test-case name="extexpr-16" result="pass"/><test-case name="extexpr-17" result="pass"/><test-case name="extexpr-18" result="pass"/><test-case name="extexpr-19" result="pass"/><test-case name="extexpr-20" result="pass"/><test-case name="extexpr-21" result="pass"/><test-case name="extexpr-22" result="pass"/><test-case name="extexpr-23" result="pass"/><test-case name="extexpr-24" result="pass"/><test-case name="extexpr-25" result="pass"/><test-case name="extexpr-26" result="pass"/><test-case name="K-ExtensionExpression-1" result="pass"/><test-case name="K-ExtensionExpression-2" result="pass"/><test-case name="K-ExtensionExpression-3" result="pass"/><test-case name="K-ExtensionExpression-4" result="pass"/><test-case name="K-ExtensionExpression-5" result="pass"/><test-case name="K-ExtensionExpression-6" result="pass"/><test-case name="K-ExtensionExpression-7" result="pass"/><test-case name="K-ExtensionExpression-8" result="pass"/><test-case name="K2-ExtensionExpression-1" result="pass"/><test-case name="K2-ExtensionExpression-2" result="pass"/><test-case name="K2-ExtensionExpression-3" result="pass"/><test-case name="K2-ExtensionExpression-4" result="pass"/><test-case name="K2-ExtensionExpression-5" result="pass"/><test-case name="K2-ExtensionExpression-6" result="pass"/><test-case name="K2-ExtensionExpression-7" result="pass"/><test-case name="K2-ExtensionExpression-8" result="pass"/><test-case name="K2-ExtensionExpression-9" result="pass"/><test-case name="K2-ExtensionExpression-10" result="pass"/><test-case name="K2-ExtensionExpression-11" result="pass"/><test-case name="K2-ExtensionExpression-12" result="pass"/><test-case name="K2-ExtensionExpression-13" result="pass"/><test-case name="K2-ExtensionExpression-14" result="pass"/><test-case name="K2-ExtensionExpression-15" result="pass"/><test-case name="K2-ExtensionExpression-16" result="pass"/><test-case name="K2-ExtensionExpression-17" result="pass"/><test-case name="fn-node-name-1" result="pass"/><test-case name="fn-node-name-2" result="pass"/><test-case name="fn-node-name-3" result="pass"/><test-case name="fn-node-name-4" result="pass"/><test-case name="fn-node-name-5" result="pass"/><test-case name="fn-node-name-6" result="pass"/><test-case name="fn-node-name-7" result="pass"/><test-case name="fn-node-name-8" result="pass"/><test-case name="fn-node-name-9" result="pass"/><test-case name="fn-node-name-10" result="pass"/><test-case name="fn-node-name-11" result="pass"/><test-case name="fn-node-name-12" result="pass"/><test-case name="fn-node-name-13" result="pass"/><test-case name="fn-node-name-14" result="pass"/><test-case name="fn-node-name-15" result="pass"/><test-case name="fn-node-name-16" result="pass"/><test-case name="fn-node-name-17" result="pass"/><test-case name="fn-node-name-18" result="pass"/><test-case name="fn-node-name-19" result="pass"/><test-case name="fn-node-name-20" result="pass"/><test-case name="fn-node-name-21" result="pass"/><test-case name="fn-node-name-22" result="pass"/><test-case name="fn-node-name-23" result="pass"/><test-case name="fn-node-name-24" result="pass"/><test-case name="K-NodeNameFunc-1" result="pass"/><test-case name="K-NodeNameFunc-2" result="pass"/><test-case name="K-NodeNameFunc-3" result="pass"/><test-case name="K2-NodeNameFunc-1" result="pass"/><test-case name="K2-NodeNameFunc-2" result="pass"/><test-case name="K2-NodeNameFunc-3" result="pass"/><test-case name="fn-nilled-1" result="pass"/><test-case name="fn-nilled-2" result="pass"/><test-case name="fn-nilled-3" result="pass"/><test-case name="fn-nilled-4" result="pass"/><test-case name="fn-nilled-5" result="pass"/><test-case name="fn-nilled-6" result="pass"/><test-case name="fn-nilled-7" result="pass"/><test-case name="fn-nilled-8" result="pass"/><test-case name="fn-nilled-9" result="pass"/><test-case name="fn-nilled-10" result="pass"/><test-case name="fn-nilled-11" result="pass"/><test-case name="fn-nilled-12" result="pass"/><test-case name="fn-nilled-13" result="pass"/><test-case name="fn-nilled-14" result="pass"/><test-case name="fn-nilled-15" result="pass"/><test-case name="fn-nilled-16" result="pass"/><test-case name="fn-nilled-17" result="pass"/><test-case name="fn-nilled-18" result="pass"/><test-case name="fn-nilled-19" result="pass"/><test-case name="fn-nilled-20" result="pass"/><test-case name="fn-nilled-21" result="pass"/><test-case name="fn-nilled-22" result="pass"/><test-case name="K-NilledFunc-1" result="pass"/><test-case name="K-NilledFunc-2" result="pass"/><test-case name="K-NilledFunc-3" result="pass"/><test-case name="K-NilledFunc-4" result="pass"/><test-case name="fn-stringint1args-1" result="pass"/><test-case name="fn-stringint1args-2" result="pass"/><test-case name="fn-stringint1args-3" result="pass"/><test-case name="fn-stringintg1args-1" result="pass"/><test-case name="fn-stringintg1args-2" result="pass"/><test-case name="fn-stringintg1args-3" result="pass"/><test-case name="fn-stringdec1args-1" result="fail"/><test-case name="fn-stringdec1args-2" result="fail"/><test-case name="fn-stringdec1args-3" result="fail"/><test-case name="fn-stringdbl1args-1" result="pass"/><test-case name="fn-stringdbl1args-2" result="pass"/><test-case name="fn-stringdbl1args-3" result="pass"/><test-case name="fn-stringflt1args-1" result="pass"/><test-case name="fn-stringflt1args-2" result="pass"/><test-case name="fn-stringflt1args-3" result="pass"/><test-case name="fn-stringlng1args-1" result="pass"/><test-case name="fn-stringlng1args-2" result="pass"/><test-case name="fn-stringlng1args-3" result="pass"/><test-case name="fn-stringusht1args-1" result="pass"/><test-case name="fn-stringusht1args-2" result="pass"/><test-case name="fn-stringusht1args-3" result="pass"/><test-case name="fn-stringnint1args-1" result="pass"/><test-case name="fn-stringnint1args-2" result="pass"/><test-case name="fn-stringnint1args-3" result="pass"/><test-case name="fn-stringpint1args-1" result="pass"/><test-case name="fn-stringpint1args-2" result="pass"/><test-case name="fn-stringpint1args-3" result="pass"/><test-case name="fn-stringulng1args-1" result="pass"/><test-case name="fn-stringulng1args-2" result="pass"/><test-case name="fn-stringulng1args-3" result="pass"/><test-case name="fn-stringnpi1args-1" result="pass"/><test-case name="fn-stringnpi1args-2" result="pass"/><test-case name="fn-stringnpi1args-3" result="pass"/><test-case name="fn-stringnni1args-1" result="pass"/><test-case name="fn-stringnni1args-2" result="pass"/><test-case name="fn-stringnni1args-3" result="pass"/><test-case name="fn-stringsht1args-1" result="pass"/><test-case name="fn-stringsht1args-2" result="pass"/><test-case name="fn-stringsht1args-3" result="pass"/><test-case name="fn-string-1" result="pass"/><test-case name="fn-string-2" result="pass"/><test-case name="fn-string-3" result="pass"/><test-case name="K-StringFunc-1" result="pass"/><test-case name="K-StringFunc-2" result="pass"/><test-case name="K-StringFunc-3" result="pass"/><test-case name="K-StringFunc-4" result="pass"/><test-case name="K-StringFunc-5" result="pass"/><test-case name="K-StringFunc-6" result="pass"/><test-case name="fn-dataint1args-1" result="pass"/><test-case name="fn-dataint1args-2" result="pass"/><test-case name="fn-dataint1args-3" result="pass"/><test-case name="fn-dataintg1args-1" result="pass"/><test-case name="fn-dataintg1args-2" result="pass"/><test-case name="fn-dataintg1args-3" result="pass"/><test-case name="fn-datadec1args-1" result="fail"/><test-case name="fn-datadec1args-2" result="fail"/><test-case name="fn-datadec1args-3" result="fail"/><test-case name="fn-datadbl1args-1" result="pass"/><test-case name="fn-datadbl1args-2" result="pass"/><test-case name="fn-datadbl1args-3" result="pass"/><test-case name="fn-dataflt1args-1" result="pass"/><test-case name="fn-dataflt1args-2" result="pass"/><test-case name="fn-dataflt1args-3" result="pass"/><test-case name="fn-datalng1args-1" result="pass"/><test-case name="fn-datalng1args-2" result="pass"/><test-case name="fn-datalng1args-3" result="pass"/><test-case name="fn-datausht1args-1" result="pass"/><test-case name="fn-datausht1args-2" result="pass"/><test-case name="fn-datausht1args-3" result="pass"/><test-case name="fn-datanint1args-1" result="pass"/><test-case name="fn-datanint1args-2" result="pass"/><test-case name="fn-datanint1args-3" result="pass"/><test-case name="fn-datapint1args-1" result="pass"/><test-case name="fn-datapint1args-2" result="pass"/><test-case name="fn-datapint1args-3" result="pass"/><test-case name="fn-dataulng1args-1" result="pass"/><test-case name="fn-dataulng1args-2" result="pass"/><test-case name="fn-dataulng1args-3" result="pass"/><test-case name="fn-datanpi1args-1" result="pass"/><test-case name="fn-datanpi1args-2" result="pass"/><test-case name="fn-datanpi1args-3" result="pass"/><test-case name="fn-datanni1args-1" result="pass"/><test-case name="fn-datanni1args-2" result="pass"/><test-case name="fn-datanni1args-3" result="pass"/><test-case name="fn-datasht1args-1" result="pass"/><test-case name="fn-datasht1args-2" result="pass"/><test-case name="fn-datasht1args-3" result="pass"/><test-case name="K-DataFunc-1" result="pass"/><test-case name="K-DataFunc-2" result="pass"/><test-case name="K-DataFunc-3" result="pass"/><test-case name="K-DataFunc-4" result="pass"/><test-case name="K2-DataFunc-1" result="pass"/><test-case name="K2-DataFunc-2" result="pass"/><test-case name="fn-base-uri-1" result="pass"/><test-case name="fn-base-uri-2" result="pass"/><test-case name="fn-base-uri-3" result="pass"/><test-case name="fn-base-uri-4" result="pass"/><test-case name="fn-base-uri-5" result="pass"/><test-case name="fn-base-uri-6" result="pass"/><test-case name="fn-base-uri-7" result="pass"/><test-case name="fn-base-uri-8" result="pass"/><test-case name="fn-base-uri-9" result="pass"/><test-case name="fn-base-uri-10" result="pass"/><test-case name="fn-base-uri-11" result="pass"/><test-case name="fn-base-uri-12" result="pass"/><test-case name="fn-base-uri-13" result="pass"/><test-case name="fn-base-uri-14" result="pass"/><test-case name="fn-base-uri-15" result="pass"/><test-case name="fn-base-uri-16" result="pass"/><test-case name="fn-base-uri-17" result="pass"/><test-case name="fn-base-uri-18" result="pass"/><test-case name="fn-base-uri-19" result="pass"/><test-case name="fn-base-uri-20" result="pass"/><test-case name="fn-base-uri-21" result="pass"/><test-case name="fn-base-uri-22" result="pass"/><test-case name="fn-base-uri-23" result="pass"/><test-case name="K-BaseURIFunc-1" result="pass"/><test-case name="K-BaseURIFunc-2" result="pass"/><test-case name="K2-BaseURIFunc-1" result="pass"/><test-case name="K2-BaseURIFunc-2" result="pass"/><test-case name="K2-BaseURIFunc-3" result="pass"/><test-case name="K2-BaseURIFunc-4" result="pass"/><test-case name="K2-BaseURIFunc-5" result="pass"/><test-case name="K2-BaseURIFunc-6" result="pass"/><test-case name="K2-BaseURIFunc-7" result="pass"/><test-case name="K2-BaseURIFunc-8" result="pass"/><test-case name="K2-BaseURIFunc-9" result="pass"/><test-case name="K2-BaseURIFunc-10" result="pass"/><test-case name="K2-BaseURIFunc-11" result="pass"/><test-case name="K2-BaseURIFunc-12" result="pass"/><test-case name="K2-BaseURIFunc-13" result="pass"/><test-case name="K2-BaseURIFunc-14" result="pass"/><test-case name="K2-BaseURIFunc-15" result="pass"/><test-case name="K2-BaseURIFunc-16" result="pass"/><test-case name="K2-BaseURIFunc-17" result="pass"/><test-case name="K2-BaseURIFunc-18" result="pass"/><test-case name="K2-BaseURIFunc-19" result="pass"/><test-case name="K2-BaseURIFunc-20" result="pass"/><test-case name="K2-BaseURIFunc-21" result="pass"/><test-case name="K2-BaseURIFunc-22" result="pass"/><test-case name="K2-BaseURIFunc-23" result="pass"/><test-case name="K2-BaseURIFunc-24" result="pass"/><test-case name="K2-BaseURIFunc-25" result="pass"/><test-case name="K2-BaseURIFunc-26" result="pass"/><test-case name="K2-BaseURIFunc-27" result="pass"/><test-case name="K2-BaseURIFunc-28" result="pass"/><test-case name="K2-BaseURIFunc-29" result="pass"/><test-case name="K2-BaseURIFunc-30" result="fail"/><test-case name="K2-BaseURIFunc-31" result="pass"/><test-case name="K2-BaseURIFunc-32" result="pass"/><test-case name="K2-BaseURIFunc-33" result="pass"/><test-case name="fn-static-base-1" result="pass"/><test-case name="fn-static-base-2" result="pass"/><test-case name="fn-static-base-3" result="pass"/><test-case name="fn-static-base-4" result="pass"/><test-case name="fn-static-base-5" result="pass"/><test-case name="fn-static-base-6" result="pass"/><test-case name="fn-static-base-7" result="pass"/><test-case name="fn-static-base-8" result="pass"/><test-case name="fn-static-base-9" result="pass"/><test-case name="fn-static-base-10" result="pass"/><test-case name="fn-static-base-11" result="pass"/><test-case name="fn-static-base-12" result="pass"/><test-case name="fn-static-base-13" result="pass"/><test-case name="fn-static-base-14" result="pass"/><test-case name="K-StaticBaseURIFunc-1" result="pass"/><test-case name="K-StaticBaseURIFunc-2" result="pass"/><test-case name="K-StaticBaseURIFunc-3" result="pass"/><test-case name="fn-document-uri-1" result="pass"/><test-case name="fn-document-uri-2" result="pass"/><test-case name="fn-document-uri-3" result="pass"/><test-case name="fn-document-uri-4" result="pass"/><test-case name="fn-document-uri-5" result="pass"/><test-case name="fn-document-uri-6" result="pass"/><test-case name="fn-document-uri-7" result="pass"/><test-case name="fn-document-uri-8" result="pass"/><test-case name="fn-document-uri-9" result="pass"/><test-case name="fn-document-uri-10" result="pass"/><test-case name="fn-document-uri-11" result="pass"/><test-case name="fn-document-uri-12" result="pass"/><test-case name="fn-document-uri-13" result="pass"/><test-case name="fn-document-uri-14" result="pass"/><test-case name="fn-document-uri-15" result="pass"/><test-case name="fn-document-uri-16" result="pass"/><test-case name="fn-document-uri-17" result="pass"/><test-case name="fn-document-uri-18" result="pass"/><test-case name="fn-document-uri-19" result="pass"/><test-case name="fn-document-uri-20" result="pass"/><test-case name="fn-document-uri-21" result="pass"/><test-case name="K-DocumentURIFunc-1" result="pass"/><test-case name="K-DocumentURIFunc-2" result="pass"/><test-case name="K-DocumentURIFunc-3" result="pass"/><test-case name="K2-DocumentURIFunc-1" result="pass"/><test-case name="K2-DocumentURIFunc-2" result="pass"/><test-case name="K2-DocumentURIFunc-3" result="pass"/><test-case name="K2-DocumentURIFunc-4" result="pass"/><test-case name="K2-DocumentURIFunc-5" result="pass"/><test-case name="K2-DocumentURIFunc-6" result="pass"/><test-case name="K2-DocumentURIFunc-7" result="pass"/><test-case name="K2-DocumentURIFunc-8" result="pass"/><test-case name="K2-DocumentURIFunc-9" result="pass"/><test-case name="K2-DocumentURIFunc-10" result="pass"/><test-case name="K2-DocumentURIFunc-11" result="pass"/><test-case name="fn-error-1" result="pass"/><test-case name="fn-error-2" result="pass"/><test-case name="fn-error-3" result="pass"/><test-case name="fn-error-4" result="pass"/><test-case name="fn-error-5" result="pass"/><test-case name="fn-error-6" result="pass"/><test-case name="fn-error-7" result="pass"/><test-case name="fn-error-8" result="pass"/><test-case name="fn-error-9" result="pass"/><test-case name="fn-error-10" result="pass"/><test-case name="fn-error-11" result="pass"/><test-case name="fn-error-12" result="pass"/><test-case name="fn-error-13" result="pass"/><test-case name="fn-error-14" result="pass"/><test-case name="fn-error-15" result="pass"/><test-case name="fn-error-16" result="pass"/><test-case name="fn-error-17" result="pass"/><test-case name="fn-error-18" result="pass"/><test-case name="fn-error-19" result="pass"/><test-case name="fn-error-20" result="pass"/><test-case name="fn-error-22" result="pass"/><test-case name="fn-error-23" result="pass"/><test-case name="fn-error-25" result="pass"/><test-case name="fn-error-26" result="pass"/><test-case name="fn-error-27" result="pass"/><test-case name="fn-error-28" result="pass"/><test-case name="fn-error-29" result="pass"/><test-case name="fn-error-30" result="pass"/><test-case name="fn-error-31" result="pass"/><test-case name="fn-error-32" result="pass"/><test-case name="fn-error-33" result="pass"/><test-case name="fn-error-34" result="pass"/><test-case name="fn-error-35" result="pass"/><test-case name="fn-error-36" result="pass"/><test-case name="fn-error-37" result="pass"/><test-case name="fn-error-38" result="pass"/><test-case name="fn-error-39" result="pass"/><test-case name="fn-error-40" result="pass"/><test-case name="fn-error-41" result="pass"/><test-case name="fn-error-42" result="pass"/><test-case name="fn-error-43" result="pass"/><test-case name="fn-error-44" result="pass"/><test-case name="fn-error-45" result="pass"/><test-case name="fn-error-46" result="pass"/><test-case name="fn-error-47" result="pass"/><test-case name="fn-error-48" result="pass"/><test-case name="fn-error-49" result="pass"/><test-case name="fn-error-50" result="pass"/><test-case name="fn-error-51" result="pass"/><test-case name="K-ErrorFunc-1" result="pass"/><test-case name="K-ErrorFunc-2" result="pass"/><test-case name="K-ErrorFunc-3" result="pass"/><test-case name="K-ErrorFunc-4" result="pass"/><test-case name="K-ErrorFunc-5" result="pass"/><test-case name="K-ErrorFunc-6" result="pass"/><test-case name="K-ErrorFunc-7" result="pass"/><test-case name="K-ErrorFunc-8" result="pass"/><test-case name="K-ErrorFunc-9" result="pass"/><test-case name="K-ErrorFunc-10" result="pass"/><test-case name="K2-ErrorFunc-1" result="pass"/><test-case name="K2-ErrorFunc-2" result="pass"/><test-case name="K2-ErrorFunc-3" result="pass"/><test-case name="fn-trace-1" result="pass"/><test-case name="fn-trace-2" result="pass"/><test-case name="fn-trace-3" result="pass"/><test-case name="fn-trace-4" result="pass"/><test-case name="fn-trace-5" result="pass"/><test-case name="fn-trace-6" result="pass"/><test-case name="fn-trace-7" result="pass"/><test-case name="fn-trace-8" result="pass"/><test-case name="fn-trace-9" result="pass"/><test-case name="fn-trace-10" result="pass"/><test-case name="fn-trace-11" result="pass"/><test-case name="fn-trace-12" result="pass"/><test-case name="fn-trace-13" result="pass"/><test-case name="fn-trace-14" result="pass"/><test-case name="fn-trace-15" result="pass"/><test-case name="fn-trace-16" result="pass"/><test-case name="fn-trace-17" result="pass"/><test-case name="fn-trace-18" result="pass"/><test-case name="fn-trace-19" result="pass"/><test-case name="fn-trace-20" result="pass"/><test-case name="fn-trace-21" result="pass"/><test-case name="K-TraceFunc-1" result="pass"/><test-case name="K-TraceFunc-2" result="pass"/><test-case name="K-TraceFunc-3" result="pass"/><test-case name="K-TraceFunc-4" result="pass"/><test-case name="K-TraceFunc-5" result="pass"/><test-case name="K-TraceFunc-6" result="pass"/><test-case name="fn-dateTime-1" result="pass"/><test-case name="fn-dateTime-2" result="pass"/><test-case name="fn-dateTime-3" result="pass"/><test-case name="fn-dateTime-4" result="pass"/><test-case name="fn-dateTime-5" result="pass"/><test-case name="fn-dateTime-6" result="pass"/><test-case name="fn-dateTime-7" result="pass"/><test-case name="fn-dateTime-8" result="pass"/><test-case name="fn-dateTime-9" result="pass"/><test-case name="fn-dateTime-10" result="pass"/><test-case name="fn-dateTime-11" result="pass"/><test-case name="fn-dateTime-12" result="pass"/><test-case name="fn-dateTime-13" result="pass"/><test-case name="fn-dateTime-14" result="pass"/><test-case name="fn-dateTime-15" result="pass"/><test-case name="fn-dateTime-16" result="pass"/><test-case name="fn-dateTime-17" result="pass"/><test-case name="fn-dateTime-18" result="pass"/><test-case name="fn-dateTime-19" result="pass"/><test-case name="fn-dateTime-20" result="pass"/><test-case name="fn-dateTime-21" result="pass"/><test-case name="fn-dateTime-22" result="pass"/><test-case name="fn-dateTime-23" result="pass"/><test-case name="fn-dateTime-24" result="fail"/><test-case name="fn-dateTime-25" result="fail"/><test-case name="fn-dateTime-26" result="fail"/><test-case name="fn-dateTime-27" result="fail"/><test-case name="fn-dateTime-28" result="pass"/><test-case name="fn-dateTime-29" result="pass"/><test-case name="fn-dateTime-30" result="pass"/><test-case name="forg0008-1" result="pass"/><test-case name="K-DateTimeFunc-1" result="pass"/><test-case name="K-DateTimeFunc-2" result="pass"/><test-case name="K-DateTimeFunc-3" result="pass"/><test-case name="K-DateTimeFunc-4" result="pass"/><test-case name="K-DateTimeFunc-5" result="pass"/><test-case name="K-DateTimeFunc-6" result="fail"/><test-case name="K-DateTimeFunc-7" result="pass"/><test-case name="K-DateTimeFunc-8" result="pass"/><test-case name="K-DateTimeFunc-9" result="pass"/><test-case name="K-DateTimeFunc-10" result="pass"/><test-case name="K-DateTimeFunc-11" result="pass"/><test-case name="K-DateTimeFunc-12" result="pass"/><test-case name="K-DateTimeFunc-13" result="pass"/><test-case name="K-DateTimeFunc-14" result="pass"/><test-case name="K-DateTimeFunc-15" result="pass"/><test-case name="K-DateTimeFunc-16" result="pass"/><test-case name="K-DateTimeFunc-17" result="pass"/><test-case name="K-DateTimeFunc-18" result="pass"/><test-case name="K2-DateTimeFunc-1" result="pass"/><test-case name="fn-absint1args-1" result="pass"/><test-case name="fn-absint1args-2" result="pass"/><test-case name="fn-absint1args-3" result="pass"/><test-case name="fn-absintg1args-1" result="pass"/><test-case name="fn-absintg1args-2" result="pass"/><test-case name="fn-absintg1args-3" result="pass"/><test-case name="fn-absdec1args-1" result="fail"/><test-case name="fn-absdec1args-2" result="fail"/><test-case name="fn-absdec1args-3" result="fail"/><test-case name="fn-absdbl1args-1" result="pass"/><test-case name="fn-absdbl1args-2" result="pass"/><test-case name="fn-absdbl1args-3" result="pass"/><test-case name="fn-absflt1args-1" result="pass"/><test-case name="fn-absflt1args-2" result="pass"/><test-case name="fn-absflt1args-3" result="pass"/><test-case name="fn-abslng1args-1" result="pass"/><test-case name="fn-abslng1args-2" result="pass"/><test-case name="fn-abslng1args-3" result="pass"/><test-case name="fn-absusht1args-1" result="pass"/><test-case name="fn-absusht1args-2" result="pass"/><test-case name="fn-absusht1args-3" result="pass"/><test-case name="fn-absnint1args-1" result="pass"/><test-case name="fn-absnint1args-2" result="pass"/><test-case name="fn-absnint1args-3" result="pass"/><test-case name="fn-abspint1args-1" result="pass"/><test-case name="fn-abspint1args-2" result="pass"/><test-case name="fn-abspint1args-3" result="pass"/><test-case name="fn-absulng1args-1" result="pass"/><test-case name="fn-absulng1args-2" result="pass"/><test-case name="fn-absulng1args-3" result="pass"/><test-case name="fn-absnpi1args-1" result="pass"/><test-case name="fn-absnpi1args-2" result="pass"/><test-case name="fn-absnpi1args-3" result="pass"/><test-case name="fn-absnni1args-1" result="pass"/><test-case name="fn-absnni1args-2" result="pass"/><test-case name="fn-absnni1args-3" result="pass"/><test-case name="fn-abssht1args-1" result="pass"/><test-case name="fn-abssht1args-2" result="pass"/><test-case name="fn-abssht1args-3" result="pass"/><test-case name="fn-abs-more-args-001" result="pass"/><test-case name="fn-abs-more-args-002" result="pass"/><test-case name="fn-abs-more-args-003" result="pass"/><test-case name="fn-abs-more-args-004" result="pass"/><test-case name="fn-abs-more-args-005" result="pass"/><test-case name="fn-abs-more-args-006" result="pass"/><test-case name="fn-abs-more-args-007" result="pass"/><test-case name="fn-abs-more-args-008" result="pass"/><test-case name="fn-abs-more-args-009" result="pass"/><test-case name="fn-abs-more-args-010" result="pass"/><test-case name="fn-abs-more-args-011" result="pass"/><test-case name="fn-abs-more-args-012" result="pass"/><test-case name="fn-abs-more-args-013" result="pass"/><test-case name="fn-abs-more-args-014" result="pass"/><test-case name="fn-abs-more-args-015" result="pass"/><test-case name="fn-abs-more-args-016" result="pass"/><test-case name="fn-abs-more-args-017" result="pass"/><test-case name="fn-abs-more-args-018" result="pass"/><test-case name="fn-abs-more-args-019" result="pass"/><test-case name="fn-abs-more-args-020" result="pass"/><test-case name="fn-abs-more-args-021" result="pass"/><test-case name="fn-abs-more-args-022" result="pass"/><test-case name="fn-abs-more-args-023" result="pass"/><test-case name="fn-abs-more-args-024" result="pass"/><test-case name="fn-abs-more-args-025" result="pass"/><test-case name="fn-abs-more-args-026" result="pass"/><test-case name="fn-abs-more-args-027" result="pass"/><test-case name="fn-abs-more-args-028" result="pass"/><test-case name="fn-abs-more-args-029" result="pass"/><test-case name="fn-abs-more-args-030" result="pass"/><test-case name="fn-abs-more-args-031" result="pass"/><test-case name="fn-abs-more-args-032" result="pass"/><test-case name="fn-abs-more-args-033" result="pass"/><test-case name="fn-abs-more-args-034" result="pass"/><test-case name="fn-abs-more-args-035" result="pass"/><test-case name="fn-abs-more-args-036" result="pass"/><test-case name="fn-abs-more-args-037" result="pass"/><test-case name="fn-abs-more-args-038" result="pass"/><test-case name="fn-abs-more-args-039" result="pass"/><test-case name="fn-abs-more-args-040" result="pass"/><test-case name="fn-abs-more-args-041" result="pass"/><test-case name="fn-abs-more-args-042" result="pass"/><test-case name="fn-abs-more-args-043" result="pass"/><test-case name="fn-abs-more-args-044" result="pass"/><test-case name="fn-abs-more-args-045" result="pass"/><test-case name="fn-abs-more-args-046" result="pass"/><test-case name="fn-abs-more-args-047" result="pass"/><test-case name="fn-abs-more-args-048" result="pass"/><test-case name="fn-abs-more-args-049" result="pass"/><test-case name="fn-abs-more-args-050" result="pass"/><test-case name="fn-abs-more-args-051" result="pass"/><test-case name="fn-abs-more-args-052" result="pass"/><test-case name="fn-abs-more-args-053" result="pass"/><test-case name="fn-abs-more-args-054" result="pass"/><test-case name="fn-abs-more-args-055" result="pass"/><test-case name="fn-abs-more-args-056" result="pass"/><test-case name="fn-abs-more-args-057" result="pass"/><test-case name="fn-abs-more-args-058" result="pass"/><test-case name="fn-abs-more-args-059" result="pass"/><test-case name="fn-abs-more-args-060" result="pass"/><test-case name="fn-abs-more-args-061" result="pass"/><test-case name="fn-abs-more-args-062" result="pass"/><test-case name="fn-abs-more-args-063" result="pass"/><test-case name="fn-abs-more-args-064" result="pass"/><test-case name="fn-abs-more-args-065" result="pass"/><test-case name="fn-abs-more-args-066" result="pass"/><test-case name="fn-abs-more-args-067" result="pass"/><test-case name="fn-abs-more-args-068" result="pass"/><test-case name="fn-abs-more-args-069" result="pass"/><test-case name="fn-abs-more-args-070" result="pass"/><test-case name="fn-abs-more-args-071" result="pass"/><test-case name="fn-abs-more-args-072" result="pass"/><test-case name="fn-abs-more-args-073" result="pass"/><test-case name="fn-abs-more-args-074" result="pass"/><test-case name="fn-abs-more-args-075" result="pass"/><test-case name="fn-abs-more-args-076" result="pass"/><test-case name="fn-abs-more-args-077" result="pass"/><test-case name="fn-abs-more-args-078" result="pass"/><test-case name="fn-abs-more-args-079" result="pass"/><test-case name="fn-abs-more-args-080" result="pass"/><test-case name="fn-abs-more-args-081" result="pass"/><test-case name="fn-abs-more-args-082" result="pass"/><test-case name="fn-abs-more-args-083" result="pass"/><test-case name="fn-abs-more-args-084" result="pass"/><test-case name="fn-abs-more-args-085" result="pass"/><test-case name="fn-abs-more-args-086" result="pass"/><test-case name="K-ABSFunc-1" result="pass"/><test-case name="K-ABSFunc-2" result="pass"/><test-case name="K-ABSFunc-3" result="pass"/><test-case name="K-ABSFunc-4" result="pass"/><test-case name="K-ABSFunc-5" result="pass"/><test-case name="K-ABSFunc-6" result="pass"/><test-case name="K2-ABSFunc-1" result="pass"/><test-case name="K2-ABSFunc-2" result="pass"/><test-case name="K2-ABSFunc-3" result="pass"/><test-case name="K2-ABSFunc-4" result="pass"/><test-case name="K2-ABSFunc-5" result="pass"/><test-case name="K2-ABSFunc-6" result="pass"/><test-case name="K2-ABSFunc-7" result="pass"/><test-case name="K2-ABSFunc-8" result="pass"/><test-case name="K2-ABSFunc-9" result="pass"/><test-case name="K2-ABSFunc-10" result="pass"/><test-case name="K2-ABSFunc-11" result="pass"/><test-case name="K2-ABSFunc-12" result="pass"/><test-case name="K2-ABSFunc-13" result="pass"/><test-case name="K2-ABSFunc-14" result="pass"/><test-case name="K2-ABSFunc-15" result="pass"/><test-case name="K2-ABSFunc-16" result="pass"/><test-case name="K2-ABSFunc-17" result="pass"/><test-case name="K2-ABSFunc-18" result="pass"/><test-case name="K2-ABSFunc-19" result="pass"/><test-case name="K2-ABSFunc-20" result="pass"/><test-case name="K2-ABSFunc-21" result="pass"/><test-case name="K2-ABSFunc-22" result="pass"/><test-case name="K2-ABSFunc-23" result="pass"/><test-case name="K2-ABSFunc-24" result="pass"/><test-case name="K2-ABSFunc-25" result="pass"/><test-case name="K2-ABSFunc-26" result="pass"/><test-case name="K2-ABSFunc-27" result="pass"/><test-case name="K2-ABSFunc-28" result="pass"/><test-case name="K2-ABSFunc-29" result="pass"/><test-case name="K2-ABSFunc-30" result="pass"/><test-case name="K2-ABSFunc-31" result="pass"/><test-case name="K2-ABSFunc-32" result="pass"/><test-case name="K2-ABSFunc-33" result="pass"/><test-case name="K2-ABSFunc-34" result="pass"/><test-case name="K2-ABSFunc-35" result="pass"/><test-case name="K2-ABSFunc-36" result="pass"/><test-case name="K2-ABSFunc-37" result="pass"/><test-case name="K2-ABSFunc-38" result="pass"/><test-case name="K2-ABSFunc-39" result="pass"/><test-case name="K2-ABSFunc-40" result="pass"/><test-case name="K2-ABSFunc-41" result="pass"/><test-case name="K2-ABSFunc-42" result="pass"/><test-case name="K2-ABSFunc-43" result="pass"/><test-case name="K2-ABSFunc-44" result="pass"/><test-case name="K2-ABSFunc-45" result="pass"/><test-case name="K2-ABSFunc-46" result="pass"/><test-case name="K2-ABSFunc-47" result="pass"/><test-case name="K2-ABSFunc-48" result="pass"/><test-case name="K2-ABSFunc-49" result="pass"/><test-case name="K2-ABSFunc-50" result="pass"/><test-case name="fn-ceilingint1args-1" result="pass"/><test-case name="fn-ceilingint1args-2" result="pass"/><test-case name="fn-ceilingint1args-3" result="pass"/><test-case name="fn-ceilingintg1args-1" result="pass"/><test-case name="fn-ceilingintg1args-2" result="pass"/><test-case name="fn-ceilingintg1args-3" result="pass"/><test-case name="fn-ceilingdec1args-1" result="fail"/><test-case name="fn-ceilingdec1args-2" result="fail"/><test-case name="fn-ceilingdec1args-3" result="fail"/><test-case name="fn-ceilingdbl1args-1" result="pass"/><test-case name="fn-ceilingdbl1args-2" result="pass"/><test-case name="fn-ceilingdbl1args-3" result="pass"/><test-case name="fn-ceilingflt1args-1" result="pass"/><test-case name="fn-ceilingflt1args-2" result="pass"/><test-case name="fn-ceilingflt1args-3" result="pass"/><test-case name="fn-ceilinglng1args-1" result="pass"/><test-case name="fn-ceilinglng1args-2" result="pass"/><test-case name="fn-ceilinglng1args-3" result="pass"/><test-case name="fn-ceilingusht1args-1" result="pass"/><test-case name="fn-ceilingusht1args-2" result="pass"/><test-case name="fn-ceilingusht1args-3" result="pass"/><test-case name="fn-ceilingnint1args-1" result="pass"/><test-case name="fn-ceilingnint1args-2" result="pass"/><test-case name="fn-ceilingnint1args-3" result="pass"/><test-case name="fn-ceilingpint1args-1" result="pass"/><test-case name="fn-ceilingpint1args-2" result="pass"/><test-case name="fn-ceilingpint1args-3" result="pass"/><test-case name="fn-ceilingulng1args-1" result="pass"/><test-case name="fn-ceilingulng1args-2" result="pass"/><test-case name="fn-ceilingulng1args-3" result="pass"/><test-case name="fn-ceilingnpi1args-1" result="pass"/><test-case name="fn-ceilingnpi1args-2" result="pass"/><test-case name="fn-ceilingnpi1args-3" result="pass"/><test-case name="fn-ceilingnni1args-1" result="pass"/><test-case name="fn-ceilingnni1args-2" result="pass"/><test-case name="fn-ceilingnni1args-3" result="pass"/><test-case name="fn-ceilingsht1args-1" result="pass"/><test-case name="fn-ceilingsht1args-2" result="pass"/><test-case name="fn-ceilingsht1args-3" result="pass"/><test-case name="K-CeilingFunc-1" result="pass"/><test-case name="K-CeilingFunc-2" result="pass"/><test-case name="K-CeilingFunc-3" result="pass"/><test-case name="K-CeilingFunc-4" result="pass"/><test-case name="K-CeilingFunc-5" result="pass"/><test-case name="K-CeilingFunc-6" result="pass"/><test-case name="K2-CeilingFunc-1" result="pass"/><test-case name="K2-CeilingFunc-2" result="pass"/><test-case name="K2-CeilingFunc-3" result="pass"/><test-case name="K2-CeilingFunc-4" result="pass"/><test-case name="K2-CeilingFunc-5" result="pass"/><test-case name="K2-CeilingFunc-6" result="pass"/><test-case name="K2-CeilingFunc-7" result="pass"/><test-case name="K2-CeilingFunc-8" result="pass"/><test-case name="K2-CeilingFunc-9" result="pass"/><test-case name="K2-CeilingFunc-10" result="pass"/><test-case name="K2-CeilingFunc-11" result="pass"/><test-case name="K2-CeilingFunc-12" result="pass"/><test-case name="fn-floorint1args-1" result="pass"/><test-case name="fn-floorint1args-2" result="pass"/><test-case name="fn-floorint1args-3" result="pass"/><test-case name="fn-floorintg1args-1" result="pass"/><test-case name="fn-floorintg1args-2" result="pass"/><test-case name="fn-floorintg1args-3" result="pass"/><test-case name="fn-floordec1args-1" result="fail"/><test-case name="fn-floordec1args-2" result="fail"/><test-case name="fn-floordec1args-3" result="fail"/><test-case name="fn-floordbl1args-1" result="pass"/><test-case name="fn-floordbl1args-2" result="pass"/><test-case name="fn-floordbl1args-3" result="pass"/><test-case name="fn-floorflt1args-1" result="pass"/><test-case name="fn-floorflt1args-2" result="pass"/><test-case name="fn-floorflt1args-3" result="pass"/><test-case name="fn-floorlng1args-1" result="pass"/><test-case name="fn-floorlng1args-2" result="pass"/><test-case name="fn-floorlng1args-3" result="pass"/><test-case name="fn-floorusht1args-1" result="pass"/><test-case name="fn-floorusht1args-2" result="pass"/><test-case name="fn-floorusht1args-3" result="pass"/><test-case name="fn-floornint1args-1" result="pass"/><test-case name="fn-floornint1args-2" result="pass"/><test-case name="fn-floornint1args-3" result="pass"/><test-case name="fn-floorpint1args-1" result="pass"/><test-case name="fn-floorpint1args-2" result="pass"/><test-case name="fn-floorpint1args-3" result="pass"/><test-case name="fn-floorulng1args-1" result="pass"/><test-case name="fn-floorulng1args-2" result="pass"/><test-case name="fn-floorulng1args-3" result="pass"/><test-case name="fn-floornpi1args-1" result="pass"/><test-case name="fn-floornpi1args-2" result="pass"/><test-case name="fn-floornpi1args-3" result="pass"/><test-case name="fn-floornni1args-1" result="pass"/><test-case name="fn-floornni1args-2" result="pass"/><test-case name="fn-floornni1args-3" result="pass"/><test-case name="fn-floorsht1args-1" result="pass"/><test-case name="fn-floorsht1args-2" result="pass"/><test-case name="fn-floorsht1args-3" result="pass"/><test-case name="K-FloorFunc-1" result="pass"/><test-case name="K-FloorFunc-2" result="pass"/><test-case name="K-FloorFunc-3" result="pass"/><test-case name="K-FloorFunc-4" result="pass"/><test-case name="K-FloorFunc-5" result="pass"/><test-case name="K-FloorFunc-6" result="pass"/><test-case name="K2-FloorFunc-1" result="pass"/><test-case name="K2-FloorFunc-2" result="pass"/><test-case name="K2-FloorFunc-3" result="pass"/><test-case name="K2-FloorFunc-4" result="pass"/><test-case name="K2-FloorFunc-5" result="pass"/><test-case name="K2-FloorFunc-6" result="pass"/><test-case name="K2-FloorFunc-7" result="pass"/><test-case name="K2-FloorFunc-8" result="pass"/><test-case name="K2-FloorFunc-9" result="pass"/><test-case name="K2-FloorFunc-10" result="pass"/><test-case name="K2-FloorFunc-11" result="pass"/><test-case name="K2-FloorFunc-12" result="pass"/><test-case name="K2-FloorFunc-13" result="pass"/><test-case name="fn-roundint1args-1" result="pass"/><test-case name="fn-roundint1args-2" result="pass"/><test-case name="fn-roundint1args-3" result="pass"/><test-case name="fn-roundintg1args-1" result="pass"/><test-case name="fn-roundintg1args-2" result="pass"/><test-case name="fn-roundintg1args-3" result="pass"/><test-case name="fn-rounddec1args-1" result="fail"/><test-case name="fn-rounddec1args-2" result="fail"/><test-case name="fn-rounddec1args-3" result="fail"/><test-case name="fn-rounddbl1args-1" result="pass"/><test-case name="fn-rounddbl1args-2" result="pass"/><test-case name="fn-rounddbl1args-3" result="pass"/><test-case name="fn-roundflt1args-1" result="pass"/><test-case name="fn-roundflt1args-2" result="pass"/><test-case name="fn-roundflt1args-3" result="pass"/><test-case name="fn-roundlng1args-1" result="pass"/><test-case name="fn-roundlng1args-2" result="pass"/><test-case name="fn-roundlng1args-3" result="pass"/><test-case name="fn-roundusht1args-1" result="pass"/><test-case name="fn-roundusht1args-2" result="pass"/><test-case name="fn-roundusht1args-3" result="pass"/><test-case name="fn-roundnint1args-1" result="pass"/><test-case name="fn-roundnint1args-2" result="pass"/><test-case name="fn-roundnint1args-3" result="pass"/><test-case name="fn-roundpint1args-1" result="pass"/><test-case name="fn-roundpint1args-2" result="pass"/><test-case name="fn-roundpint1args-3" result="pass"/><test-case name="fn-roundulng1args-1" result="pass"/><test-case name="fn-roundulng1args-2" result="pass"/><test-case name="fn-roundulng1args-3" result="pass"/><test-case name="fn-roundnpi1args-1" result="pass"/><test-case name="fn-roundnpi1args-2" result="pass"/><test-case name="fn-roundnpi1args-3" result="pass"/><test-case name="fn-roundnni1args-1" result="pass"/><test-case name="fn-roundnni1args-2" result="pass"/><test-case name="fn-roundnni1args-3" result="pass"/><test-case name="fn-roundsht1args-1" result="pass"/><test-case name="fn-roundsht1args-2" result="pass"/><test-case name="fn-roundsht1args-3" result="pass"/><test-case name="K-RoundFunc-1" result="pass"/><test-case name="K-RoundFunc-2" result="pass"/><test-case name="K-RoundFunc-3" result="pass"/><test-case name="K-RoundFunc-4" result="pass"/><test-case name="K-RoundFunc-5" result="pass"/><test-case name="K-RoundFunc-6" result="pass"/><test-case name="K-RoundFunc-7" result="pass"/><test-case name="K-RoundFunc-8" result="pass"/><test-case name="K-RoundFunc-9" result="pass"/><test-case name="K2-RoundFunc-1" result="pass"/><test-case name="K2-RoundFunc-2" result="pass"/><test-case name="K2-RoundFunc-3" result="pass"/><test-case name="K2-RoundFunc-4" result="pass"/><test-case name="K2-RoundFunc-5" result="pass"/><test-case name="K2-RoundFunc-6" result="pass"/><test-case name="K2-RoundFunc-7" result="pass"/><test-case name="K2-RoundFunc-8" result="pass"/><test-case name="K2-RoundFunc-9" result="pass"/><test-case name="K2-RoundFunc-10" result="pass"/><test-case name="K2-RoundFunc-11" result="pass"/><test-case name="K2-RoundFunc-12" result="pass"/><test-case name="K2-RoundFunc-13" result="pass"/><test-case name="K2-RoundFunc-14" result="pass"/><test-case name="K2-RoundFunc-15" result="pass"/><test-case name="K2-RoundFunc-16" result="pass"/><test-case name="K2-RoundFunc-17" result="pass"/><test-case name="K2-RoundFunc-18" result="pass"/><test-case name="K2-RoundFunc-19" result="pass"/><test-case name="K2-RoundFunc-20" result="pass"/><test-case name="K2-RoundFunc-21" result="pass"/><test-case name="K2-RoundFunc-22" result="pass"/><test-case name="K2-RoundFunc-23" result="pass"/><test-case name="K2-RoundFunc-24" result="pass"/><test-case name="K2-RoundFunc-25" result="pass"/><test-case name="K2-RoundFunc-26" result="pass"/><test-case name="K2-RoundFunc-27" result="pass"/><test-case name="K2-RoundFunc-28" result="pass"/><test-case name="K2-RoundFunc-29" result="pass"/><test-case name="K2-RoundFunc-30" result="pass"/><test-case name="K2-RoundFunc-31" result="pass"/><test-case name="K2-RoundFunc-32" result="pass"/><test-case name="K2-RoundFunc-33" result="pass"/><test-case name="K2-RoundFunc-34" result="pass"/><test-case name="K2-RoundFunc-35" result="pass"/><test-case name="K2-RoundFunc-36" result="pass"/><test-case name="K2-RoundFunc-37" result="pass"/><test-case name="K2-RoundFunc-38" result="pass"/><test-case name="K2-RoundFunc-39" result="pass"/><test-case name="K2-RoundFunc-40" result="pass"/><test-case name="K2-RoundFunc-41" result="pass"/><test-case name="K2-RoundFunc-42" result="pass"/><test-case name="K2-RoundFunc-43" result="pass"/><test-case name="K2-RoundFunc-44" result="pass"/><test-case name="K2-RoundFunc-45" result="pass"/><test-case name="K2-RoundFunc-46" result="pass"/><test-case name="K2-RoundFunc-47" result="pass"/><test-case name="K2-RoundFunc-48" result="pass"/><test-case name="K2-RoundFunc-49" result="pass"/><test-case name="K2-RoundFunc-50" result="pass"/><test-case name="K2-RoundFunc-51" result="pass"/><test-case name="K2-RoundFunc-52" result="pass"/><test-case name="K2-RoundFunc-53" result="pass"/><test-case name="K2-RoundFunc-54" result="pass"/><test-case name="K2-RoundFunc-55" result="pass"/><test-case name="K2-RoundFunc-56" result="pass"/><test-case name="K2-RoundFunc-57" result="pass"/><test-case name="K2-RoundFunc-58" result="pass"/><test-case name="K2-RoundFunc-59" result="pass"/><test-case name="K2-RoundFunc-60" result="pass"/><test-case name="K2-RoundFunc-61" result="pass"/><test-case name="K2-RoundFunc-62" result="pass"/><test-case name="K2-RoundFunc-63" result="pass"/><test-case name="K2-RoundFunc-64" result="pass"/><test-case name="K2-RoundFunc-65" result="pass"/><test-case name="K2-RoundFunc-66" result="pass"/><test-case name="K2-RoundFunc-67" result="pass"/><test-case name="K2-RoundFunc-68" result="pass"/><test-case name="K2-RoundFunc-69" result="pass"/><test-case name="K2-RoundFunc-70" result="pass"/><test-case name="K2-RoundFunc-71" result="pass"/><test-case name="K2-RoundFunc-72" result="pass"/><test-case name="K2-RoundFunc-73" result="pass"/><test-case name="K2-RoundFunc-74" result="pass"/><test-case name="K2-RoundFunc-75" result="pass"/><test-case name="K2-RoundFunc-76" result="pass"/><test-case name="K2-RoundFunc-77" result="pass"/><test-case name="K2-RoundFunc-78" result="pass"/><test-case name="K2-RoundFunc-79" result="pass"/><test-case name="K2-RoundFunc-80" result="pass"/><test-case name="K2-RoundFunc-81" result="pass"/><test-case name="K2-RoundFunc-82" result="pass"/><test-case name="K2-RoundFunc-83" result="pass"/><test-case name="K2-RoundFunc-84" result="pass"/><test-case name="K2-RoundFunc-85" result="pass"/><test-case name="K2-RoundFunc-86" result="pass"/><test-case name="K2-RoundFunc-87" result="pass"/><test-case name="K2-RoundFunc-88" result="pass"/><test-case name="K2-RoundFunc-89" result="pass"/><test-case name="K2-RoundFunc-90" result="pass"/><test-case name="K2-RoundFunc-91" result="pass"/><test-case name="K2-RoundFunc-92" result="pass"/><test-case name="K2-RoundFunc-93" result="pass"/><test-case name="K2-RoundFunc-94" result="pass"/><test-case name="K2-RoundFunc-95" result="pass"/><test-case name="K2-RoundFunc-96" result="pass"/><test-case name="K2-RoundFunc-97" result="pass"/><test-case name="K2-RoundFunc-98" result="pass"/><test-case name="K2-RoundFunc-99" result="pass"/><test-case name="K2-RoundFunc-100" result="pass"/><test-case name="K2-RoundFunc-101" result="pass"/><test-case name="K2-RoundFunc-102" result="pass"/><test-case name="K2-RoundFunc-103" result="pass"/><test-case name="K2-RoundFunc-104" result="pass"/><test-case name="K2-RoundFunc-105" result="pass"/><test-case name="K2-RoundFunc-106" result="pass"/><test-case name="K2-RoundFunc-107" result="pass"/><test-case name="K2-RoundFunc-108" result="pass"/><test-case name="K2-RoundFunc-109" result="pass"/><test-case name="K2-RoundFunc-110" result="pass"/><test-case name="K2-RoundFunc-111" result="pass"/><test-case name="K2-RoundFunc-112" result="pass"/><test-case name="K2-RoundFunc-113" result="pass"/><test-case name="K2-RoundFunc-114" result="pass"/><test-case name="K2-RoundFunc-115" result="pass"/><test-case name="K2-RoundFunc-116" result="pass"/><test-case name="K2-RoundFunc-117" result="pass"/><test-case name="K2-RoundFunc-118" result="pass"/><test-case name="K2-RoundFunc-119" result="pass"/><test-case name="K2-RoundFunc-120" result="pass"/><test-case name="K2-RoundFunc-121" result="pass"/><test-case name="K2-RoundFunc-122" result="pass"/><test-case name="K2-RoundFunc-123" result="pass"/><test-case name="K2-RoundFunc-124" result="pass"/><test-case name="K2-RoundFunc-125" result="pass"/><test-case name="K2-RoundFunc-126" result="pass"/><test-case name="K2-RoundFunc-127" result="pass"/><test-case name="K2-RoundFunc-128" result="pass"/><test-case name="K2-RoundFunc-129" result="pass"/><test-case name="K2-RoundFunc-130" result="pass"/><test-case name="K2-RoundFunc-131" result="pass"/><test-case name="K2-RoundFunc-132" result="pass"/><test-case name="K2-RoundFunc-133" result="pass"/><test-case name="K2-RoundFunc-134" result="pass"/><test-case name="K2-RoundFunc-135" result="pass"/><test-case name="K2-RoundFunc-136" result="pass"/><test-case name="K2-RoundFunc-137" result="pass"/><test-case name="K2-RoundFunc-138" result="pass"/><test-case name="K2-RoundFunc-139" result="pass"/><test-case name="K2-RoundFunc-140" result="pass"/><test-case name="K2-RoundFunc-141" result="pass"/><test-case name="K2-RoundFunc-142" result="pass"/><test-case name="K2-RoundFunc-143" result="pass"/><test-case name="K2-RoundFunc-144" result="pass"/><test-case name="K2-RoundFunc-145" result="pass"/><test-case name="K2-RoundFunc-146" result="pass"/><test-case name="K2-RoundFunc-147" result="pass"/><test-case name="K2-RoundFunc-148" result="pass"/><test-case name="K2-RoundFunc-149" result="pass"/><test-case name="K2-RoundFunc-150" result="pass"/><test-case name="K2-RoundFunc-151" result="pass"/><test-case name="K2-RoundFunc-152" result="pass"/><test-case name="K2-RoundFunc-153" result="pass"/><test-case name="K2-RoundFunc-154" result="pass"/><test-case name="K2-RoundFunc-155" result="pass"/><test-case name="K2-RoundFunc-156" result="pass"/><test-case name="K2-RoundFunc-157" result="pass"/><test-case name="K2-RoundFunc-158" result="pass"/><test-case name="K2-RoundFunc-159" result="pass"/><test-case name="K2-RoundFunc-160" result="pass"/><test-case name="K2-RoundFunc-161" result="pass"/><test-case name="K2-RoundFunc-162" result="pass"/><test-case name="K2-RoundFunc-163" result="pass"/><test-case name="K2-RoundFunc-164" result="pass"/><test-case name="K2-RoundFunc-165" result="pass"/><test-case name="K2-RoundFunc-166" result="pass"/><test-case name="K2-RoundFunc-167" result="pass"/><test-case name="K2-RoundFunc-168" result="pass"/><test-case name="K2-RoundFunc-169" result="pass"/><test-case name="K2-RoundFunc-170" result="pass"/><test-case name="K2-RoundFunc-171" result="pass"/><test-case name="K2-RoundFunc-172" result="pass"/><test-case name="K2-RoundFunc-173" result="pass"/><test-case name="K2-RoundFunc-174" result="pass"/><test-case name="K2-RoundFunc-175" result="pass"/><test-case name="K2-RoundFunc-176" result="pass"/><test-case name="K2-RoundFunc-177" result="pass"/><test-case name="K2-RoundFunc-178" result="pass"/><test-case name="K2-RoundFunc-179" result="pass"/><test-case name="K2-RoundFunc-180" result="pass"/><test-case name="K2-RoundFunc-181" result="pass"/><test-case name="K2-RoundFunc-182" result="pass"/><test-case name="K2-RoundFunc-183" result="pass"/><test-case name="K2-RoundFunc-184" result="pass"/><test-case name="K2-RoundFunc-185" result="pass"/><test-case name="K2-RoundFunc-186" result="pass"/><test-case name="K2-RoundFunc-187" result="pass"/><test-case name="K2-RoundFunc-188" result="pass"/><test-case name="K2-RoundFunc-189" result="pass"/><test-case name="K2-RoundFunc-190" result="pass"/><test-case name="fn-round-half-to-evenint1args-1" result="pass"/><test-case name="fn-round-half-to-evenint1args-2" result="pass"/><test-case name="fn-round-half-to-evenint1args-3" result="pass"/><test-case name="fn-round-half-to-evenintg1args-1" result="pass"/><test-case name="fn-round-half-to-evenintg1args-2" result="pass"/><test-case name="fn-round-half-to-evenintg1args-3" result="pass"/><test-case name="fn-round-half-to-evendec1args-1" result="fail"/><test-case name="fn-round-half-to-evendec1args-2" result="fail"/><test-case name="fn-round-half-to-evendec1args-3" result="fail"/><test-case name="fn-round-half-to-evendbl1args-1" result="pass"/><test-case name="fn-round-half-to-evendbl1args-2" result="pass"/><test-case name="fn-round-half-to-evendbl1args-3" result="pass"/><test-case name="fn-round-half-to-evenflt1args-1" result="pass"/><test-case name="fn-round-half-to-evenflt1args-2" result="pass"/><test-case name="fn-round-half-to-evenflt1args-3" result="pass"/><test-case name="fn-round-half-to-evenlng1args-1" result="pass"/><test-case name="fn-round-half-to-evenlng1args-2" result="pass"/><test-case name="fn-round-half-to-evenlng1args-3" result="pass"/><test-case name="fn-round-half-to-evenusht1args-1" result="pass"/><test-case name="fn-round-half-to-evenusht1args-2" result="pass"/><test-case name="fn-round-half-to-evenusht1args-3" result="pass"/><test-case name="fn-round-half-to-evennint1args-1" result="pass"/><test-case name="fn-round-half-to-evennint1args-2" result="pass"/><test-case name="fn-round-half-to-evennint1args-3" result="pass"/><test-case name="fn-round-half-to-evenpint1args-1" result="pass"/><test-case name="fn-round-half-to-evenpint1args-2" result="pass"/><test-case name="fn-round-half-to-evenpint1args-3" result="pass"/><test-case name="fn-round-half-to-evenulng1args-1" result="pass"/><test-case name="fn-round-half-to-evenulng1args-2" result="pass"/><test-case name="fn-round-half-to-evenulng1args-3" result="pass"/><test-case name="fn-round-half-to-evennpi1args-1" result="pass"/><test-case name="fn-round-half-to-evennpi1args-2" result="pass"/><test-case name="fn-round-half-to-evennpi1args-3" result="pass"/><test-case name="fn-round-half-to-evennni1args-1" result="pass"/><test-case name="fn-round-half-to-evennni1args-2" result="pass"/><test-case name="fn-round-half-to-evennni1args-3" result="pass"/><test-case name="fn-round-half-to-evensht1args-1" result="pass"/><test-case name="fn-round-half-to-evensht1args-2" result="pass"/><test-case name="fn-round-half-to-evensht1args-3" result="pass"/><test-case name="K-RoundEvenFunc-1" result="pass"/><test-case name="K-RoundEvenFunc-2" result="pass"/><test-case name="K-RoundEvenFunc-3" result="pass"/><test-case name="K-RoundEvenFunc-4" result="pass"/><test-case name="K-RoundEvenFunc-5" result="pass"/><test-case name="K2-RoundEvenFunc-1" result="pass"/><test-case name="K2-RoundEvenFunc-2" result="fail"/><test-case name="K2-RoundEvenFunc-3" result="fail"/><test-case name="K2-RoundEvenFunc-4" result="fail"/><test-case name="K2-RoundEvenFunc-5" result="fail"/><test-case name="K2-RoundEvenFunc-6" result="pass"/><test-case name="K2-RoundEvenFunc-7" result="pass"/><test-case name="K2-RoundEvenFunc-8" result="fail"/><test-case name="K2-RoundEvenFunc-9" result="pass"/><test-case name="K2-RoundEvenFunc-10" result="pass"/><test-case name="K2-RoundEvenFunc-11" result="pass"/><test-case name="K2-RoundEvenFunc-12" result="pass"/><test-case name="K2-RoundEvenFunc-13" result="pass"/><test-case name="K2-RoundEvenFunc-14" result="pass"/><test-case name="K2-RoundEvenFunc-15" result="pass"/><test-case name="K2-RoundEvenFunc-16" result="pass"/><test-case name="K2-RoundEvenFunc-17" result="pass"/><test-case name="K2-RoundEvenFunc-18" result="pass"/><test-case name="K2-RoundEvenFunc-19" result="pass"/><test-case name="K2-RoundEvenFunc-20" result="pass"/><test-case name="K2-RoundEvenFunc-21" result="pass"/><test-case name="K2-RoundEvenFunc-22" result="pass"/><test-case name="K2-RoundEvenFunc-23" result="pass"/><test-case name="K2-RoundEvenFunc-24" result="pass"/><test-case name="K2-RoundEvenFunc-25" result="pass"/><test-case name="K2-RoundEvenFunc-26" result="pass"/><test-case name="K2-RoundEvenFunc-27" result="pass"/><test-case name="K2-RoundEvenFunc-28" result="pass"/><test-case name="fn-codepoints-to-string1args-1" result="pass"/><test-case name="fn-codepoints-to-string1args-2" result="pass"/><test-case name="fn-codepoints-to-string1args-3" result="pass"/><test-case name="fn-codepoints-to-string1args-4" result="pass"/><test-case name="fn-codepoints-to-string-1" result="pass"/><test-case name="fn-codepoints-to-string-2" result="pass"/><test-case name="fn-codepoints-to-string-3" result="pass"/><test-case name="fn-codepoints-to-string-4" result="pass"/><test-case name="fn-codepoints-to-string-5" result="pass"/><test-case name="fn-codepoints-to-string-6" result="pass"/><test-case name="fn-codepoints-to-string-7" result="pass"/><test-case name="fn-codepoints-to-string-8" result="pass"/><test-case name="fn-codepoints-to-string-9" result="pass"/><test-case name="fn-codepoints-to-string-10" result="pass"/><test-case name="fn-codepoints-to-string-11" result="pass"/><test-case name="fn-codepoints-to-string-12" result="pass"/><test-case name="fn-codepoints-to-string-13" result="pass"/><test-case name="fn-codepoints-to-string-14" result="pass"/><test-case name="fn-codepoints-to-string-15" result="pass"/><test-case name="fn-codepoints-to-string-16" result="pass"/><test-case name="K-CodepointToStringFunc-1" result="pass"/><test-case name="K-CodepointToStringFunc-2" result="pass"/><test-case name="K-CodepointToStringFunc-3" result="pass"/><test-case name="K-CodepointToStringFunc-4" result="pass"/><test-case name="K-CodepointToStringFunc-5" result="pass"/><test-case name="K-CodepointToStringFunc-6" result="pass"/><test-case name="K-CodepointToStringFunc-7" result="pass"/><test-case name="K-CodepointToStringFunc-8" result="pass"/><test-case name="K-CodepointToStringFunc-9" result="pass"/><test-case name="K-CodepointToStringFunc-10" result="pass"/><test-case name="K-CodepointToStringFunc-11" result="pass"/><test-case name="K-CodepointToStringFunc-12" result="pass"/><test-case name="K-CodepointToStringFunc-13" result="pass"/><test-case name="K-CodepointToStringFunc-14" result="pass"/><test-case name="K-CodepointToStringFunc-15" result="pass"/><test-case name="K-CodepointToStringFunc-16" result="pass"/><test-case name="K-CodepointToStringFunc-17" result="pass"/><test-case name="K-CodepointToStringFunc-18" result="pass"/><test-case name="K-CodepointToStringFunc-19" result="pass"/><test-case name="K-CodepointToStringFunc-20" result="pass"/><test-case name="K-CodepointToStringFunc-21" result="pass"/><test-case name="K-CodepointToStringFunc-22" result="pass"/><test-case name="K-CodepointToStringFunc-23" result="pass"/><test-case name="K-CodepointToStringFunc-24" result="pass"/><test-case name="K-CodepointToStringFunc-25" result="pass"/><test-case name="K-CodepointToStringFunc-26" result="fail"/><test-case name="K-CodepointToStringFunc-27" result="pass"/><test-case name="K-CodepointToStringFunc-28" result="pass"/><test-case name="K-CodepointToStringFunc-29" result="pass"/><test-case name="fn-string-to-codepoints1args-1" result="pass"/><test-case name="fn-string-to-codepoints1args-2" result="pass"/><test-case name="fn-string-to-codepoints1args-3" result="pass"/><test-case name="fn-string-to-codepoints1args-4" result="pass"/><test-case name="fn-string-to-codepoints1args-5" result="pass"/><test-case name="fn-string-to-codepoints1args-6" result="pass"/><test-case name="fn-string-to-codepoints1args-7" result="pass"/><test-case name="fn-string-to-codepoints1args-8" result="pass"/><test-case name="fn-string-to-codepoints-1" result="pass"/><test-case name="fn-string-to-codepoints-2" result="pass"/><test-case name="fn-string-to-codepoints-3" result="pass"/><test-case name="fn-string-to-codepoints-4" result="pass"/><test-case name="fn-string-to-codepoints-5" result="pass"/><test-case name="fn-string-to-codepoints-6" result="pass"/><test-case name="fn-string-to-codepoints-7" result="pass"/><test-case name="fn-string-to-codepoints-8" result="pass"/><test-case name="fn-string-to-codepoints-9" result="pass"/><test-case name="fn-string-to-codepoints-10" result="pass"/><test-case name="fn-string-to-codepoints-11" result="pass"/><test-case name="fn-string-to-codepoints-12" result="pass"/><test-case name="fn-string-to-codepoints-13" result="pass"/><test-case name="fn-string-to-codepoints-14" result="pass"/><test-case name="K-StringToCodepointFunc-1" result="pass"/><test-case name="K-StringToCodepointFunc-2" result="pass"/><test-case name="K-StringToCodepointFunc-3" result="pass"/><test-case name="K-StringToCodepointFunc-4" result="pass"/><test-case name="K-StringToCodepointFunc-5" result="pass"/><test-case name="K-StringToCodepointFunc-6" result="pass"/><test-case name="K-StringToCodepointFunc-7" result="pass"/><test-case name="K-StringToCodepointFunc-8" result="pass"/><test-case name="K-StringToCodepointFunc-9" result="pass"/><test-case name="K-StringToCodepointFunc-10" result="pass"/><test-case name="K-StringToCodepointFunc-11" result="pass"/><test-case name="K-StringToCodepointFunc-12" result="pass"/><test-case name="K-StringToCodepointFunc-13" result="pass"/><test-case name="K-StringToCodepointFunc-14" result="pass"/><test-case name="K-StringToCodepointFunc-15" result="pass"/><test-case name="K-StringToCodepointFunc-16" result="pass"/><test-case name="K-StringToCodepointFunc-17" result="pass"/><test-case name="K-StringToCodepointFunc-18" result="pass"/><test-case name="K-StringToCodepointFunc-19" result="pass"/><test-case name="K-StringToCodepointFunc-20" result="pass"/><test-case name="K-StringToCodepointFunc-21" result="pass"/><test-case name="fn-compare2args-1" result="pass"/><test-case name="fn-compare2args-2" result="pass"/><test-case name="fn-compare2args-3" result="pass"/><test-case name="fn-compare2args-4" result="pass"/><test-case name="fn-compare2args-5" result="pass"/><test-case name="fn-compare-1" result="pass"/><test-case name="fn-compare-2" result="pass"/><test-case name="fn-compare-3" result="pass"/><test-case name="fn-compare-4" result="pass"/><test-case name="fn-compare-5" result="pass"/><test-case name="fn-compare-6" result="pass"/><test-case name="fn-compare-7" result="pass"/><test-case name="fn-compare-8" result="pass"/><test-case name="fn-compare-9" result="pass"/><test-case name="fn-compare-10" result="pass"/><test-case name="fn-compare-11" result="pass"/><test-case name="fn-compare-12" result="pass"/><test-case name="fn-compare-13" result="pass"/><test-case name="fn-compare-14" result="pass"/><test-case name="fn-compare-15" result="pass"/><test-case name="fn-compare-16" result="pass"/><test-case name="fn-compare-17" result="pass"/><test-case name="fn-compare-18" result="pass"/><test-case name="fn-compare-19" result="pass"/><test-case name="fn-compare-20" result="pass"/><test-case name="fn-compare-21" result="pass"/><test-case name="fn-compare-22" result="pass"/><test-case name="K-compareFunc-1" result="pass"/><test-case name="K-compareFunc-2" result="pass"/><test-case name="K-compareFunc-3" result="pass"/><test-case name="K-compareFunc-4" result="pass"/><test-case name="K-compareFunc-5" result="pass"/><test-case name="K-compareFunc-6" result="pass"/><test-case name="K-compareFunc-7" result="pass"/><test-case name="K-compareFunc-8" result="pass"/><test-case name="K-compareFunc-9" result="pass"/><test-case name="K-compareFunc-10" result="pass"/><test-case name="K-compareFunc-11" result="pass"/><test-case name="K-compareFunc-12" result="pass"/><test-case name="K-compareFunc-13" result="pass"/><test-case name="K-compareFunc-14" result="pass"/><test-case name="K-compareFunc-15" result="pass"/><test-case name="fn-codepoint-equal-1" result="pass"/><test-case name="fn-codepoint-equal-2" result="pass"/><test-case name="fn-codepoint-equal-3" result="pass"/><test-case name="fn-codepoint-equal-4" result="pass"/><test-case name="fn-codepoint-equal-5" result="pass"/><test-case name="fn-codepoint-equal-6" result="pass"/><test-case name="fn-codepoint-equal-7" result="pass"/><test-case name="fn-codepoint-equal-8" result="pass"/><test-case name="fn-codepoint-equal-9" result="pass"/><test-case name="fn-codepoint-equal-10" result="pass"/><test-case name="fn-codepoint-equal-11" result="pass"/><test-case name="fn-codepoint-equal-12" result="pass"/><test-case name="fn-codepoint-equal-13" result="pass"/><test-case name="fn-codepoint-equal-14" result="pass"/><test-case name="fn-codepoint-equal-15" result="pass"/><test-case name="fn-codepoint-equal-16" result="pass"/><test-case name="fn-codepoint-equal-17" result="pass"/><test-case name="fn-codepoint-equal-18" result="pass"/><test-case name="fn-codepoint-equal-19" result="pass"/><test-case name="fn-codepoint-equal-20" result="pass"/><test-case name="fn-codepoint-equal-21" result="pass"/><test-case name="K2-CodepointEqual-1" result="pass"/><test-case name="K2-CodepointEqual-2" result="pass"/><test-case name="K2-CodepointEqual-3" result="pass"/><test-case name="K2-CodepointEqual-4" result="pass"/><test-case name="K2-CodepointEqual-5" result="pass"/><test-case name="K2-CodepointEqual-6" result="pass"/><test-case name="K2-CompareFunc-1" result="pass"/><test-case name="K2-CompareFunc-2" result="pass"/><test-case name="K2-CompareFunc-3" result="pass"/><test-case name="K2-CompareFunc-4" result="pass"/><test-case name="K2-CompareFunc-5" result="pass"/><test-case name="K2-CompareFunc-6" result="pass"/><test-case name="K2-CompareFunc-7" result="pass"/><test-case name="K2-CompareFunc-8" result="pass"/><test-case name="K2-CompareFunc-9" result="pass"/><test-case name="fn-concatint2args-1" result="pass"/><test-case name="fn-concatint2args-2" result="pass"/><test-case name="fn-concatint2args-3" result="pass"/><test-case name="fn-concatint2args-4" result="pass"/><test-case name="fn-concatint2args-5" result="pass"/><test-case name="fn-concatintg2args-1" result="pass"/><test-case name="fn-concatintg2args-2" result="pass"/><test-case name="fn-concatintg2args-3" result="pass"/><test-case name="fn-concatintg2args-4" result="pass"/><test-case name="fn-concatintg2args-5" result="pass"/><test-case name="fn-concatdec2args-1" result="fail"/><test-case name="fn-concatdec2args-2" result="fail"/><test-case name="fn-concatdec2args-3" result="fail"/><test-case name="fn-concatdec2args-4" result="fail"/><test-case name="fn-concatdec2args-5" result="fail"/><test-case name="fn-concatdbl2args-1" result="pass"/><test-case name="fn-concatdbl2args-2" result="pass"/><test-case name="fn-concatdbl2args-3" result="pass"/><test-case name="fn-concatdbl2args-4" result="pass"/><test-case name="fn-concatdbl2args-5" result="pass"/><test-case name="fn-concatflt2args-1" result="pass"/><test-case name="fn-concatflt2args-2" result="pass"/><test-case name="fn-concatflt2args-3" result="pass"/><test-case name="fn-concatflt2args-4" result="pass"/><test-case name="fn-concatflt2args-5" result="pass"/><test-case name="fn-concatlng2args-1" result="pass"/><test-case name="fn-concatlng2args-2" result="pass"/><test-case name="fn-concatlng2args-3" result="pass"/><test-case name="fn-concatlng2args-4" result="pass"/><test-case name="fn-concatlng2args-5" result="pass"/><test-case name="fn-concatusht2args-1" result="pass"/><test-case name="fn-concatusht2args-2" result="pass"/><test-case name="fn-concatusht2args-3" result="pass"/><test-case name="fn-concatusht2args-4" result="pass"/><test-case name="fn-concatusht2args-5" result="pass"/><test-case name="fn-concatnint2args-1" result="pass"/><test-case name="fn-concatnint2args-2" result="pass"/><test-case name="fn-concatnint2args-3" result="pass"/><test-case name="fn-concatnint2args-4" result="pass"/><test-case name="fn-concatnint2args-5" result="pass"/><test-case name="fn-concatpint2args-1" result="pass"/><test-case name="fn-concatpint2args-2" result="pass"/><test-case name="fn-concatpint2args-3" result="pass"/><test-case name="fn-concatpint2args-4" result="pass"/><test-case name="fn-concatpint2args-5" result="pass"/><test-case name="fn-concatulng2args-1" result="pass"/><test-case name="fn-concatulng2args-2" result="pass"/><test-case name="fn-concatulng2args-3" result="pass"/><test-case name="fn-concatulng2args-4" result="pass"/><test-case name="fn-concatulng2args-5" result="pass"/><test-case name="fn-concatnpi2args-1" result="pass"/><test-case name="fn-concatnpi2args-2" result="pass"/><test-case name="fn-concatnpi2args-3" result="pass"/><test-case name="fn-concatnpi2args-4" result="pass"/><test-case name="fn-concatnpi2args-5" result="pass"/><test-case name="fn-concatnni2args-1" result="pass"/><test-case name="fn-concatnni2args-2" result="pass"/><test-case name="fn-concatnni2args-3" result="pass"/><test-case name="fn-concatnni2args-4" result="pass"/><test-case name="fn-concatnni2args-5" result="pass"/><test-case name="fn-concatsht2args-1" result="pass"/><test-case name="fn-concatsht2args-2" result="pass"/><test-case name="fn-concatsht2args-3" result="pass"/><test-case name="fn-concatsht2args-4" result="pass"/><test-case name="fn-concatsht2args-5" result="pass"/><test-case name="fn-concat-1" result="pass"/><test-case name="fn-concat-2" result="pass"/><test-case name="fn-concat-3" result="pass"/><test-case name="fn-concat-4" result="pass"/><test-case name="fn-concat-5" result="pass"/><test-case name="fn-concat-6" result="pass"/><test-case name="fn-concat-7" result="pass"/><test-case name="fn-concat-8" result="pass"/><test-case name="fn-concat-9" result="pass"/><test-case name="fn-concat-10" result="pass"/><test-case name="fn-concat-11" result="pass"/><test-case name="fn-concat-12" result="pass"/><test-case name="fn-concat-13" result="pass"/><test-case name="fn-concat-14" result="pass"/><test-case name="fn-concat-15" result="pass"/><test-case name="fn-concat-16" result="pass"/><test-case name="fn-concat-17" result="pass"/><test-case name="K-ConcatFunc-1" result="pass"/><test-case name="K-ConcatFunc-2" result="pass"/><test-case name="K-ConcatFunc-3" result="pass"/><test-case name="K-ConcatFunc-4" result="pass"/><test-case name="K-ConcatFunc-5" result="pass"/><test-case name="K-ConcatFunc-6" result="pass"/><test-case name="K-ConcatFunc-7" result="pass"/><test-case name="K-ConcatFunc-8" result="pass"/><test-case name="K-ConcatFunc-9" result="pass"/><test-case name="K2-ConcatFunc-1" result="pass"/><test-case name="K2-ConcatFunc-2" result="pass"/><test-case name="K2-ConcatFunc-3" result="pass"/><test-case name="fn-string-join2args-1" result="pass"/><test-case name="fn-string-join2args-2" result="pass"/><test-case name="fn-string-join2args-3" result="pass"/><test-case name="fn-string-join2args-4" result="pass"/><test-case name="fn-string-join2args-5" result="pass"/><test-case name="fn-string-join-1" result="pass"/><test-case name="fn-string-join-2" result="pass"/><test-case name="fn-string-join-3" result="pass"/><test-case name="fn-string-join-4" result="pass"/><test-case name="fn-string-join-5" result="pass"/><test-case name="fn-string-join-6" result="pass"/><test-case name="fn-string-join-7" result="pass"/><test-case name="fn-string-join-8" result="pass"/><test-case name="fn-string-join-9" result="pass"/><test-case name="fn-string-join-10" result="pass"/><test-case name="fn-string-join-11" result="pass"/><test-case name="fn-string-join-12" result="pass"/><test-case name="fn-string-join-13" result="pass"/><test-case name="fn-string-join-14" result="pass"/><test-case name="fn-string-join-15" result="pass"/><test-case name="fn-string-join-16" result="pass"/><test-case name="fn-string-join-17" result="pass"/><test-case name="fn-string-join-18" result="pass"/><test-case name="fn-string-join-19" result="pass"/><test-case name="fn-string-join-20" result="pass"/><test-case name="fn-string-join-21" result="pass"/><test-case name="K-StringJoinFunc-1" result="pass"/><test-case name="K-StringJoinFunc-2" result="pass"/><test-case name="K-StringJoinFunc-3" result="pass"/><test-case name="K-StringJoinFunc-4" result="pass"/><test-case name="K-StringJoinFunc-5" result="pass"/><test-case name="K-StringJoinFunc-6" result="pass"/><test-case name="K-StringJoinFunc-7" result="pass"/><test-case name="fn-substring-1" result="pass"/><test-case name="fn-substring-2" result="pass"/><test-case name="fn-substring-3" result="pass"/><test-case name="fn-substring-4" result="pass"/><test-case name="fn-substring-5" result="pass"/><test-case name="fn-substring-6" result="pass"/><test-case name="fn-substring-7" result="pass"/><test-case name="fn-substring-8" result="pass"/><test-case name="fn-substring-9" result="pass"/><test-case name="fn-substring-10" result="pass"/><test-case name="fn-substring-11" result="pass"/><test-case name="fn-substring-12" result="pass"/><test-case name="fn-substring-13" result="pass"/><test-case name="fn-substring-14" result="pass"/><test-case name="fn-substring-15" result="pass"/><test-case name="fn-substring-16" result="pass"/><test-case name="fn-substring-17" result="pass"/><test-case name="fn-substring-18" result="pass"/><test-case name="fn-substring-19" result="pass"/><test-case name="fn-substring-20" result="pass"/><test-case name="fn-substring-21" result="pass"/><test-case name="K-SubstringFunc-1" result="pass"/><test-case name="K-SubstringFunc-2" result="pass"/><test-case name="K-SubstringFunc-3" result="pass"/><test-case name="K-SubstringFunc-4" result="pass"/><test-case name="K-SubstringFunc-5" result="pass"/><test-case name="K-SubstringFunc-6" result="pass"/><test-case name="K-SubstringFunc-7" result="pass"/><test-case name="K-SubstringFunc-8" result="pass"/><test-case name="K-SubstringFunc-9" result="pass"/><test-case name="K-SubstringFunc-10" result="pass"/><test-case name="K-SubstringFunc-11" result="pass"/><test-case name="K-SubstringFunc-12" result="pass"/><test-case name="K-SubstringFunc-13" result="pass"/><test-case name="K-SubstringFunc-14" result="pass"/><test-case name="K-SubstringFunc-15" result="pass"/><test-case name="fn-string-length1args-1" result="pass"/><test-case name="fn-string-length1args-2" result="pass"/><test-case name="fn-string-length1args-3" result="pass"/><test-case name="fn-string-length-1" result="pass"/><test-case name="fn-string-length-2" result="pass"/><test-case name="fn-string-length-3" result="pass"/><test-case name="fn-string-length-4" result="pass"/><test-case name="fn-string-length-5" result="pass"/><test-case name="fn-string-length-6" result="pass"/><test-case name="fn-string-length-7" result="pass"/><test-case name="fn-string-length-8" result="pass"/><test-case name="fn-string-length-9" result="pass"/><test-case name="fn-string-length-10" result="pass"/><test-case name="fn-string-length-11" result="pass"/><test-case name="fn-string-length-12" result="pass"/><test-case name="fn-string-length-13" result="pass"/><test-case name="fn-string-length-14" result="pass"/><test-case name="fn-string-length-15" result="pass"/><test-case name="fn-string-length-16" result="pass"/><test-case name="fn-string-length-17" result="pass"/><test-case name="fn-string-length-18" result="pass"/><test-case name="K-StringLengthFunc-1" result="pass"/><test-case name="K-StringLengthFunc-2" result="pass"/><test-case name="K-StringLengthFunc-3" result="pass"/><test-case name="K-StringLengthFunc-4" result="pass"/><test-case name="K-StringLengthFunc-5" result="pass"/><test-case name="K-StringLengthFunc-6" result="pass"/><test-case name="K-StringLengthFunc-7" result="pass"/><test-case name="K-StringLengthFunc-8" result="pass"/><test-case name="fn-normalize-space1args-1" result="pass"/><test-case name="fn-normalize-space1args-2" result="pass"/><test-case name="fn-normalize-space1args-3" result="pass"/><test-case name="fn-normalize-space1args-4" result="pass"/><test-case name="fn-normalize-space0args-1" result="pass"/><test-case name="fn-normalize-space-1" result="pass"/><test-case name="fn-normalize-space-2" result="pass"/><test-case name="fn-normalize-space-3" result="pass"/><test-case name="fn-normalize-space-4" result="pass"/><test-case name="fn-normalize-space-5" result="pass"/><test-case name="fn-normalize-space-6" result="pass"/><test-case name="fn-normalize-space-7" result="pass"/><test-case name="fn-normalize-space-8" result="pass"/><test-case name="fn-normalize-space-9" result="pass"/><test-case name="fn-normalize-space-10" result="pass"/><test-case name="fn-normalize-space-11" result="pass"/><test-case name="fn-normalize-space-12" result="pass"/><test-case name="fn-normalize-space-13" result="pass"/><test-case name="fn-normalize-space-14" result="pass"/><test-case name="fn-normalize-space-15" result="pass"/><test-case name="fn-normalize-space-16" result="pass"/><test-case name="fn-normalize-space-17" result="pass"/><test-case name="fn-normalize-space-18" result="pass"/><test-case name="fn-normalize-space-19" result="pass"/><test-case name="fn-normalize-space-20" result="pass"/><test-case name="fn-normalize-space-21" result="pass"/><test-case name="K-NormalizeSpaceFunc-1" result="pass"/><test-case name="K-NormalizeSpaceFunc-2" result="pass"/><test-case name="K-NormalizeSpaceFunc-3" result="pass"/><test-case name="K-NormalizeSpaceFunc-4" result="pass"/><test-case name="K-NormalizeSpaceFunc-5" result="pass"/><test-case name="K-NormalizeSpaceFunc-6" result="pass"/><test-case name="K-NormalizeSpaceFunc-7" result="pass"/><test-case name="K-NormalizeSpaceFunc-8" result="pass"/><test-case name="K-NormalizeSpaceFunc-9" result="pass"/><test-case name="fn-normalize-unicode1args-1" result="pass"/><test-case name="fn-normalize-unicode1args-2" result="pass"/><test-case name="fn-normalize-unicode1args-3" result="pass"/><test-case name="fn-normalize-unicode1args-4" result="pass"/><test-case name="fn-normalize-unicode1args-5" result="pass"/><test-case name="fn-normalize-unicode1args-6" result="pass"/><test-case name="fn-normalize-unicode1args-7" result="pass"/><test-case name="fn-normalize-unicode1args-8" result="pass"/><test-case name="fn-normalize-unicode2args-1" result="pass"/><test-case name="fn-normalize-unicode2args-2" result="pass"/><test-case name="fn-normalize-unicode2args-3" result="pass"/><test-case name="fn-normalize-unicode2args-4" result="pass"/><test-case name="fn-normalize-unicode2args-5" result="pass"/><test-case name="fn-normalize-unicode2args-6" result="pass"/><test-case name="fn-normalize-unicode-1" result="pass"/><test-case name="fn-normalize-unicode-2" result="pass"/><test-case name="fn-normalize-unicode-3" result="pass"/><test-case name="fn-normalize-unicode-4" result="pass"/><test-case name="fn-normalize-unicode-5" result="pass"/><test-case name="fn-normalize-unicode-6" result="pass"/><test-case name="fn-normalize-unicode-7" result="pass"/><test-case name="K-NormalizeUnicodeFunc-1" result="pass"/><test-case name="K-NormalizeUnicodeFunc-2" result="pass"/><test-case name="K-NormalizeUnicodeFunc-3" result="pass"/><test-case name="K-NormalizeUnicodeFunc-4" result="pass"/><test-case name="K-NormalizeUnicodeFunc-5" result="pass"/><test-case name="K-NormalizeUnicodeFunc-6" result="pass"/><test-case name="K-NormalizeUnicodeFunc-7" result="pass"/><test-case name="K-NormalizeUnicodeFunc-8" result="pass"/><test-case name="K-NormalizeUnicodeFunc-9" result="pass"/><test-case name="K-NormalizeUnicodeFunc-10" result="pass"/><test-case name="K-NormalizeUnicodeFunc-11" result="pass"/><test-case name="K-NormalizeUnicodeFunc-12" result="pass"/><test-case name="K-NormalizeUnicodeFunc-13" result="pass"/><test-case name="fn-upper-case1args-1" result="pass"/><test-case name="fn-upper-case1args-2" result="pass"/><test-case name="fn-upper-case1args-3" result="pass"/><test-case name="fn-upper-case-1" result="pass"/><test-case name="fn-upper-case-2" result="pass"/><test-case name="fn-upper-case-3" result="pass"/><test-case name="fn-upper-case-4" result="pass"/><test-case name="fn-upper-case-5" result="pass"/><test-case name="fn-upper-case-6" result="pass"/><test-case name="fn-upper-case-7" result="pass"/><test-case name="fn-upper-case-8" result="pass"/><test-case name="fn-upper-case-9" result="pass"/><test-case name="fn-upper-case-10" result="pass"/><test-case name="fn-upper-case-11" result="pass"/><test-case name="fn-upper-case-12" result="pass"/><test-case name="fn-upper-case-13" result="pass"/><test-case name="fn-upper-case-14" result="pass"/><test-case name="fn-upper-case-15" result="pass"/><test-case name="fn-upper-case-16" result="pass"/><test-case name="fn-upper-case-17" result="pass"/><test-case name="K-UpperCaseFunc-1" result="pass"/><test-case name="K-UpperCaseFunc-2" result="pass"/><test-case name="K-UpperCaseFunc-3" result="pass"/><test-case name="K-UpperCaseFunc-4" result="pass"/><test-case name="fn-lower-case1args-1" result="pass"/><test-case name="fn-lower-case1args-2" result="pass"/><test-case name="fn-lower-case1args-3" result="pass"/><test-case name="fn-lower-case-1" result="pass"/><test-case name="fn-lower-case-2" result="pass"/><test-case name="fn-lower-case-3" result="pass"/><test-case name="fn-lower-case-4" result="pass"/><test-case name="fn-lower-case-5" result="pass"/><test-case name="fn-lower-case-6" result="pass"/><test-case name="fn-lower-case-7" result="pass"/><test-case name="fn-lower-case-8" result="pass"/><test-case name="fn-lower-case-9" result="pass"/><test-case name="fn-lower-case-10" result="pass"/><test-case name="fn-lower-case-11" result="pass"/><test-case name="fn-lower-case-12" result="pass"/><test-case name="fn-lower-case-13" result="pass"/><test-case name="fn-lower-case-14" result="pass"/><test-case name="fn-lower-case-15" result="pass"/><test-case name="fn-lower-case-16" result="pass"/><test-case name="fn-lower-case-17" result="pass"/><test-case name="K-LowerCaseFunc-1" result="pass"/><test-case name="K-LowerCaseFunc-2" result="pass"/><test-case name="K-LowerCaseFunc-3" result="pass"/><test-case name="K-LowerCaseFunc-4" result="pass"/><test-case name="fn-translate3args-1" result="pass"/><test-case name="fn-translate3args-2" result="pass"/><test-case name="fn-translate3args-3" result="pass"/><test-case name="fn-translate3args-4" result="pass"/><test-case name="fn-translate3args-5" result="pass"/><test-case name="fn-translate3args-6" result="pass"/><test-case name="fn-translate3args-7" result="pass"/><test-case name="fn-translate3args-8" result="pass"/><test-case name="fn-translate-1" result="pass"/><test-case name="fn-translate-2" result="pass"/><test-case name="fn-translate-3" result="pass"/><test-case name="fn-translate-4" result="pass"/><test-case name="fn-translate-5" result="pass"/><test-case name="fn-translate-6" result="pass"/><test-case name="fn-translate-7" result="pass"/><test-case name="fn-translate-8" result="pass"/><test-case name="fn-translate-9" result="pass"/><test-case name="fn-translate-10" result="pass"/><test-case name="fn-translate-11" result="pass"/><test-case name="fn-translate-12" result="pass"/><test-case name="fn-translate-13" result="pass"/><test-case name="fn-translate-14" result="pass"/><test-case name="fn-translate-15" result="pass"/><test-case name="fn-translate-16" result="pass"/><test-case name="K-TranslateFunc-1" result="pass"/><test-case name="K-TranslateFunc-2" result="pass"/><test-case name="K-TranslateFunc-3" result="pass"/><test-case name="K-TranslateFunc-4" result="pass"/><test-case name="K-TranslateFunc-5" result="pass"/><test-case name="K-TranslateFunc-6" result="pass"/><test-case name="K-TranslateFunc-7" result="pass"/><test-case name="K-TranslateFunc-8" result="pass"/><test-case name="K-TranslateFunc-9" result="pass"/><test-case name="K-TranslateFunc-10" result="pass"/><test-case name="K2-TranslateFunc-1" result="pass"/><test-case name="K2-TranslateFunc-2" result="pass"/><test-case name="surrogates01" result="pass"/><test-case name="surrogates02" result="pass"/><test-case name="surrogates03" result="fail"/><test-case name="surrogates04" result="pass"/><test-case name="surrogates05" result="pass"/><test-case name="surrogates06" result="fail"/><test-case name="surrogates07" result="fail"/><test-case name="surrogates08" result="fail"/><test-case name="surrogates09" result="pass"/><test-case name="surrogates10" result="fail"/><test-case name="surrogates11" result="pass"/><test-case name="surrogates12" result="pass"/><test-case name="surrogates13" result="pass"/><test-case name="surrogates14" result="fail"/><test-case name="surrogates15" result="pass"/><test-case name="fn-encode-for-uri1args-1" result="pass"/><test-case name="fn-encode-for-uri1args-2" result="pass"/><test-case name="fn-encode-for-uri1args-3" result="pass"/><test-case name="fn-encode-for-uri1args-4" result="pass"/><test-case name="fn-encode-for-uri1args-5" result="pass"/><test-case name="fn-encode-for-uri1args-6" result="pass"/><test-case name="fn-encode-for-uri1args-7" result="pass"/><test-case name="fn-encode-for-uri-1" result="pass"/><test-case name="fn-encode-for-uri-2" result="pass"/><test-case name="fn-encode-for-uri-3" result="pass"/><test-case name="fn-encode-for-uri-4" result="pass"/><test-case name="fn-encode-for-uri-5" result="pass"/><test-case name="fn-encode-for-uri-6" result="pass"/><test-case name="fn-encode-for-uri-7" result="pass"/><test-case name="fn-encode-for-uri-8" result="pass"/><test-case name="fn-encode-for-uri-9" result="pass"/><test-case name="fn-encode-for-uri-10" result="pass"/><test-case name="fn-encode-for-uri-11" result="pass"/><test-case name="fn-encode-for-uri-12" result="pass"/><test-case name="fn-encode-for-uri-13" result="pass"/><test-case name="fn-encode-for-uri-14" result="pass"/><test-case name="fn-encode-for-uri-15" result="pass"/><test-case name="fn-encode-for-uri-16" result="pass"/><test-case name="K-EncodeURIfunc-1" result="pass"/><test-case name="K-EncodeURIfunc-2" result="pass"/><test-case name="K-EncodeURIfunc-3" result="pass"/><test-case name="K-EncodeURIfunc-4" result="pass"/><test-case name="K-EncodeURIfunc-5" result="pass"/><test-case name="K-EncodeURIfunc-6" result="pass"/><test-case name="fn-iri-to-uri1args-1" result="pass"/><test-case name="fn-iri-to-uri1args-2" result="pass"/><test-case name="fn-iri-to-uri1args-3" result="pass"/><test-case name="fn-iri-to-uri1args-4" result="pass"/><test-case name="fn-iri-to-uri1args-5" result="pass"/><test-case name="fn-iri-to-uri1args-6" result="pass"/><test-case name="fn-iri-to-uri-1" result="pass"/><test-case name="fn-iri-to-uri-2" result="pass"/><test-case name="fn-iri-to-uri-3" result="pass"/><test-case name="fn-iri-to-uri-4" result="pass"/><test-case name="fn-iri-to-uri-5" result="pass"/><test-case name="fn-iri-to-uri-6" result="pass"/><test-case name="fn-iri-to-uri-7" result="pass"/><test-case name="fn-iri-to-uri-8" result="pass"/><test-case name="fn-iri-to-uri-9" result="pass"/><test-case name="fn-iri-to-uri-10" result="pass"/><test-case name="fn-iri-to-uri-11" result="pass"/><test-case name="fn-iri-to-uri-12" result="pass"/><test-case name="fn-iri-to-uri-13" result="pass"/><test-case name="fn-iri-to-uri-14" result="pass"/><test-case name="fn-iri-to-uri-15" result="pass"/><test-case name="fn-iri-to-uri-16" result="pass"/><test-case name="fn-iri-to-uri-17" result="pass"/><test-case name="fn-iri-to-uri-18" result="pass"/><test-case name="fn-iri-to-uri-19" result="pass"/><test-case name="fn-iri-to-uri-20" result="pass"/><test-case name="fn-iri-to-uri-21" result="pass"/><test-case name="fn-iri-to-uri-22" result="pass"/><test-case name="fn-iri-to-uri-23" result="pass"/><test-case name="fn-iri-to-uri-24" result="pass"/><test-case name="fn-iri-to-uri-25" result="pass"/><test-case name="fn-iri-to-uri-26" result="pass"/><test-case name="K-IRIToURIfunc-1" result="pass"/><test-case name="K-IRIToURIfunc-2" result="pass"/><test-case name="K-IRIToURIfunc-3" result="pass"/><test-case name="K-IRIToURIfunc-4" result="pass"/><test-case name="K2-IRIToURIfunc-1" result="pass"/><test-case name="K2-IRIToURIfunc-2" result="pass"/><test-case name="K2-IRIToURIfunc-3" result="pass"/><test-case name="K2-IRIToURIfunc-4" result="pass"/><test-case name="K2-IRIToURIfunc-5" result="pass"/><test-case name="K2-IRIToURIfunc-6" result="pass"/><test-case name="K2-IRIToURIfunc-7" result="pass"/><test-case name="K2-IRIToURIfunc-8" result="pass"/><test-case name="K2-IRIToURIfunc-9" result="pass"/><test-case name="K2-IRIToURIfunc-10" result="pass"/><test-case name="fn-escape-html-uri1args-1" result="pass"/><test-case name="fn-escape-html-uri1args-2" result="pass"/><test-case name="fn-escape-html-uri1args-3" result="pass"/><test-case name="fn-escape-html-uri1args-4" result="pass"/><test-case name="fn-escape-html-uri1args-5" result="pass"/><test-case name="fn-escape-html-uri1args-6" result="pass"/><test-case name="fn-escape-html-uri-1" result="pass"/><test-case name="fn-escape-html-uri-2" result="pass"/><test-case name="fn-escape-html-uri-3" result="pass"/><test-case name="fn-escape-html-uri-4" result="pass"/><test-case name="fn-escape-html-uri-5" result="pass"/><test-case name="fn-escape-html-uri-6" result="pass"/><test-case name="fn-escape-html-uri-7" result="pass"/><test-case name="fn-escape-html-uri-8" result="pass"/><test-case name="fn-escape-html-uri-9" result="pass"/><test-case name="fn-escape-html-uri-10" result="pass"/><test-case name="fn-escape-html-uri-11" result="pass"/><test-case name="fn-escape-html-uri-12" result="pass"/><test-case name="fn-escape-html-uri-13" result="pass"/><test-case name="fn-escape-html-uri-14" result="pass"/><test-case name="fn-escape-html-uri-15" result="pass"/><test-case name="fn-escape-html-uri-16" result="pass"/><test-case name="fn-escape-html-uri-17" result="pass"/><test-case name="fn-escape-html-uri-18" result="pass"/><test-case name="fn-escape-html-uri-19" result="pass"/><test-case name="fn-escape-html-uri-20" result="pass"/><test-case name="fn-escape-html-uri-21" result="pass"/><test-case name="K-EscapeHTMLURIFunc-1" result="pass"/><test-case name="K-EscapeHTMLURIFunc-2" result="pass"/><test-case name="K-EscapeHTMLURIFunc-3" result="pass"/><test-case name="K-EscapeHTMLURIFunc-4" result="pass"/><test-case name="K-EscapeHTMLURIFunc-5" result="pass"/><test-case name="K-EscapeHTMLURIFunc-6" result="pass"/><test-case name="fn-contains2args-1" result="pass"/><test-case name="fn-contains2args-2" result="pass"/><test-case name="fn-contains2args-3" result="pass"/><test-case name="fn-contains2args-4" result="pass"/><test-case name="fn-contains2args-5" result="pass"/><test-case name="fn-contains-1" result="pass"/><test-case name="fn-contains-2" result="pass"/><test-case name="fn-contains-3" result="pass"/><test-case name="fn-contains-4" result="pass"/><test-case name="fn-contains-5" result="pass"/><test-case name="fn-contains-6" result="pass"/><test-case name="fn-contains-7" result="pass"/><test-case name="fn-contains-8" result="pass"/><test-case name="fn-contains-9" result="pass"/><test-case name="fn-contains-10" result="pass"/><test-case name="fn-contains-11" result="pass"/><test-case name="fn-contains-12" result="pass"/><test-case name="fn-contains-13" result="pass"/><test-case name="fn-contains-14" result="pass"/><test-case name="fn-contains-15" result="pass"/><test-case name="fn-contains-16" result="pass"/><test-case name="K-ContainsFunc-1" result="pass"/><test-case name="K-ContainsFunc-2" result="pass"/><test-case name="K-ContainsFunc-3" result="pass"/><test-case name="K-ContainsFunc-4" result="pass"/><test-case name="K-ContainsFunc-5" result="pass"/><test-case name="K-ContainsFunc-6" result="pass"/><test-case name="K-ContainsFunc-7" result="pass"/><test-case name="K-ContainsFunc-8" result="pass"/><test-case name="K-ContainsFunc-9" result="pass"/><test-case name="K-ContainsFunc-10" result="pass"/><test-case name="K-ContainsFunc-11" result="pass"/><test-case name="K2-ContainsFunc-1" result="pass"/><test-case name="K2-ContainsFunc-2" result="pass"/><test-case name="K2-ContainsFunc-3" result="pass"/><test-case name="K2-ContainsFunc-4" result="pass"/><test-case name="K2-ContainsFunc-5" result="pass"/><test-case name="K2-ContainsFunc-6" result="pass"/><test-case name="fn-starts-with2args-1" result="pass"/><test-case name="fn-starts-with2args-2" result="pass"/><test-case name="fn-starts-with2args-3" result="pass"/><test-case name="fn-starts-with2args-4" result="pass"/><test-case name="fn-starts-with2args-5" result="pass"/><test-case name="fn-starts-with-1" result="pass"/><test-case name="fn-starts-with-2" result="pass"/><test-case name="fn-starts-with-3" result="pass"/><test-case name="fn-starts-with-4" result="pass"/><test-case name="fn-starts-with-5" result="pass"/><test-case name="fn-starts-with-6" result="pass"/><test-case name="fn-starts-with-7" result="pass"/><test-case name="fn-starts-with-8" result="pass"/><test-case name="fn-starts-with-9" result="pass"/><test-case name="fn-starts-with-10" result="pass"/><test-case name="fn-starts-with-11" result="pass"/><test-case name="fn-starts-with-12" result="pass"/><test-case name="fn-starts-with-13" result="pass"/><test-case name="fn-starts-with-14" result="pass"/><test-case name="fn-starts-with-15" result="pass"/><test-case name="fn-starts-with-16" result="pass"/><test-case name="K-StartsWithFunc-1" result="pass"/><test-case name="K-StartsWithFunc-2" result="pass"/><test-case name="K-StartsWithFunc-3" result="pass"/><test-case name="K-StartsWithFunc-4" result="pass"/><test-case name="K-StartsWithFunc-5" result="pass"/><test-case name="K-StartsWithFunc-6" result="pass"/><test-case name="K-StartsWithFunc-7" result="pass"/><test-case name="K-StartsWithFunc-8" result="pass"/><test-case name="K-StartsWithFunc-9" result="pass"/><test-case name="K-StartsWithFunc-10" result="pass"/><test-case name="K-StartsWithFunc-11" result="pass"/><test-case name="K2-StartsWithFunc-1" result="pass"/><test-case name="K2-StartsWithFunc-2" result="pass"/><test-case name="K2-StartsWithFunc-3" result="pass"/><test-case name="K2-StartsWithFunc-4" result="pass"/><test-case name="K2-StartsWithFunc-5" result="pass"/><test-case name="K2-StartsWithFunc-6" result="pass"/><test-case name="fn-ends-with2args-1" result="pass"/><test-case name="fn-ends-with2args-2" result="pass"/><test-case name="fn-ends-with2args-3" result="pass"/><test-case name="fn-ends-with2args-4" result="pass"/><test-case name="fn-ends-with2args-5" result="pass"/><test-case name="fn-ends-with-1" result="pass"/><test-case name="fn-ends-with-2" result="pass"/><test-case name="fn-ends-with-3" result="pass"/><test-case name="fn-ends-with-4" result="pass"/><test-case name="fn-ends-with-5" result="pass"/><test-case name="fn-ends-with-6" result="pass"/><test-case name="fn-ends-with-7" result="pass"/><test-case name="fn-ends-with-8" result="pass"/><test-case name="fn-ends-with-9" result="pass"/><test-case name="fn-ends-with-10" result="pass"/><test-case name="fn-ends-with-11" result="pass"/><test-case name="fn-ends-with-12" result="pass"/><test-case name="fn-ends-with-13" result="pass"/><test-case name="fn-ends-with-14" result="pass"/><test-case name="fn-ends-with-15" result="pass"/><test-case name="fn-ends-with-16" result="pass"/><test-case name="K-EndsWithFunc-1" result="pass"/><test-case name="K-EndsWithFunc-2" result="pass"/><test-case name="K-EndsWithFunc-3" result="pass"/><test-case name="K-EndsWithFunc-4" result="pass"/><test-case name="K-EndsWithFunc-5" result="pass"/><test-case name="K-EndsWithFunc-6" result="pass"/><test-case name="K-EndsWithFunc-7" result="pass"/><test-case name="K-EndsWithFunc-8" result="pass"/><test-case name="K-EndsWithFunc-9" result="pass"/><test-case name="K-EndsWithFunc-10" result="pass"/><test-case name="K2-EndsWithFunc-1" result="pass"/><test-case name="K2-EndsWithFunc-2" result="pass"/><test-case name="K2-EndsWithFunc-3" result="pass"/><test-case name="K2-EndsWithFunc-4" result="pass"/><test-case name="K2-EndsWithFunc-5" result="pass"/><test-case name="K2-EndsWithFunc-6" result="pass"/><test-case name="fn-substring-before-1" result="pass"/><test-case name="fn-substring-before-2" result="pass"/><test-case name="fn-substring-before-3" result="pass"/><test-case name="fn-substring-before-4" result="pass"/><test-case name="fn-substring-before-5" result="pass"/><test-case name="fn-substring-before-6" result="pass"/><test-case name="fn-substring-before-7" result="pass"/><test-case name="fn-substring-before-8" result="pass"/><test-case name="fn-substring-before-9" result="pass"/><test-case name="fn-substring-before-10" result="pass"/><test-case name="fn-substring-before-11" result="pass"/><test-case name="fn-substring-before-12" result="pass"/><test-case name="fn-substring-before-13" result="pass"/><test-case name="fn-substring-before-14" result="pass"/><test-case name="fn-substring-before-15" result="pass"/><test-case name="fn-substring-before-16" result="pass"/><test-case name="fn-substring-before-17" result="pass"/><test-case name="fn-substring-before-18" result="pass"/><test-case name="fn-substring-before-19" result="pass"/><test-case name="fn-substring-before-20" result="pass"/><test-case name="fn-substring-before-21" result="pass"/><test-case name="K-SubstringBeforeFunc-1" result="pass"/><test-case name="K-SubstringBeforeFunc-2" result="pass"/><test-case name="K-SubstringBeforeFunc-3" result="pass"/><test-case name="K-SubstringBeforeFunc-4" result="pass"/><test-case name="K-SubstringBeforeFunc-5" result="pass"/><test-case name="K-SubstringBeforeFunc-6" result="pass"/><test-case name="K-SubstringBeforeFunc-7" result="pass"/><test-case name="K-SubstringBeforeFunc-8" result="pass"/><test-case name="K-SubstringBeforeFunc-9" result="pass"/><test-case name="K-SubstringBeforeFunc-10" result="pass"/><test-case name="fn-substring-after-1" result="pass"/><test-case name="fn-substring-after-2" result="pass"/><test-case name="fn-substring-after-3" result="pass"/><test-case name="fn-substring-after-4" result="pass"/><test-case name="fn-substring-after-5" result="pass"/><test-case name="fn-substring-after-6" result="pass"/><test-case name="fn-substring-after-7" result="pass"/><test-case name="fn-substring-after-8" result="pass"/><test-case name="fn-substring-after-9" result="pass"/><test-case name="fn-substring-after-10" result="pass"/><test-case name="fn-substring-after-11" result="pass"/><test-case name="fn-substring-after-12" result="pass"/><test-case name="fn-substring-after-13" result="pass"/><test-case name="fn-substring-after-14" result="pass"/><test-case name="fn-substring-after-15" result="pass"/><test-case name="fn-substring-after-16" result="pass"/><test-case name="fn-substring-after-17" result="pass"/><test-case name="fn-substring-after-18" result="pass"/><test-case name="fn-substring-after-19" result="pass"/><test-case name="fn-substring-after-20" result="pass"/><test-case name="fn-substring-after-21" result="pass"/><test-case name="K-SubstringAfterFunc-1" result="pass"/><test-case name="K-SubstringAfterFunc-2" result="pass"/><test-case name="K-SubstringAfterFunc-3" result="pass"/><test-case name="K-SubstringAfterFunc-4" result="pass"/><test-case name="K-SubstringAfterFunc-5" result="pass"/><test-case name="K-SubstringAfterFunc-6" result="pass"/><test-case name="K-SubstringAfterFunc-7" result="pass"/><test-case name="K-SubstringAfterFunc-8" result="pass"/><test-case name="K-SubstringAfterFunc-9" result="pass"/><test-case name="K-SubstringAfterFunc-10" result="pass"/><test-case name="K-SubstringAfterFunc-11" result="pass"/><test-case name="fn-matches2args-1" result="pass"/><test-case name="fn-matches2args-2" result="pass"/><test-case name="fn-matches2args-3" result="pass"/><test-case name="fn-matches2args-4" result="pass"/><test-case name="fn-matches2args-5" result="pass"/><test-case name="fn-matchesErr-1" result="pass"/><test-case name="fn-matches-1" result="pass"/><test-case name="fn-matches-2" result="pass"/><test-case name="fn-matches-3" result="pass"/><test-case name="fn-matches-4" result="pass"/><test-case name="fn-matches-5" result="pass"/><test-case name="fn-matches-6" result="pass"/><test-case name="fn-matches-7" result="pass"/><test-case name="fn-matches-8" result="pass"/><test-case name="fn-matches-9" result="pass"/><test-case name="fn-matches-10" result="pass"/><test-case name="fn-matches-11" result="pass"/><test-case name="fn-matches-12" result="pass"/><test-case name="fn-matches-13" result="pass"/><test-case name="fn-matches-14" result="pass"/><test-case name="fn-matches-15" result="pass"/><test-case name="fn-matches-16" result="pass"/><test-case name="fn-matches-17" result="pass"/><test-case name="fn-matches-18" result="pass"/><test-case name="fn-matches-19" result="pass"/><test-case name="fn-matches-20" result="pass"/><test-case name="fn-matches-21" result="pass"/><test-case name="fn-matches-22" result="pass"/><test-case name="fn-matches-23" result="pass"/><test-case name="fn-matches-24" result="pass"/><test-case name="fn-matches-25" result="pass"/><test-case name="fn-matches-26" result="pass"/><test-case name="fn-matches-27" result="fail"/><test-case name="fn-matches-28" result="fail"/><test-case name="caselessmatch01" result="pass"/><test-case name="caselessmatch02" result="pass"/><test-case name="caselessmatch03" result="pass"/><test-case name="caselessmatch04" result="fail"/><test-case name="caselessmatch05" result="pass"/><test-case name="caselessmatch06" result="pass"/><test-case name="caselessmatch07" result="pass"/><test-case name="caselessmatch08" result="fail"/><test-case name="caselessmatch09" result="fail"/><test-case name="caselessmatch10" result="fail"/><test-case name="caselessmatch11" result="fail"/><test-case name="caselessmatch12" result="pass"/><test-case name="caselessmatch13" result="pass"/><test-case name="caselessmatch14" result="fail"/><test-case name="caselessmatch15" result="fail"/><test-case name="K-MatchesFunc-1" result="pass"/><test-case name="K-MatchesFunc-2" result="pass"/><test-case name="K-MatchesFunc-3" result="pass"/><test-case name="K-MatchesFunc-4" result="pass"/><test-case name="K-MatchesFunc-5" result="pass"/><test-case name="K-MatchesFunc-6" result="pass"/><test-case name="K2-MatchesFunc-1" result="fail"/><test-case name="K2-MatchesFunc-2" result="fail"/><test-case name="K2-MatchesFunc-3" result="fail"/><test-case name="K2-MatchesFunc-4" result="fail"/><test-case name="K2-MatchesFunc-5" result="fail"/><test-case name="K2-MatchesFunc-6" result="fail"/><test-case name="K2-MatchesFunc-7" result="pass"/><test-case name="K2-MatchesFunc-8" result="fail"/><test-case name="K2-MatchesFunc-9" result="fail"/><test-case name="K2-MatchesFunc-10" result="fail"/><test-case name="K2-MatchesFunc-11" result="pass"/><test-case name="K2-MatchesFunc-12" result="pass"/><test-case name="K2-MatchesFunc-13" result="fail"/><test-case name="K2-MatchesFunc-14" result="fail"/><test-case name="K2-MatchesFunc-15" result="pass"/><test-case name="K2-MatchesFunc-16" result="pass"/><test-case name="K2-MatchesFunc-17" result="pass"/><test-case name="fn-replace3args-1" result="pass"/><test-case name="fn-replace3args-2" result="pass"/><test-case name="fn-replace3args-3" result="pass"/><test-case name="fn-replace3args-4" result="pass"/><test-case name="fn-replace3args-5" result="pass"/><test-case name="fn-replace3args-6" result="pass"/><test-case name="fn-replace3args-7" result="pass"/><test-case name="fn-replaceErr-1" result="pass"/><test-case name="fn-replaceErr-2" result="pass"/><test-case name="fn-replaceErr-3" result="pass"/><test-case name="fn-replace-1" result="pass"/><test-case name="fn-replace-2" result="pass"/><test-case name="fn-replace-3" result="fail"/><test-case name="fn-replace-4" result="pass"/><test-case name="fn-replace-5" result="pass"/><test-case name="fn-replace-6" result="fail"/><test-case name="fn-replace-7" result="pass"/><test-case name="fn-replace-8" result="fail"/><test-case name="fn-replace-9" result="fail"/><test-case name="fn-replace-10" result="pass"/><test-case name="fn-replace-11" result="pass"/><test-case name="fn-replace-12" result="pass"/><test-case name="fn-replace-13" result="pass"/><test-case name="fn-replace-14" result="pass"/><test-case name="fn-replace-15" result="pass"/><test-case name="fn-replace-16" result="pass"/><test-case name="fn-replace-17" result="pass"/><test-case name="fn-replace-18" result="pass"/><test-case name="fn-replace-19" result="pass"/><test-case name="fn-replace-20" result="pass"/><test-case name="fn-replace-21" result="pass"/><test-case name="fn-replace-22" result="pass"/><test-case name="fn-replace-23" result="pass"/><test-case name="fn-replace-24" result="pass"/><test-case name="fn-replace-25" result="pass"/><test-case name="fn-replace-26" result="pass"/><test-case name="fn-replace-27" result="pass"/><test-case name="fn-replace-28" result="pass"/><test-case name="fn-replace-29" result="pass"/><test-case name="fn-replace-30" result="pass"/><test-case name="fn-replace-31" result="pass"/><test-case name="fn-replace-32" result="pass"/><test-case name="fn-replace-33" result="pass"/><test-case name="K-ReplaceFunc-1" result="pass"/><test-case name="K-ReplaceFunc-2" result="pass"/><test-case name="K-ReplaceFunc-3" result="pass"/><test-case name="K-ReplaceFunc-4" result="pass"/><test-case name="K-ReplaceFunc-5" result="pass"/><test-case name="K-ReplaceFunc-6" result="pass"/><test-case name="K-ReplaceFunc-7" result="pass"/><test-case name="K-ReplaceFunc-8" result="pass"/><test-case name="K-ReplaceFunc-9" result="pass"/><test-case name="K2-ReplaceFunc-1" result="pass"/><test-case name="K2-ReplaceFunc-2" result="pass"/><test-case name="K2-ReplaceFunc-3" result="fail"/><test-case name="K2-ReplaceFunc-4" result="pass"/><test-case name="K2-ReplaceFunc-5" result="pass"/><test-case name="K2-ReplaceFunc-6" result="fail"/><test-case name="K2-ReplaceFunc-7" result="fail"/><test-case name="K2-ReplaceFunc-8" result="pass"/><test-case name="fn-tokenize-1" result="fail"/><test-case name="fn-tokenize-2" result="pass"/><test-case name="fn-tokenize-3" result="pass"/><test-case name="fn-tokenize-4" result="pass"/><test-case name="fn-tokenize-5" result="pass"/><test-case name="fn-tokenize-6" result="pass"/><test-case name="fn-tokenize-7" result="pass"/><test-case name="fn-tokenize-8" result="pass"/><test-case name="fn-tokenize-9" result="fail"/><test-case name="fn-tokenize-10" result="pass"/><test-case name="fn-tokenize-11" result="pass"/><test-case name="fn-tokenize-12" result="pass"/><test-case name="fn-tokenize-13" result="pass"/><test-case name="fn-tokenize-14" result="pass"/><test-case name="fn-tokenize-15" result="pass"/><test-case name="fn-tokenize-16" result="pass"/><test-case name="fn-tokenize-17" result="pass"/><test-case name="fn-tokenize-18" result="pass"/><test-case name="fn-tokenize-19" result="pass"/><test-case name="fn-tokenize-20" result="pass"/><test-case name="fn-tokenize-21" result="pass"/><test-case name="fn-tokenize-22" result="pass"/><test-case name="fn-tokenize-23" result="pass"/><test-case name="fn-tokenize-24" result="pass"/><test-case name="fn-tokenize-25" result="pass"/><test-case name="fn-tokenize-26" result="pass"/><test-case name="fn-tokenize-27" result="pass"/><test-case name="fn-tokenize-28" result="pass"/><test-case name="fn-tokenize-29" result="pass"/><test-case name="fn-tokenize-30" result="pass"/><test-case name="K-TokenizeFunc-1" result="pass"/><test-case name="K-TokenizeFunc-2" result="pass"/><test-case name="K-TokenizeFunc-3" result="pass"/><test-case name="K-TokenizeFunc-4" result="pass"/><test-case name="K-TokenizeFunc-5" result="pass"/><test-case name="K2-TokenizeFunc-1" result="fail"/><test-case name="K2-TokenizeFunc-2" result="pass"/><test-case name="K2-TokenizeFunc-3" result="fail"/><test-case name="K2-TokenizeFunc-4" result="fail"/><test-case name="K2-TokenizeFunc-5" result="fail"/><test-case name="K2-TokenizeFunc-6" result="pass"/><test-case name="K2-TokenizeFunc-7" result="fail"/><test-case name="fn-resolve-uri-1" result="pass"/><test-case name="fn-resolve-uri-2" result="pass"/><test-case name="fn-resolve-uri-3" result="pass"/><test-case name="fn-resolve-uri-4" result="pass"/><test-case name="fn-resolve-uri-5" result="pass"/><test-case name="fn-resolve-uri-6" result="pass"/><test-case name="fn-resolve-uri-7" result="pass"/><test-case name="fn-resolve-uri-8" result="pass"/><test-case name="fn-resolve-uri-9" result="fail"/><test-case name="fn-resolve-uri-10" result="pass"/><test-case name="fn-resolve-uri-11" result="pass"/><test-case name="fn-resolve-uri-12" result="pass"/><test-case name="fn-resolve-uri-13" result="pass"/><test-case name="fn-resolve-uri-14" result="pass"/><test-case name="fn-resolve-uri-15" result="pass"/><test-case name="fn-resolve-uri-16" result="pass"/><test-case name="fn-resolve-uri-17" result="fail"/><test-case name="fn-resolve-uri-18" result="pass"/><test-case name="fn-resolve-uri-19" result="pass"/><test-case name="fn-resolve-uri-20" result="pass"/><test-case name="fn-resolve-uri-21" result="pass"/><test-case name="fn-resolve-uri-22" result="pass"/><test-case name="fn-resolve-uri-23" result="pass"/><test-case name="K-ResolveURIFunc-1" result="pass"/><test-case name="K-ResolveURIFunc-2" result="pass"/><test-case name="K-ResolveURIFunc-3" result="pass"/><test-case name="K-ResolveURIFunc-4" result="pass"/><test-case name="K-ResolveURIFunc-5" result="pass"/><test-case name="K-ResolveURIFunc-6" result="pass"/><test-case name="fn-true-1" result="pass"/><test-case name="fn-true-2" result="pass"/><test-case name="fn-true-3" result="pass"/><test-case name="fn-true-4" result="pass"/><test-case name="fn-true-5" result="pass"/><test-case name="fn-true-6" result="pass"/><test-case name="fn-true-7" result="pass"/><test-case name="fn-true-8" result="pass"/><test-case name="fn-true-9" result="pass"/><test-case name="fn-true-10" result="pass"/><test-case name="fn-true-11" result="pass"/><test-case name="fn-true-12" result="pass"/><test-case name="fn-true-13" result="pass"/><test-case name="fn-true-14" result="pass"/><test-case name="fn-true-15" result="pass"/><test-case name="fn-true-16" result="pass"/><test-case name="fn-true-17" result="pass"/><test-case name="fn-true-18" result="pass"/><test-case name="fn-true-19" result="pass"/><test-case name="fn-true-20" result="pass"/><test-case name="fn-true-21" result="pass"/><test-case name="K-TrueFunc-1" result="pass"/><test-case name="K-TrueFunc-2" result="pass"/><test-case name="K-TrueFunc-3" result="pass"/><test-case name="fn-false-1" result="pass"/><test-case name="fn-false-2" result="pass"/><test-case name="fn-false-3" result="pass"/><test-case name="fn-false-4" result="pass"/><test-case name="fn-false-5" result="pass"/><test-case name="fn-false-6" result="pass"/><test-case name="fn-false-7" result="pass"/><test-case name="fn-false-8" result="pass"/><test-case name="fn-false-9" result="pass"/><test-case name="fn-false-10" result="pass"/><test-case name="fn-false-11" result="pass"/><test-case name="fn-false-12" result="pass"/><test-case name="fn-false-13" result="pass"/><test-case name="fn-false-14" result="pass"/><test-case name="fn-false-15" result="pass"/><test-case name="fn-false-16" result="pass"/><test-case name="fn-false-17" result="pass"/><test-case name="fn-false-18" result="pass"/><test-case name="fn-false-19" result="pass"/><test-case name="fn-false-20" result="pass"/><test-case name="fn-false-21" result="pass"/><test-case name="K-FalseFunc-1" result="pass"/><test-case name="K-FalseFunc-2" result="pass"/><test-case name="K-FalseFunc-3" result="pass"/><test-case name="fn-notint1args-1" result="pass"/><test-case name="fn-notint1args-2" result="pass"/><test-case name="fn-notint1args-3" result="pass"/><test-case name="fn-notintg1args-1" result="pass"/><test-case name="fn-notintg1args-2" result="pass"/><test-case name="fn-notintg1args-3" result="pass"/><test-case name="fn-notdec1args-1" result="pass"/><test-case name="fn-notdec1args-2" result="pass"/><test-case name="fn-notdec1args-3" result="pass"/><test-case name="fn-notdbl1args-1" result="pass"/><test-case name="fn-notdbl1args-2" result="pass"/><test-case name="fn-notdbl1args-3" result="pass"/><test-case name="fn-notflt1args-1" result="pass"/><test-case name="fn-notflt1args-2" result="pass"/><test-case name="fn-notflt1args-3" result="pass"/><test-case name="fn-notlng1args-1" result="pass"/><test-case name="fn-notlng1args-2" result="pass"/><test-case name="fn-notlng1args-3" result="pass"/><test-case name="fn-notusht1args-1" result="pass"/><test-case name="fn-notusht1args-2" result="pass"/><test-case name="fn-notusht1args-3" result="pass"/><test-case name="fn-notnint1args-1" result="pass"/><test-case name="fn-notnint1args-2" result="pass"/><test-case name="fn-notnint1args-3" result="pass"/><test-case name="fn-notpint1args-1" result="pass"/><test-case name="fn-notpint1args-2" result="pass"/><test-case name="fn-notpint1args-3" result="pass"/><test-case name="fn-notulng1args-1" result="pass"/><test-case name="fn-notulng1args-2" result="pass"/><test-case name="fn-notulng1args-3" result="pass"/><test-case name="fn-notnpi1args-1" result="pass"/><test-case name="fn-notnpi1args-2" result="pass"/><test-case name="fn-notnpi1args-3" result="pass"/><test-case name="fn-notnni1args-1" result="pass"/><test-case name="fn-notnni1args-2" result="pass"/><test-case name="fn-notnni1args-3" result="pass"/><test-case name="fn-notsht1args-1" result="pass"/><test-case name="fn-notsht1args-2" result="pass"/><test-case name="fn-notsht1args-3" result="pass"/><test-case name="fn-not-1" result="pass"/><test-case name="fn-not-2" result="pass"/><test-case name="fn-not-3" result="pass"/><test-case name="fn-not-4" result="pass"/><test-case name="fn-not-5" result="pass"/><test-case name="fn-not-6" result="pass"/><test-case name="fn-not-7" result="pass"/><test-case name="fn-not-8" result="pass"/><test-case name="fn-not-9" result="pass"/><test-case name="fn-not-10" result="pass"/><test-case name="fn-not-11" result="pass"/><test-case name="fn-not-12" result="pass"/><test-case name="fn-not-13" result="pass"/><test-case name="fn-not-14" result="pass"/><test-case name="fn-not-15" result="pass"/><test-case name="fn-not-16" result="pass"/><test-case name="fn-not-17" result="pass"/><test-case name="fn-not-18" result="pass"/><test-case name="fn-not-19" result="pass"/><test-case name="fn-not-20" result="pass"/><test-case name="fn-not-21" result="pass"/><test-case name="K-NotFunc-1" result="pass"/><test-case name="K-NotFunc-2" result="pass"/><test-case name="K-NotFunc-3" result="pass"/><test-case name="K-NotFunc-4" result="pass"/><test-case name="K-NotFunc-5" result="pass"/><test-case name="K-NotFunc-6" result="pass"/><test-case name="K-NotFunc-7" result="pass"/><test-case name="K-NotFunc-8" result="pass"/><test-case name="K-NotFunc-9" result="pass"/><test-case name="K-NotFunc-10" result="pass"/><test-case name="fn-years-from-duration1args-1" result="pass"/><test-case name="fn-years-from-duration1args-2" result="pass"/><test-case name="fn-years-from-duration1args-3" result="pass"/><test-case name="fn-years-from-duration-1" result="pass"/><test-case name="fn-years-from-duration-2" result="pass"/><test-case name="fn-years-from-duration-3" result="pass"/><test-case name="fn-years-from-duration-4" result="pass"/><test-case name="fn-years-from-duration-5" result="pass"/><test-case name="fn-years-from-duration-6" result="pass"/><test-case name="fn-years-from-duration-7" result="pass"/><test-case name="fn-years-from-duration-8" result="pass"/><test-case name="fn-years-from-duration-9" result="pass"/><test-case name="fn-years-from-duration-10" result="pass"/><test-case name="fn-years-from-duration-11" result="pass"/><test-case name="fn-years-from-duration-12" result="pass"/><test-case name="fn-years-from-duration-13" result="pass"/><test-case name="fn-years-from-duration-14" result="pass"/><test-case name="fn-years-from-duration-15" result="pass"/><test-case name="fn-years-from-duration-16" result="pass"/><test-case name="fn-years-from-duration-17" result="pass"/><test-case name="fn-years-from-duration-18" result="pass"/><test-case name="fn-years-from-duration-19" result="pass"/><test-case name="fn-years-from-duration-20" result="pass"/><test-case name="K-YearsFromDurationFunc-1" result="pass"/><test-case name="K-YearsFromDurationFunc-2" result="pass"/><test-case name="K-YearsFromDurationFunc-3" result="pass"/><test-case name="K-YearsFromDurationFunc-4" result="pass"/><test-case name="K-YearsFromDurationFunc-5" result="pass"/><test-case name="K-YearsFromDurationFunc-6" result="pass"/><test-case name="K-YearsFromDurationFunc-7" result="pass"/><test-case name="fn-months-from-duration1args-1" result="pass"/><test-case name="fn-months-from-duration1args-2" result="pass"/><test-case name="fn-months-from-duration1args-3" result="pass"/><test-case name="fn-months-from-duration-1" result="pass"/><test-case name="fn-months-from-duration-2" result="pass"/><test-case name="fn-months-from-duration-3" result="pass"/><test-case name="fn-months-from-duration-4" result="pass"/><test-case name="fn-months-from-duration-5" result="pass"/><test-case name="fn-months-from-duration-6" result="pass"/><test-case name="fn-months-from-duration-7" result="pass"/><test-case name="fn-months-from-duration-8" result="pass"/><test-case name="fn-months-from-duration-9" result="pass"/><test-case name="fn-months-from-duration-10" result="pass"/><test-case name="fn-months-from-duration-11" result="pass"/><test-case name="fn-months-from-duration-12" result="pass"/><test-case name="fn-months-from-duration-13" result="pass"/><test-case name="fn-months-from-duration-14" result="pass"/><test-case name="fn-months-from-duration-15" result="pass"/><test-case name="fn-months-from-duration-16" result="pass"/><test-case name="fn-months-from-duration-17" result="pass"/><test-case name="fn-months-from-duration-18" result="pass"/><test-case name="fn-months-from-duration-19" result="pass"/><test-case name="fn-months-from-duration-20" result="pass"/><test-case name="K-MonthsFromDurationFunc-1" result="pass"/><test-case name="K-MonthsFromDurationFunc-2" result="pass"/><test-case name="K-MonthsFromDurationFunc-3" result="pass"/><test-case name="K-MonthsFromDurationFunc-4" result="pass"/><test-case name="K-MonthsFromDurationFunc-5" result="pass"/><test-case name="K-MonthsFromDurationFunc-6" result="pass"/><test-case name="K-MonthsFromDurationFunc-7" result="pass"/><test-case name="fn-days-from-duration1args-1" result="pass"/><test-case name="fn-days-from-duration1args-2" result="pass"/><test-case name="fn-days-from-duration1args-3" result="pass"/><test-case name="fn-days-from-duration-1" result="pass"/><test-case name="fn-days-from-duration-2" result="pass"/><test-case name="fn-days-from-duration-3" result="pass"/><test-case name="fn-days-from-duration-4" result="pass"/><test-case name="fn-days-from-duration-5" result="pass"/><test-case name="fn-days-from-duration-6" result="pass"/><test-case name="fn-days-from-duration-7" result="pass"/><test-case name="fn-days-from-duration-8" result="pass"/><test-case name="fn-days-from-duration-9" result="pass"/><test-case name="fn-days-from-duration-10" result="pass"/><test-case name="fn-days-from-duration-11" result="pass"/><test-case name="fn-days-from-duration-12" result="pass"/><test-case name="fn-days-from-duration-13" result="pass"/><test-case name="fn-days-from-duration-14" result="pass"/><test-case name="fn-days-from-duration-15" result="pass"/><test-case name="fn-days-from-duration-16" result="pass"/><test-case name="fn-days-from-duration-17" result="pass"/><test-case name="fn-days-from-duration-18" result="pass"/><test-case name="fn-days-from-duration-19" result="pass"/><test-case name="fn-days-from-duration-20" result="pass"/><test-case name="K-DaysFromDurationFunc-1" result="pass"/><test-case name="K-DaysFromDurationFunc-2" result="pass"/><test-case name="K-DaysFromDurationFunc-3" result="pass"/><test-case name="K-DaysFromDurationFunc-4" result="pass"/><test-case name="K-DaysFromDurationFunc-5" result="pass"/><test-case name="K-DaysFromDurationFunc-6" result="pass"/><test-case name="K-DaysFromDurationFunc-7" result="pass"/><test-case name="fn-hours-from-duration1args-1" result="pass"/><test-case name="fn-hours-from-duration1args-2" result="pass"/><test-case name="fn-hours-from-duration1args-3" result="pass"/><test-case name="fn-hours-from-duration-1" result="pass"/><test-case name="fn-hours-from-duration-2" result="pass"/><test-case name="fn-hours-from-duration-3" result="pass"/><test-case name="fn-hours-from-duration-4" result="pass"/><test-case name="fn-hours-from-duration-5" result="pass"/><test-case name="fn-hours-from-duration-6" result="pass"/><test-case name="fn-hours-from-duration-7" result="pass"/><test-case name="fn-hours-from-duration-8" result="pass"/><test-case name="fn-hours-from-duration-9" result="pass"/><test-case name="fn-hours-from-duration-10" result="pass"/><test-case name="fn-hours-from-duration-11" result="pass"/><test-case name="fn-hours-from-duration-12" result="pass"/><test-case name="fn-hours-from-duration-13" result="pass"/><test-case name="fn-hours-from-duration-14" result="pass"/><test-case name="fn-hours-from-duration-15" result="pass"/><test-case name="fn-hours-from-duration-16" result="pass"/><test-case name="fn-hours-from-duration-17" result="pass"/><test-case name="fn-hours-from-duration-18" result="pass"/><test-case name="fn-hours-from-duration-19" result="pass"/><test-case name="fn-hours-from-duration-20" result="pass"/><test-case name="K-HoursFromDurationFunc-1" result="pass"/><test-case name="K-HoursFromDurationFunc-2" result="pass"/><test-case name="K-HoursFromDurationFunc-3" result="pass"/><test-case name="K-HoursFromDurationFunc-4" result="pass"/><test-case name="K-HoursFromDurationFunc-5" result="pass"/><test-case name="K-HoursFromDurationFunc-6" result="pass"/><test-case name="K-HoursFromDurationFunc-7" result="pass"/><test-case name="fn-minutes-from-duration1args-1" result="pass"/><test-case name="fn-minutes-from-duration1args-2" result="pass"/><test-case name="fn-minutes-from-duration1args-3" result="pass"/><test-case name="fn-minutes-from-duration-1" result="pass"/><test-case name="fn-minutes-from-duration-2" result="pass"/><test-case name="fn-minutes-from-duration-3" result="pass"/><test-case name="fn-minutes-from-duration-4" result="pass"/><test-case name="fn-minutes-from-duration-5" result="pass"/><test-case name="fn-minutes-from-duration-6" result="pass"/><test-case name="fn-minutes-from-duration-7" result="pass"/><test-case name="fn-minutes-from-duration-8" result="pass"/><test-case name="fn-minutes-from-duration-9" result="pass"/><test-case name="fn-minutes-from-duration-10" result="pass"/><test-case name="fn-minutes-from-duration-11" result="pass"/><test-case name="fn-minutes-from-duration-12" result="pass"/><test-case name="fn-minutes-from-duration-13" result="pass"/><test-case name="fn-minutes-from-duration-14" result="pass"/><test-case name="fn-minutes-from-duration-15" result="pass"/><test-case name="fn-minutes-from-duration-16" result="pass"/><test-case name="fn-minutes-from-duration-17" result="pass"/><test-case name="fn-minutes-from-duration-18" result="pass"/><test-case name="fn-minutes-from-duration-19" result="pass"/><test-case name="fn-minutes-from-duration-20" result="pass"/><test-case name="fn-minutes-from-duration-21" result="pass"/><test-case name="K-MinutesFromDurationFunc-1" result="pass"/><test-case name="K-MinutesFromDurationFunc-2" result="pass"/><test-case name="K-MinutesFromDurationFunc-3" result="pass"/><test-case name="K-MinutesFromDurationFunc-4" result="pass"/><test-case name="K-MinutesFromDurationFunc-5" result="pass"/><test-case name="K-MinutesFromDurationFunc-6" result="pass"/><test-case name="K-MinutesFromDurationFunc-7" result="pass"/><test-case name="fn-seconds-from-duration1args-1" result="pass"/><test-case name="fn-seconds-from-duration1args-2" result="pass"/><test-case name="fn-seconds-from-duration1args-3" result="pass"/><test-case name="fn-seconds-from-duration-1" result="pass"/><test-case name="fn-seconds-from-duration-2" result="pass"/><test-case name="fn-seconds-from-duration-3" result="pass"/><test-case name="fn-seconds-from-duration-4" result="pass"/><test-case name="fn-seconds-from-duration-5" result="pass"/><test-case name="fn-seconds-from-duration-6" result="pass"/><test-case name="fn-seconds-from-duration-7" result="pass"/><test-case name="fn-seconds-from-duration-8" result="pass"/><test-case name="fn-seconds-from-duration-9" result="pass"/><test-case name="fn-seconds-from-duration-10" result="pass"/><test-case name="fn-seconds-from-duration-11" result="pass"/><test-case name="fn-seconds-from-duration-12" result="pass"/><test-case name="fn-seconds-from-duration-13" result="pass"/><test-case name="fn-seconds-from-duration-14" result="pass"/><test-case name="fn-seconds-from-duration-15" result="pass"/><test-case name="fn-seconds-from-duration-16" result="pass"/><test-case name="fn-seconds-from-duration-17" result="pass"/><test-case name="fn-seconds-from-duration-18" result="pass"/><test-case name="fn-seconds-from-duration-19" result="pass"/><test-case name="fn-seconds-from-duration-20" result="pass"/><test-case name="fn-seconds-from-duration-21" result="pass"/><test-case name="K-SecondsFromDurationFunc-1" result="pass"/><test-case name="K-SecondsFromDurationFunc-2" result="pass"/><test-case name="K-SecondsFromDurationFunc-3" result="pass"/><test-case name="K-SecondsFromDurationFunc-4" result="pass"/><test-case name="K-SecondsFromDurationFunc-5" result="pass"/><test-case name="K-SecondsFromDurationFunc-6" result="pass"/><test-case name="K-SecondsFromDurationFunc-7" result="pass"/><test-case name="fn-year-from-dateTime1args-1" result="pass"/><test-case name="fn-year-from-dateTime1args-2" result="pass"/><test-case name="fn-year-from-dateTime1args-3" result="pass"/><test-case name="fn-year-from-dateTime-1" result="pass"/><test-case name="fn-year-from-dateTime-2" result="pass"/><test-case name="fn-year-from-dateTime-3" result="pass"/><test-case name="fn-year-from-dateTime-4" result="pass"/><test-case name="fn-year-from-dateTime-5" result="pass"/><test-case name="fn-year-from-dateTime-6" result="pass"/><test-case name="fn-year-from-dateTime-7" result="pass"/><test-case name="fn-year-from-dateTime-8" result="pass"/><test-case name="fn-year-from-dateTime-9" result="pass"/><test-case name="fn-year-from-dateTime-10" result="pass"/><test-case name="fn-year-from-dateTime-11" result="pass"/><test-case name="fn-year-from-dateTime-12" result="pass"/><test-case name="fn-year-from-dateTime-13" result="pass"/><test-case name="fn-year-from-dateTimeNew-14" result="pass"/><test-case name="fn-year-from-dateTimeNew-15" result="pass"/><test-case name="fn-year-from-dateTime-16" result="pass"/><test-case name="fn-year-from-dateTime-17" result="pass"/><test-case name="fn-year-from-dateTime-18" result="pass"/><test-case name="fn-year-from-dateTime-19" result="pass"/><test-case name="K-YearFromDateTimeFunc-1" result="pass"/><test-case name="K-YearFromDateTimeFunc-2" result="pass"/><test-case name="K-YearFromDateTimeFunc-3" result="pass"/><test-case name="K-YearFromDateTimeFunc-4" result="pass"/><test-case name="K-YearFromDateTimeFunc-5" result="pass"/><test-case name="fn-month-from-dateTime1args-1" result="pass"/><test-case name="fn-month-from-dateTime1args-2" result="pass"/><test-case name="fn-month-from-dateTime1args-3" result="pass"/><test-case name="fn-month-from-dateTime-1" result="pass"/><test-case name="fn-month-from-dateTime-2" result="pass"/><test-case name="fn-month-from-dateTime-3" result="pass"/><test-case name="fn-month-from-dateTime-4" result="pass"/><test-case name="fn-month-from-dateTime-5" result="pass"/><test-case name="fn-month-from-dateTime-6" result="pass"/><test-case name="fn-month-from-dateTime-7" result="pass"/><test-case name="fn-month-from-dateTime-8" result="pass"/><test-case name="fn-month-from-dateTime-9" result="pass"/><test-case name="fn-month-from-dateTimeNew-10" result="pass"/><test-case name="fn-month-from-dateTime-11" result="pass"/><test-case name="fn-month-from-dateTime-12" result="pass"/><test-case name="fn-month-from-dateTime-13" result="pass"/><test-case name="fn-month-from-dateTime-14" result="pass"/><test-case name="fn-month-from-dateTime-15" result="pass"/><test-case name="fn-month-from-dateTime-16" result="pass"/><test-case name="fn-month-from-dateTime-17" result="pass"/><test-case name="fn-month-from-dateTime-18" result="pass"/><test-case name="fn-month-from-dateTime-19" result="pass"/><test-case name="K-MonthFromDateTimeFunc-1" result="pass"/><test-case name="K-MonthFromDateTimeFunc-2" result="pass"/><test-case name="K-MonthFromDateTimeFunc-3" result="pass"/><test-case name="K-MonthFromDateTimeFunc-4" result="pass"/><test-case name="K-MonthFromDateTimeFunc-5" result="pass"/><test-case name="fn-day-from-dateTime1args-1" result="pass"/><test-case name="fn-day-from-dateTime1args-2" result="pass"/><test-case name="fn-day-from-dateTime1args-3" result="pass"/><test-case name="fn-day-from-dateTime-1" result="pass"/><test-case name="fn-day-from-dateTime-2" result="pass"/><test-case name="fn-day-from-dateTime-3" result="pass"/><test-case name="fn-day-from-dateTime-4" result="pass"/><test-case name="fn-day-from-dateTime-5" result="pass"/><test-case name="fn-day-from-dateTime-6" result="pass"/><test-case name="fn-day-from-dateTime-7" result="pass"/><test-case name="fn-day-from-dateTime-8" result="pass"/><test-case name="fn-day-from-dateTime-9" result="pass"/><test-case name="fn-day-from-dateTimeNew-10" result="pass"/><test-case name="fn-day-from-dateTime-11" result="pass"/><test-case name="fn-day-from-dateTime-12" result="pass"/><test-case name="fn-day-from-dateTime-13" result="pass"/><test-case name="fn-day-from-dateTime-14" result="pass"/><test-case name="fn-day-from-dateTime-15" result="pass"/><test-case name="fn-day-from-dateTime-16" result="pass"/><test-case name="fn-day-from-dateTime-17" result="pass"/><test-case name="fn-day-from-dateTime-18" result="pass"/><test-case name="fn-day-from-dateTime-19" result="pass"/><test-case name="K-DayFromDateTimeFunc-1" result="pass"/><test-case name="K-DayFromDateTimeFunc-2" result="pass"/><test-case name="K-DayFromDateTimeFunc-3" result="pass"/><test-case name="K-DayFromDateTimeFunc-4" result="pass"/><test-case name="K-DayFromDateTimeFunc-5" result="pass"/><test-case name="fn-hours-from-dateTime1args-1" result="pass"/><test-case name="fn-hours-from-dateTime1args-2" result="pass"/><test-case name="fn-hours-from-dateTime1args-3" result="pass"/><test-case name="fn-hours-from-dateTime-1" result="pass"/><test-case name="fn-hours-from-dateTime-2" result="pass"/><test-case name="fn-hours-from-dateTime-3" result="pass"/><test-case name="fn-hours-from-dateTime-4" result="pass"/><test-case name="fn-hours-from-dateTime-5" result="pass"/><test-case name="fn-hours-from-dateTime-6" result="pass"/><test-case name="fn-hours-from-dateTime-7" result="pass"/><test-case name="fn-hours-from-dateTime-8" result="pass"/><test-case name="fn-hours-from-dateTime-9" result="pass"/><test-case name="fn-hours-from-dateTime-10" result="pass"/><test-case name="fn-hours-from-dateTime-11" result="pass"/><test-case name="fn-hours-from-dateTime-12" result="pass"/><test-case name="fn-hours-from-dateTime-13" result="pass"/><test-case name="fn-hours-from-dateTime-14" result="pass"/><test-case name="fn-hours-from-dateTime-15" result="pass"/><test-case name="fn-hours-from-dateTime-16" result="pass"/><test-case name="fn-hours-from-dateTime-17" result="pass"/><test-case name="fn-hours-from-dateTime-18" result="pass"/><test-case name="fn-hours-from-dateTime-19" result="pass"/><test-case name="K-HoursFromDateTimeFunc-1" result="pass"/><test-case name="K-HoursFromDateTimeFunc-2" result="pass"/><test-case name="K-HoursFromDateTimeFunc-3" result="pass"/><test-case name="K-HoursFromDateTimeFunc-4" result="pass"/><test-case name="K-HoursFromDateTimeFunc-5" result="pass"/><test-case name="fn-minutes-from-dateTime1args-1" result="pass"/><test-case name="fn-minutes-from-dateTime1args-2" result="pass"/><test-case name="fn-minutes-from-dateTime1args-3" result="pass"/><test-case name="fn-minutes-from-dateTime-1" result="pass"/><test-case name="fn-minutes-from-dateTime-2" result="pass"/><test-case name="fn-minutes-from-dateTime-3" result="pass"/><test-case name="fn-minutes-from-dateTime-4" result="pass"/><test-case name="fn-minutes-from-dateTime-5" result="pass"/><test-case name="fn-minutes-from-dateTime-6" result="pass"/><test-case name="fn-minutes-from-dateTime-7" result="pass"/><test-case name="fn-minutes-from-dateTime-8" result="pass"/><test-case name="fn-minutes-from-dateTime-9" result="pass"/><test-case name="fn-minutes-from-dateTime-10" result="pass"/><test-case name="fn-minutes-from-dateTime-11" result="pass"/><test-case name="fn-minutes-from-dateTime-12" result="pass"/><test-case name="fn-minutes-from-dateTime-13" result="pass"/><test-case name="fn-minutes-from-dateTime-14" result="pass"/><test-case name="fn-minutes-from-dateTime-15" result="pass"/><test-case name="fn-minutes-from-dateTime-16" result="pass"/><test-case name="fn-minutes-from-dateTime-17" result="pass"/><test-case name="fn-minutes-from-dateTime-18" result="pass"/><test-case name="fn-minutes-from-dateTime-19" result="pass"/><test-case name="K-MinutesFromDateTimeFunc-1" result="pass"/><test-case name="K-MinutesFromDateTimeFunc-2" result="pass"/><test-case name="K-MinutesFromDateTimeFunc-3" result="pass"/><test-case name="K-MinutesFromDateTimeFunc-4" result="pass"/><test-case name="K-MinutesFromDateTimeFunc-5" result="pass"/><test-case name="fn-seconds-from-dateTime1args-1" result="pass"/><test-case name="fn-seconds-from-dateTime1args-2" result="pass"/><test-case name="fn-seconds-from-dateTime1args-3" result="pass"/><test-case name="fn-seconds-from-dateTime-1" result="pass"/><test-case name="fn-seconds-from-dateTime-2" result="pass"/><test-case name="fn-seconds-from-dateTime-3" result="pass"/><test-case name="fn-seconds-from-dateTime-4" result="pass"/><test-case name="fn-seconds-from-dateTime-5" result="pass"/><test-case name="fn-seconds-from-dateTime-6" result="pass"/><test-case name="fn-seconds-from-dateTime-7" result="pass"/><test-case name="fn-seconds-from-dateTime-8" result="pass"/><test-case name="fn-seconds-from-dateTime-9" result="pass"/><test-case name="fn-seconds-from-dateTime-10" result="pass"/><test-case name="fn-seconds-from-dateTime-11" result="pass"/><test-case name="fn-seconds-from-dateTime-12" result="pass"/><test-case name="fn-seconds-from-dateTime-13" result="pass"/><test-case name="fn-seconds-from-dateTime-14" result="pass"/><test-case name="fn-seconds-from-dateTime-15" result="pass"/><test-case name="fn-seconds-from-dateTime-16" result="pass"/><test-case name="fn-seconds-from-dateTime-17" result="pass"/><test-case name="fn-seconds-from-dateTime-18" result="pass"/><test-case name="fn-seconds-from-dateTime-19" result="pass"/><test-case name="K-SecondsFromDateTimeFunc-1" result="pass"/><test-case name="K-SecondsFromDateTimeFunc-2" result="pass"/><test-case name="K-SecondsFromDateTimeFunc-3" result="pass"/><test-case name="K-SecondsFromDateTimeFunc-4" result="pass"/><test-case name="K-SecondsFromDateTimeFunc-5" result="pass"/><test-case name="fn-timezone-from-dateTimealt-1" result="pass"/><test-case name="fn-timezone-from-dateTimealt-2" result="pass"/><test-case name="fn-timezone-from-dateTimealt-3" result="pass"/><test-case name="fn-timezone-from-dateTimealt-4" result="pass"/><test-case name="fn-timezone-from-dateTimealt-5" result="pass"/><test-case name="fn-timezone-from-dateTimealt-6" result="pass"/><test-case name="fn-timezone-from-dateTimealt-7" result="pass"/><test-case name="fn-timezone-from-dateTimealt-8" result="pass"/><test-case name="fn-timezone-from-dateTimealt-9" result="pass"/><test-case name="fn-timezone-from-dateTimealt-10" result="pass"/><test-case name="fn-timezone-from-dateTimealt-11" result="pass"/><test-case name="fn-timezone-from-dateTimealt-12" result="pass"/><test-case name="fn-timezone-from-dateTimealt-13" result="pass"/><test-case name="fn-timezone-from-dateTimealt-14" result="pass"/><test-case name="fn-timezone-from-dateTimealt-15" result="pass"/><test-case name="fn-timezone-from-dateTimealt-16" result="pass"/><test-case name="fn-timezone-from-dateTimealt-17" result="pass"/><test-case name="fn-timezone-from-dateTimealt-18" result="pass"/><test-case name="fn-timezone-from-dateTimealt-19" result="pass"/><test-case name="fn-timezone-from-dateTimealt-20" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-1" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-2" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-3" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-4" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-5" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-6" result="pass"/><test-case name="K-TimezoneFromDateTimeFunc-7" result="pass"/><test-case name="fn-year-from-date1args-1" result="pass"/><test-case name="fn-year-from-date1args-2" result="pass"/><test-case name="fn-year-from-date1args-3" result="pass"/><test-case name="fn-year-from-date-1" result="pass"/><test-case name="fn-year-from-date-2" result="pass"/><test-case name="fn-year-from-date-3" result="pass"/><test-case name="fn-year-from-date-4" result="pass"/><test-case name="fn-year-from-date-5" result="pass"/><test-case name="fn-year-from-date-6" result="pass"/><test-case name="fn-year-from-date-7" result="pass"/><test-case name="fn-year-from-date-8" result="pass"/><test-case name="fn-year-from-date-9" result="pass"/><test-case name="fn-year-from-date-10" result="pass"/><test-case name="fn-year-from-date-11" result="pass"/><test-case name="fn-year-from-date-12" result="pass"/><test-case name="fn-year-from-date-13" result="pass"/><test-case name="fn-year-from-date-14" result="pass"/><test-case name="fn-year-from-date-15" result="pass"/><test-case name="fn-year-from-date-16" result="pass"/><test-case name="fn-year-from-date-17" result="pass"/><test-case name="fn-year-from-date-18" result="pass"/><test-case name="fn-year-from-date-19" result="pass"/><test-case name="K-YearFromDateFunc-1" result="pass"/><test-case name="K-YearFromDateFunc-2" result="pass"/><test-case name="K-YearFromDateFunc-3" result="pass"/><test-case name="K-YearFromDateFunc-4" result="pass"/><test-case name="K-YearFromDateFunc-5" result="pass"/><test-case name="fn-month-from-date1args-1" result="pass"/><test-case name="fn-month-from-date1args-2" result="pass"/><test-case name="fn-month-from-date1args-3" result="pass"/><test-case name="fn-month-from-date-1" result="pass"/><test-case name="fn-month-from-date-2" result="pass"/><test-case name="fn-month-from-date-3" result="pass"/><test-case name="fn-month-from-date-4" result="pass"/><test-case name="fn-month-from-date-5" result="pass"/><test-case name="fn-month-from-date-6" result="pass"/><test-case name="fn-month-from-date-7" result="pass"/><test-case name="fn-month-from-date-8" result="pass"/><test-case name="fn-month-from-date-9" result="pass"/><test-case name="fn-month-from-date-10" result="pass"/><test-case name="fn-month-from-date-11" result="pass"/><test-case name="fn-month-from-date-12" result="pass"/><test-case name="fn-month-from-date-13" result="pass"/><test-case name="fn-month-from-date-14" result="pass"/><test-case name="fn-month-from-date-15" result="pass"/><test-case name="fn-month-from-date-16" result="pass"/><test-case name="fn-month-from-date-17" result="pass"/><test-case name="fn-month-from-date-18" result="pass"/><test-case name="fn-month-from-date-19" result="pass"/><test-case name="K-MonthFromDateFunc-1" result="pass"/><test-case name="K-MonthFromDateFunc-2" result="pass"/><test-case name="K-MonthFromDateFunc-3" result="pass"/><test-case name="K-MonthFromDateFunc-4" result="pass"/><test-case name="K-MonthFromDateFunc-5" result="pass"/><test-case name="fn-day-from-date1args-1" result="pass"/><test-case name="fn-day-from-date1args-2" result="pass"/><test-case name="fn-day-from-date1args-3" result="pass"/><test-case name="fn-day-from-date-1" result="pass"/><test-case name="fn-day-from-date-2" result="pass"/><test-case name="fn-day-from-date-3" result="pass"/><test-case name="fn-day-from-date-4" result="pass"/><test-case name="fn-day-from-date-5" result="pass"/><test-case name="fn-day-from-date-6" result="pass"/><test-case name="fn-day-from-date-7" result="pass"/><test-case name="fn-day-from-date-8" result="pass"/><test-case name="fn-day-from-date-9" result="pass"/><test-case name="fn-day-from-date-10" result="pass"/><test-case name="fn-day-from-date-11" result="pass"/><test-case name="fn-day-from-date-12" result="pass"/><test-case name="fn-day-from-date-13" result="pass"/><test-case name="fn-day-from-date-14" result="pass"/><test-case name="fn-day-from-date-15" result="pass"/><test-case name="fn-day-from-date-16" result="pass"/><test-case name="fn-day-from-date-17" result="pass"/><test-case name="fn-day-from-date-18" result="pass"/><test-case name="fn-day-from-date-19" result="pass"/><test-case name="K-DayFromDateFunc-1" result="pass"/><test-case name="K-DayFromDateFunc-2" result="pass"/><test-case name="K-DayFromDateFunc-3" result="pass"/><test-case name="K-DayFromDateFunc-4" result="pass"/><test-case name="K-DayFromDateFunc-5" result="pass"/><test-case name="fn-timezone-from-date-1" result="pass"/><test-case name="fn-timezone-from-date-2" result="pass"/><test-case name="fn-timezone-from-date-3" result="pass"/><test-case name="fn-timezone-from-date-4" result="pass"/><test-case name="fn-timezone-from-date-5" result="pass"/><test-case name="fn-timezone-from-date-6" result="pass"/><test-case name="fn-timezone-from-date-7" result="pass"/><test-case name="fn-timezone-from-date-8" result="pass"/><test-case name="fn-timezone-from-date-9" result="pass"/><test-case name="fn-timezone-from-date-10" result="pass"/><test-case name="fn-timezone-from-date-11" result="pass"/><test-case name="fn-timezone-from-date-12" result="pass"/><test-case name="fn-timezone-from-date-13" result="pass"/><test-case name="fn-timezone-from-date-14" result="pass"/><test-case name="fn-timezone-from-date-15" result="pass"/><test-case name="fn-timezone-from-date-16" result="pass"/><test-case name="fn-timezone-from-date-17" result="pass"/><test-case name="fn-timezone-from-date-18" result="pass"/><test-case name="fn-timezone-from-date-19" result="pass"/><test-case name="fn-timezone-from-date-20" result="pass"/><test-case name="K-TimezoneFromDateFunc-1" result="pass"/><test-case name="K-TimezoneFromDateFunc-2" result="pass"/><test-case name="K-TimezoneFromDateFunc-3" result="pass"/><test-case name="K-TimezoneFromDateFunc-4" result="pass"/><test-case name="K-TimezoneFromDateFunc-5" result="pass"/><test-case name="K-TimezoneFromDateFunc-6" result="pass"/><test-case name="K-TimezoneFromDateFunc-7" result="pass"/><test-case name="fn-hours-from-time1args-1" result="pass"/><test-case name="fn-hours-from-time1args-2" result="pass"/><test-case name="fn-hours-from-time1args-3" result="pass"/><test-case name="fn-hours-from-time-1" result="pass"/><test-case name="fn-hours-from-time-2" result="pass"/><test-case name="fn-hours-from-time-3" result="pass"/><test-case name="fn-hours-from-time-4" result="pass"/><test-case name="fn-hours-from-time-5" result="pass"/><test-case name="fn-hours-from-time-6" result="pass"/><test-case name="fn-hours-from-time-7" result="pass"/><test-case name="fn-hours-from-time-8" result="pass"/><test-case name="fn-hours-from-time-9" result="pass"/><test-case name="fn-hours-from-time-10" result="pass"/><test-case name="fn-hours-from-time-11" result="pass"/><test-case name="fn-hours-from-time-12" result="pass"/><test-case name="fn-hours-from-time-13" result="pass"/><test-case name="fn-hours-from-time-14" result="pass"/><test-case name="fn-hours-from-time-15" result="pass"/><test-case name="fn-hours-from-time-16" result="pass"/><test-case name="fn-hours-from-time-17" result="pass"/><test-case name="fn-hours-from-time-18" result="pass"/><test-case name="fn-hours-from-time-19" result="pass"/><test-case name="K-HoursFromTimeFunc-1" result="pass"/><test-case name="K-HoursFromTimeFunc-2" result="pass"/><test-case name="K-HoursFromTimeFunc-3" result="pass"/><test-case name="K-HoursFromTimeFunc-4" result="pass"/><test-case name="K-HoursFromTimeFunc-5" result="pass"/><test-case name="fn-minutes-from-time1args-1" result="pass"/><test-case name="fn-minutes-from-time1args-2" result="pass"/><test-case name="fn-minutes-from-time1args-3" result="pass"/><test-case name="fn-minutes-from-time-1" result="pass"/><test-case name="fn-minutes-from-time-2" result="pass"/><test-case name="fn-minutes-from-time-3" result="pass"/><test-case name="fn-minutes-from-time-4" result="pass"/><test-case name="fn-minutes-from-time-5" result="pass"/><test-case name="fn-minutes-from-time-6" result="pass"/><test-case name="fn-minutes-from-time-7" result="pass"/><test-case name="fn-minutes-from-time-8" result="pass"/><test-case name="fn-minutes-from-time-9" result="pass"/><test-case name="fn-minutes-from-time-10" result="pass"/><test-case name="fn-minutes-from-time-11" result="pass"/><test-case name="fn-minutes-from-time-12" result="pass"/><test-case name="fn-minutes-from-time-13" result="pass"/><test-case name="fn-minutes-from-time-14" result="pass"/><test-case name="fn-minutes-from-time-15" result="pass"/><test-case name="fn-minutes-from-time-16" result="pass"/><test-case name="fn-minutes-from-time-17" result="pass"/><test-case name="fn-minutes-from-time-18" result="pass"/><test-case name="fn-minutes-from-time-19" result="pass"/><test-case name="K-MinutesFromTimeFunc-1" result="pass"/><test-case name="K-MinutesFromTimeFunc-2" result="pass"/><test-case name="K-MinutesFromTimeFunc-3" result="pass"/><test-case name="K-MinutesFromTimeFunc-4" result="pass"/><test-case name="K-MinutesFromTimeFunc-5" result="pass"/><test-case name="fn-seconds-from-time1args-1" result="pass"/><test-case name="fn-seconds-from-time1args-2" result="pass"/><test-case name="fn-seconds-from-time1args-3" result="pass"/><test-case name="fn-seconds-from-time-1" result="pass"/><test-case name="fn-seconds-from-time-2" result="pass"/><test-case name="fn-seconds-from-time-3" result="pass"/><test-case name="fn-seconds-from-time-4" result="pass"/><test-case name="fn-seconds-from-time-5" result="pass"/><test-case name="fn-seconds-from-time-6" result="pass"/><test-case name="fn-seconds-from-time-7" result="pass"/><test-case name="fn-seconds-from-time-8" result="pass"/><test-case name="fn-seconds-from-time-9" result="pass"/><test-case name="fn-seconds-from-time-10" result="pass"/><test-case name="fn-seconds-from-time-11" result="pass"/><test-case name="fn-seconds-from-time-12" result="pass"/><test-case name="fn-seconds-from-time-13" result="pass"/><test-case name="fn-seconds-from-time-14" result="pass"/><test-case name="fn-seconds-from-time-15" result="pass"/><test-case name="fn-seconds-from-time-16" result="pass"/><test-case name="fn-seconds-from-time-17" result="pass"/><test-case name="fn-seconds-from-time-18" result="pass"/><test-case name="fn-seconds-from-time-19" result="pass"/><test-case name="K-SecondsFromTimeFunc-1" result="pass"/><test-case name="K-SecondsFromTimeFunc-2" result="pass"/><test-case name="K-SecondsFromTimeFunc-3" result="pass"/><test-case name="K-SecondsFromTimeFunc-4" result="pass"/><test-case name="K-SecondsFromTimeFunc-5" result="pass"/><test-case name="fn-timezone-from-time-1" result="pass"/><test-case name="fn-timezone-from-time-2" result="pass"/><test-case name="fn-timezone-from-time-3" result="pass"/><test-case name="fn-timezone-from-time-4" result="pass"/><test-case name="fn-timezone-from-time-5" result="pass"/><test-case name="fn-timezone-from-time-6" result="pass"/><test-case name="fn-timezone-from-time-7" result="pass"/><test-case name="fn-timezone-from-time-8" result="pass"/><test-case name="fn-timezone-from-time-9" result="pass"/><test-case name="fn-timezone-from-time-10" result="pass"/><test-case name="fn-timezone-from-time-11" result="pass"/><test-case name="fn-timezone-from-time-12" result="pass"/><test-case name="fn-timezone-from-time-13" result="pass"/><test-case name="fn-timezone-from-time-14" result="pass"/><test-case name="fn-timezone-from-time-15" result="pass"/><test-case name="fn-timezone-from-time-16" result="pass"/><test-case name="fn-timezone-from-time-17" result="pass"/><test-case name="fn-timezone-from-time-18" result="pass"/><test-case name="fn-timezone-from-time-19" result="pass"/><test-case name="fn-timezone-from-time-20" result="pass"/><test-case name="K-TimezoneFromTimeFunc-1" result="pass"/><test-case name="K-TimezoneFromTimeFunc-2" result="pass"/><test-case name="K-TimezoneFromTimeFunc-3" result="pass"/><test-case name="K-TimezoneFromTimeFunc-4" result="pass"/><test-case name="K-TimezoneFromTimeFunc-5" result="pass"/><test-case name="K-TimezoneFromTimeFunc-6" result="pass"/><test-case name="K-TimezoneFromTimeFunc-7" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone1args-1" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone1args-2" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone1args-3" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-1" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-2" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-3" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-4" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-5" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-6" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-7" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-8" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-9" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-10" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-11" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-12" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-13" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-14" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-15" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-16" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-17" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-18" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-19" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-20" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-21" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-22" result="pass"/><test-case name="fn-adjust-dateTime-to-timezone-23" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-1" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-2" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-3" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-4" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-5" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-6" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-7" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-8" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-9" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-10" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-11" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-12" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-13" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-14" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-15" result="pass"/><test-case name="K-AdjDateTimeToTimezoneFunc-16" result="pass"/><test-case name="K2-AdjDateTimeToTimezoneFunc-1" result="pass"/><test-case name="fn-adjust-date-to-timezone1args-1" result="pass"/><test-case name="fn-adjust-date-to-timezone1args-2" result="pass"/><test-case name="fn-adjust-date-to-timezone1args-3" result="pass"/><test-case name="fn-adjust-date-to-timezone-1" result="pass"/><test-case name="fn-adjust-date-to-timezone-2" result="pass"/><test-case name="fn-adjust-date-to-timezone-3" result="pass"/><test-case name="fn-adjust-date-to-timezone-4" result="pass"/><test-case name="fn-adjust-date-to-timezone-5" result="pass"/><test-case name="fn-adjust-date-to-timezone-6" result="pass"/><test-case name="fn-adjust-date-to-timezone-7" result="pass"/><test-case name="fn-adjust-date-to-timezone-9" result="pass"/><test-case name="fn-adjust-date-to-timezone-10" result="pass"/><test-case name="fn-adjust-date-to-timezone-11" result="pass"/><test-case name="fn-adjust-date-to-timezone-12" result="pass"/><test-case name="fn-adjust-date-to-timezone-13" result="pass"/><test-case name="fn-adjust-date-to-timezone-14" result="pass"/><test-case name="fn-adjust-date-to-timezone-15" result="pass"/><test-case name="fn-adjust-date-to-timezone-16" result="pass"/><test-case name="fn-adjust-date-to-timezone-17" result="pass"/><test-case name="fn-adjust-date-to-timezone-18" result="pass"/><test-case name="fn-adjust-date-to-timezone-19" result="pass"/><test-case name="fn-adjust-date-to-timezone-20" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-1" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-2" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-3" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-4" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-5" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-6" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-7" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-8" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-9" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-10" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-11" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-12" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-13" result="pass"/><test-case name="K-AdjDateToTimezoneFunc-14" result="pass"/><test-case name="fn-adjust-time-to-timezone1args-1" result="pass"/><test-case name="fn-adjust-time-to-timezone1args-2" result="pass"/><test-case name="fn-adjust-time-to-timezone1args-3" result="pass"/><test-case name="fn-adjust-time-to-timezone-1" result="pass"/><test-case name="fn-adjust-time-to-timezone-2" result="pass"/><test-case name="fn-adjust-time-to-timezone-3" result="pass"/><test-case name="fn-adjust-time-to-timezone-4" result="pass"/><test-case name="fn-adjust-time-to-timezone-5" result="pass"/><test-case name="fn-adjust-time-to-timezone-6" result="pass"/><test-case name="fn-adjust-time-to-timezone-7" result="pass"/><test-case name="fn-adjust-time-to-timezone-8" result="pass"/><test-case name="fn-adjust-time-to-timezone-9" result="pass"/><test-case name="fn-adjust-time-to-timezone-10" result="pass"/><test-case name="fn-adjust-time-to-timezone-11" result="pass"/><test-case name="fn-adjust-time-to-timezone-12" result="pass"/><test-case name="fn-adjust-time-to-timezone-13" result="pass"/><test-case name="fn-adjust-time-to-timezone-14" result="pass"/><test-case name="fn-adjust-time-to-timezone-15" result="pass"/><test-case name="fn-adjust-time-to-timezone-16" result="pass"/><test-case name="fn-adjust-time-to-timezone-17" result="pass"/><test-case name="fn-adjust-time-to-timezone-18" result="pass"/><test-case name="fn-adjust-time-to-timezone-19" result="pass"/><test-case name="fn-adjust-time-to-timezone-20" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-1" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-2" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-3" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-4" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-5" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-6" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-7" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-8" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-9" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-10" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-11" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-12" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-13" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-14" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-15" result="pass"/><test-case name="K-AdjTimeToTimezoneFunc-16" result="pass"/><test-case name="fn-resolve-qname-1" result="pass"/><test-case name="fn-resolve-qname-2" result="pass"/><test-case name="fn-resolve-qname-3" result="pass"/><test-case name="fn-resolve-qname-4" result="pass"/><test-case name="fn-resolve-qname-5" result="pass"/><test-case name="fn-resolve-qname-6" result="pass"/><test-case name="fn-resolve-qname-7" result="pass"/><test-case name="fn-resolve-qname-8" result="pass"/><test-case name="fn-resolve-qname-9" result="pass"/><test-case name="fn-resolve-qname-10" result="pass"/><test-case name="fn-resolve-qname-11" result="pass"/><test-case name="fn-resolve-qname-12" result="pass"/><test-case name="fn-resolve-qname-13" result="pass"/><test-case name="fn-resolve-qname-14" result="pass"/><test-case name="fn-resolve-qname-15" result="pass"/><test-case name="fn-resolve-qname-16" result="pass"/><test-case name="fn-resolve-qname-17" result="pass"/><test-case name="fn-resolve-qname-18" result="pass"/><test-case name="fn-resolve-qname-19" result="pass"/><test-case name="fn-resolve-qname-20" result="pass"/><test-case name="fn-resolve-qname-21" result="pass"/><test-case name="fn-resolve-qname-22" result="pass"/><test-case name="K-ResolveQNameConstructFunc-1" result="pass"/><test-case name="K-ResolveQNameConstructFunc-2" result="pass"/><test-case name="K-ResolveQNameConstructFunc-3" result="pass"/><test-case name="K-ResolveQNameConstructFunc-4" result="pass"/><test-case name="ExpandedQNameConstructFunc001" result="pass"/><test-case name="ExpandedQNameConstructFunc002" result="pass"/><test-case name="ExpandedQNameConstructFunc003" result="pass"/><test-case name="ExpandedQNameConstructFunc004" result="pass"/><test-case name="ExpandedQNameConstructFunc005" result="pass"/><test-case name="ExpandedQNameConstructFunc006" result="pass"/><test-case name="ExpandedQNameConstructFunc007" result="pass"/><test-case name="ExpandedQNameConstructFunc008" result="pass"/><test-case name="ExpandedQNameConstructFunc009" result="pass"/><test-case name="ExpandedQNameConstructFunc010" result="pass"/><test-case name="ExpandedQNameConstructFunc011" result="pass"/><test-case name="ExpandedQNameConstructFunc012" result="pass"/><test-case name="ExpandedQNameConstructFunc013" result="pass"/><test-case name="ExpandedQNameConstructFunc014" result="pass"/><test-case name="ExpandedQNameConstructFunc015" result="pass"/><test-case name="ExpandedQNameConstructFunc016" result="pass"/><test-case name="ExpandedQNameConstructFunc017" result="pass"/><test-case name="ExpandedQNameConstructFunc018" result="pass"/><test-case name="ExpandedQNameConstructFunc019" result="pass"/><test-case name="ExpandedQNameConstructFunc020" result="pass"/><test-case name="ExpandedQNameConstructFunc021" result="pass"/><test-case name="qName-1" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-1" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-2" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-3" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-4" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-5" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-6" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-7" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-8" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-9" result="pass"/><test-case name="K-ExpandedQNameConstructFunc-10" result="pass"/><test-case name="K2-ExpandedQNameConstructFunc-1" result="pass"/><test-case name="LocalNameFromQNameFunc001" result="pass"/><test-case name="LocalNameFromQNameFunc002" result="pass"/><test-case name="LocalNameFromQNameFunc003" result="pass"/><test-case name="LocalNameFromQNameFunc004" result="pass"/><test-case name="LocalNameFromQNameFunc005" result="pass"/><test-case name="LocalNameFromQNameFunc006" result="pass"/><test-case name="LocalNameFromQNameFunc007" result="pass"/><test-case name="LocalNameFromQNameFunc009" result="pass"/><test-case name="LocalNameFromQNameFunc010" result="pass"/><test-case name="LocalNameFromQNameFunc011" result="pass"/><test-case name="LocalNameFromQNameFunc012" result="pass"/><test-case name="LocalNameFromQNameFunc013" result="pass"/><test-case name="LocalNameFromQNameFunc014" result="pass"/><test-case name="LocalNameFromQNameFunc015" result="pass"/><test-case name="LocalNameFromQNameFunc016" result="pass"/><test-case name="LocalNameFromQNameFunc017" result="pass"/><test-case name="LocalNameFromQNameFunc018" result="pass"/><test-case name="LocalNameFromQNameFunc019" result="pass"/><test-case name="LocalNameFromQNameFunc020" result="pass"/><test-case name="LocalNameFromQNameFunc021" result="pass"/><test-case name="K-LocalNameFromQNameFunc-1" result="pass"/><test-case name="K-LocalNameFromQNameFunc-2" result="pass"/><test-case name="K-LocalNameFromQNameFunc-3" result="pass"/><test-case name="K-LocalNameFromQNameFunc-4" result="pass"/><test-case name="NamespaceURIFromQNameFunc001" result="pass"/><test-case name="NamespaceURIFromQNameFunc002" result="pass"/><test-case name="NamespaceURIFromQNameFunc003" result="pass"/><test-case name="NamespaceURIFromQNameFunc004" result="pass"/><test-case name="NamespaceURIFromQNameFunc005" result="pass"/><test-case name="NamespaceURIFromQNameFunc006" result="pass"/><test-case name="NamespaceURIFromQNameFunc007" result="pass"/><test-case name="NamespaceURIFromQNameFunc009" result="pass"/><test-case name="NamespaceURIFromQNameFunc010" result="pass"/><test-case name="NamespaceURIFromQNameFunc011" result="pass"/><test-case name="NamespaceURIFromQNameFunc012" result="pass"/><test-case name="NamespaceURIFromQNameFunc013" result="pass"/><test-case name="NamespaceURIFromQNameFunc014" result="pass"/><test-case name="NamespaceURIFromQNameFunc015" result="pass"/><test-case name="NamespaceURIFromQNameFunc016" result="pass"/><test-case name="NamespaceURIFromQNameFunc017" result="pass"/><test-case name="NamespaceURIFromQNameFunc018" result="pass"/><test-case name="NamespaceURIFromQNameFunc019" result="pass"/><test-case name="NamespaceURIFromQNameFunc020" result="pass"/><test-case name="NamespaceURIFromQNameFunc021" result="pass"/><test-case name="K-NamespaceURIFromQNameFunc-1" result="pass"/><test-case name="K-NamespaceURIFromQNameFunc-2" result="pass"/><test-case name="K-NamespaceURIFromQNameFunc-3" result="pass"/><test-case name="K-NamespaceURIFromQNameFunc-4" result="pass"/><test-case name="K-NamespaceURIFromQNameFunc-5" result="pass"/><test-case name="K2-NamespaceURIFromQNameFunc-1" result="pass"/><test-case name="K2-NamespaceURIFromQNameFunc-2" result="pass"/><test-case name="K2-NamespaceURIFromQNameFunc-3" result="pass"/><test-case name="K2-NamespaceURIFromQNameFunc-4" result="pass"/><test-case name="fn-namespace-uri-for-prefix-1" result="pass"/><test-case name="fn-namespace-uri-for-prefix-2" result="pass"/><test-case name="fn-namespace-uri-for-prefix-3" result="pass"/><test-case name="fn-namespace-uri-for-prefix-4" result="pass"/><test-case name="fn-namespace-uri-for-prefix-5" result="pass"/><test-case name="fn-namespace-uri-for-prefix-6" result="pass"/><test-case name="fn-namespace-uri-for-prefix-7" result="pass"/><test-case name="fn-namespace-uri-for-prefix-8" result="pass"/><test-case name="fn-namespace-uri-for-prefix-9" result="pass"/><test-case name="fn-namespace-uri-for-prefix-10" result="pass"/><test-case name="fn-namespace-uri-for-prefix-11" result="pass"/><test-case name="fn-namespace-uri-for-prefix-12" result="pass"/><test-case name="fn-namespace-uri-for-prefix-13" result="pass"/><test-case name="fn-namespace-uri-for-prefix-14" result="pass"/><test-case name="fn-namespace-uri-for-prefix-15" result="pass"/><test-case name="fn-namespace-uri-for-prefix-16" result="pass"/><test-case name="fn-namespace-uri-for-prefix-17" result="pass"/><test-case name="fn-namespace-uri-for-prefix-18" result="pass"/><test-case name="fn-namespace-uri-for-prefix-19" result="pass"/><test-case name="fn-namespace-uri-for-prefix-20" result="pass"/><test-case name="fn-namespace-uri-for-prefix-21" result="pass"/><test-case name="K-NamespaceURIForPrefixFunc-1" result="pass"/><test-case name="K-NamespaceURIForPrefixFunc-2" result="pass"/><test-case name="K2-NamespaceURIForPrefixFunc-1" result="pass"/><test-case name="K2-NamespaceURIForPrefixFunc-2" result="pass"/><test-case name="K2-NamespaceURIForPrefixFunc-3" result="pass"/><test-case name="fn-in-scope-prefixes-1" result="pass"/><test-case name="fn-in-scope-prefixes-2" result="pass"/><test-case name="fn-in-scope-prefixes-3" result="pass"/><test-case name="fn-in-scope-prefixes-4" result="pass"/><test-case name="fn-in-scope-prefixes-5" result="pass"/><test-case name="fn-in-scope-prefixes-6" result="pass"/><test-case name="fn-in-scope-prefixes-7" result="pass"/><test-case name="fn-in-scope-prefixes-8" result="pass"/><test-case name="fn-in-scope-prefixes-9" result="pass"/><test-case name="fn-in-scope-prefixes-10" result="pass"/><test-case name="fn-in-scope-prefixes-11" result="pass"/><test-case name="fn-in-scope-prefixes-12" result="pass"/><test-case name="fn-in-scope-prefixes-13" result="pass"/><test-case name="fn-in-scope-prefixes-14" result="pass"/><test-case name="fn-in-scope-prefixes-15" result="pass"/><test-case name="fn-in-scope-prefixes-16" result="pass"/><test-case name="fn-in-scope-prefixes-17" result="pass"/><test-case name="fn-in-scope-prefixes-18" result="pass"/><test-case name="fn-in-scope-prefixes-19" result="pass"/><test-case name="fn-in-scope-prefixes-20" result="pass"/><test-case name="K-InScopePrefixesFunc-1" result="pass"/><test-case name="K-InScopePrefixesFunc-2" result="pass"/><test-case name="K2-InScopePrefixesFunc-1" result="pass"/><test-case name="K2-InScopePrefixesFunc-2" result="pass"/><test-case name="K2-InScopePrefixesFunc-3" result="pass"/><test-case name="K2-InScopePrefixesFunc-4" result="pass"/><test-case name="K2-InScopePrefixesFunc-5" result="pass"/><test-case name="K2-InScopePrefixesFunc-6" result="pass"/><test-case name="K2-InScopePrefixesFunc-7" result="pass"/><test-case name="K2-InScopePrefixesFunc-8" result="pass"/><test-case name="K2-InScopePrefixesFunc-9" result="pass"/><test-case name="K2-InScopePrefixesFunc-10" result="pass"/><test-case name="K2-InScopePrefixesFunc-11" result="pass"/><test-case name="K2-InScopePrefixesFunc-12" result="pass"/><test-case name="K2-InScopePrefixesFunc-13" result="pass"/><test-case name="K2-InScopePrefixesFunc-14" result="pass"/><test-case name="K2-InScopePrefixesFunc-15" result="pass"/><test-case name="K2-InScopePrefixesFunc-16" result="pass"/><test-case name="K2-InScopePrefixesFunc-17" result="pass"/><test-case name="K2-InScopePrefixesFunc-18" result="fail"/><test-case name="K2-InScopePrefixesFunc-19" result="pass"/><test-case name="K2-InScopePrefixesFunc-20" result="pass"/><test-case name="K2-InScopePrefixesFunc-21" result="pass"/><test-case name="K2-InScopePrefixesFunc-22" result="pass"/><test-case name="K2-InScopePrefixesFunc-23" result="pass"/><test-case name="K2-InScopePrefixesFunc-24" result="pass"/><test-case name="K2-InScopePrefixesFunc-25" result="pass"/><test-case name="K2-InScopePrefixesFunc-26" result="pass"/><test-case name="K2-InScopePrefixesFunc-27" result="pass"/><test-case name="K2-InScopePrefixesFunc-28" result="pass"/><test-case name="K2-InScopePrefixesFunc-29" result="pass"/><test-case name="K2-InScopePrefixesFunc-30" result="pass"/><test-case name="fn-name-1" result="pass"/><test-case name="fn-name-2" result="pass"/><test-case name="fn-name-3" result="pass"/><test-case name="fn-name-4" result="pass"/><test-case name="fn-name-5" result="pass"/><test-case name="fn-name-6" result="pass"/><test-case name="fn-name-7" result="pass"/><test-case name="fn-name-8" result="pass"/><test-case name="fn-name-9" result="pass"/><test-case name="fn-name-10" result="pass"/><test-case name="fn-name-11" result="pass"/><test-case name="fn-name-12" result="pass"/><test-case name="fn-name-13" result="pass"/><test-case name="fn-name-14" result="pass"/><test-case name="fn-name-15" result="pass"/><test-case name="fn-name-16" result="pass"/><test-case name="fn-name-17" result="pass"/><test-case name="fn-name-18" result="pass"/><test-case name="fn-name-19" result="pass"/><test-case name="fn-name-20" result="pass"/><test-case name="fn-name-21" result="pass"/><test-case name="fn-name-22" result="pass"/><test-case name="fn-name-23" result="pass"/><test-case name="K-NameFunc-1" result="pass"/><test-case name="K-NameFunc-2" result="pass"/><test-case name="K-NameFunc-3" result="pass"/><test-case name="fn-local-name-1" result="pass"/><test-case name="fn-local-name-2" result="pass"/><test-case name="fn-local-name-3" result="pass"/><test-case name="fn-local-name-4" result="pass"/><test-case name="fn-local-name-5" result="pass"/><test-case name="fn-local-name-6" result="pass"/><test-case name="fn-local-name-7" result="pass"/><test-case name="fn-local-name-8" result="pass"/><test-case name="fn-local-name-9" result="pass"/><test-case name="fn-local-name-10" result="pass"/><test-case name="fn-local-name-11" result="pass"/><test-case name="fn-local-name-12" result="pass"/><test-case name="fn-local-name-13" result="pass"/><test-case name="fn-local-name-14" result="pass"/><test-case name="fn-local-name-15" result="pass"/><test-case name="fn-local-name-16" result="pass"/><test-case name="fn-local-name-17" result="pass"/><test-case name="fn-local-name-18" result="pass"/><test-case name="fn-local-name-19" result="pass"/><test-case name="fn-local-name-20" result="pass"/><test-case name="fn-local-name-21" result="pass"/><test-case name="fn-local-name-22" result="pass"/><test-case name="fn-local-name-23" result="pass"/><test-case name="K-NodeLocalNameFunc-1" result="pass"/><test-case name="K-NodeLocalNameFunc-2" result="pass"/><test-case name="K-NodeLocalNameFunc-3" result="pass"/><test-case name="K2-NodeLocalNameFunc-1" result="pass"/><test-case name="fn-namespace-uri-1" result="pass"/><test-case name="fn-namespace-uri-2" result="pass"/><test-case name="fn-namespace-uri-3" result="pass"/><test-case name="fn-namespace-uri-4" result="pass"/><test-case name="fn-namespace-uri-5" result="pass"/><test-case name="fn-namespace-uri-6" result="pass"/><test-case name="fn-namespace-uri-7" result="pass"/><test-case name="fn-namespace-uri-8" result="pass"/><test-case name="fn-namespace-uri-9" result="pass"/><test-case name="fn-namespace-uri-10" result="pass"/><test-case name="fn-namespace-uri-11" result="pass"/><test-case name="fn-namespace-uri-12" result="pass"/><test-case name="fn-namespace-uri-13" result="pass"/><test-case name="fn-namespace-uri-14" result="pass"/><test-case name="fn-namespace-uri-15" result="pass"/><test-case name="fn-namespace-uri-16" result="pass"/><test-case name="fn-namespace-uri-17" result="pass"/><test-case name="fn-namespace-uri-18" result="pass"/><test-case name="fn-namespace-uri-19" result="pass"/><test-case name="fn-namespace-uri-20" result="pass"/><test-case name="fn-namespace-uri-21" result="pass"/><test-case name="fn-namespace-uri-22" result="pass"/><test-case name="fn-namespace-uri-23" result="pass"/><test-case name="fn-namespace-uri-24" result="pass"/><test-case name="fn-namespace-uri-25" result="pass"/><test-case name="fn-namespace-uri-26" result="pass"/><test-case name="K-NodeNamespaceURIFunc-1" result="pass"/><test-case name="K-NodeNamespaceURIFunc-2" result="pass"/><test-case name="K-NodeNamespaceURIFunc-3" result="pass"/><test-case name="K2-NodeNamespaceURIFunc-1" result="pass"/><test-case name="K2-NodeNamespaceURIFunc-2" result="pass"/><test-case name="K2-NodeNamespaceURIFunc-3" result="pass"/><test-case name="fn-numberint1args-1" result="pass"/><test-case name="fn-numberint1args-2" result="pass"/><test-case name="fn-numberint1args-3" result="pass"/><test-case name="fn-numberintg1args-1" result="pass"/><test-case name="fn-numberintg1args-2" result="pass"/><test-case name="fn-numberintg1args-3" result="pass"/><test-case name="fn-numberdec1args-1" result="pass"/><test-case name="fn-numberdec1args-2" result="pass"/><test-case name="fn-numberdec1args-3" result="pass"/><test-case name="fn-numberdbl1args-1" result="pass"/><test-case name="fn-numberdbl1args-2" result="pass"/><test-case name="fn-numberdbl1args-3" result="pass"/><test-case name="fn-numberflt1args-1" result="fail"/><test-case name="fn-numberflt1args-2" result="pass"/><test-case name="fn-numberflt1args-3" result="fail"/><test-case name="fn-numberlng1args-1" result="pass"/><test-case name="fn-numberlng1args-2" result="pass"/><test-case name="fn-numberlng1args-3" result="pass"/><test-case name="fn-numberusht1args-1" result="pass"/><test-case name="fn-numberusht1args-2" result="pass"/><test-case name="fn-numberusht1args-3" result="pass"/><test-case name="fn-numbernint1args-1" result="pass"/><test-case name="fn-numbernint1args-2" result="pass"/><test-case name="fn-numbernint1args-3" result="pass"/><test-case name="fn-numberpint1args-1" result="pass"/><test-case name="fn-numberpint1args-2" result="pass"/><test-case name="fn-numberpint1args-3" result="pass"/><test-case name="fn-numberulng1args-1" result="pass"/><test-case name="fn-numberulng1args-2" result="pass"/><test-case name="fn-numberulng1args-3" result="pass"/><test-case name="fn-numbernpi1args-1" result="pass"/><test-case name="fn-numbernpi1args-2" result="pass"/><test-case name="fn-numbernpi1args-3" result="pass"/><test-case name="fn-numbernni1args-1" result="pass"/><test-case name="fn-numbernni1args-2" result="pass"/><test-case name="fn-numbernni1args-3" result="pass"/><test-case name="fn-numbersht1args-1" result="pass"/><test-case name="fn-numbersht1args-2" result="pass"/><test-case name="fn-numbersht1args-3" result="pass"/><test-case name="fn-number-1" result="pass"/><test-case name="fn-number-2" result="pass"/><test-case name="fn-number-3" result="pass"/><test-case name="fn-number-4" result="pass"/><test-case name="K-NodeNumberFunc-1" result="pass"/><test-case name="K-NodeNumberFunc-2" result="pass"/><test-case name="K-NodeNumberFunc-3" result="pass"/><test-case name="K-NodeNumberFunc-4" result="pass"/><test-case name="K-NodeNumberFunc-5" result="pass"/><test-case name="K-NodeNumberFunc-6" result="pass"/><test-case name="K-NodeNumberFunc-7" result="pass"/><test-case name="K-NodeNumberFunc-8" result="pass"/><test-case name="K-NodeNumberFunc-9" result="pass"/><test-case name="K-NodeNumberFunc-10" result="pass"/><test-case name="K-NodeNumberFunc-11" result="pass"/><test-case name="K-NodeNumberFunc-12" result="pass"/><test-case name="K-NodeNumberFunc-13" result="pass"/><test-case name="K-NodeNumberFunc-14" result="pass"/><test-case name="K-NodeNumberFunc-15" result="pass"/><test-case name="K-NodeNumberFunc-16" result="pass"/><test-case name="K-NodeNumberFunc-17" result="pass"/><test-case name="fn-lang1args-1" result="pass"/><test-case name="fn-lang1args-2" result="pass"/><test-case name="fn-lang1args-3" result="pass"/><test-case name="fn-lang-1" result="pass"/><test-case name="fn-lang-2" result="pass"/><test-case name="fn-lang-3" result="pass"/><test-case name="fn-lang-4" result="pass"/><test-case name="fn-lang-5" result="pass"/><test-case name="fn-lang-6" result="pass"/><test-case name="fn-lang-7" result="pass"/><test-case name="fn-lang-8" result="pass"/><test-case name="fn-lang-9" result="pass"/><test-case name="fn-lang-10" result="pass"/><test-case name="fn-lang-11" result="pass"/><test-case name="fn-lang-12" result="pass"/><test-case name="fn-lang-13" result="pass"/><test-case name="fn-lang-14" result="pass"/><test-case name="fn-lang-15" result="pass"/><test-case name="fn-lang-16" result="pass"/><test-case name="fn-lang-17" result="pass"/><test-case name="fn-lang-18" result="pass"/><test-case name="fn-lang-19" result="pass"/><test-case name="fn-lang-20" result="pass"/><test-case name="fn-lang-21" result="pass"/><test-case name="fn-lang-22" result="pass"/><test-case name="K-NodeLangFunc-1" result="pass"/><test-case name="K-NodeLangFunc-2" result="pass"/><test-case name="K-NodeLangFunc-3" result="pass"/><test-case name="K-NodeLangFunc-4" result="pass"/><test-case name="K2-NodeLangFunc-1" result="pass"/><test-case name="K2-NodeLangFunc-2" result="pass"/><test-case name="K2-NodeLangFunc-3" result="pass"/><test-case name="K2-NodeLangFunc-4" result="pass"/><test-case name="K2-NodeLangFunc-5" result="pass"/><test-case name="K2-NodeLangFunc-6" result="pass"/><test-case name="fn-root-1" result="pass"/><test-case name="fn-root-2" result="pass"/><test-case name="fn-root-3" result="pass"/><test-case name="fn-root-4" result="pass"/><test-case name="fn-root-5" result="pass"/><test-case name="fn-root-6" result="pass"/><test-case name="fn-root-7" result="pass"/><test-case name="fn-root-8" result="pass"/><test-case name="fn-root-9" result="pass"/><test-case name="fn-root-10" result="pass"/><test-case name="fn-root-11" result="pass"/><test-case name="fn-root-12" result="pass"/><test-case name="fn-root-13" result="pass"/><test-case name="fn-root-14" result="pass"/><test-case name="fn-root-15" result="pass"/><test-case name="fn-root-16" result="pass"/><test-case name="fn-root-17" result="pass"/><test-case name="fn-root-18" result="pass"/><test-case name="fn-root-19" result="pass"/><test-case name="fn-root-20" result="pass"/><test-case name="fn-root-21" result="pass"/><test-case name="fn-root-22" result="pass"/><test-case name="fn-root-23" result="pass"/><test-case name="fn-root-24" result="pass"/><test-case name="K-NodeRootFunc-1" result="pass"/><test-case name="K-NodeRootFunc-2" result="pass"/><test-case name="K-NodeRootFunc-3" result="pass"/><test-case name="K-NodeRootFunc-4" result="pass"/><test-case name="K2-NodeRootFunc-1" result="pass"/><test-case name="K2-NodeRootFunc-2" result="pass"/><test-case name="K2-NodeRootFunc-3" result="pass"/><test-case name="K2-NodeRootFunc-4" result="pass"/><test-case name="K2-NodeRootFunc-5" result="pass"/><test-case name="K2-NodeRootFunc-6" result="pass"/><test-case name="K2-NodeRootFunc-7" result="pass"/><test-case name="K2-NodeRootFunc-8" result="pass"/><test-case name="fn-booleanint1args-1" result="pass"/><test-case name="fn-booleanint1args-2" result="pass"/><test-case name="fn-booleanint1args-3" result="pass"/><test-case name="fn-booleanintg1args-1" result="pass"/><test-case name="fn-booleanintg1args-2" result="pass"/><test-case name="fn-booleanintg1args-3" result="pass"/><test-case name="fn-booleandec1args-1" result="pass"/><test-case name="fn-booleandec1args-2" result="pass"/><test-case name="fn-booleandec1args-3" result="pass"/><test-case name="fn-booleandbl1args-1" result="pass"/><test-case name="fn-booleandbl1args-2" result="pass"/><test-case name="fn-booleandbl1args-3" result="pass"/><test-case name="fn-booleanflt1args-1" result="pass"/><test-case name="fn-booleanflt1args-2" result="pass"/><test-case name="fn-booleanflt1args-3" result="pass"/><test-case name="fn-booleanlng1args-1" result="pass"/><test-case name="fn-booleanlng1args-2" result="pass"/><test-case name="fn-booleanlng1args-3" result="pass"/><test-case name="fn-booleanusht1args-1" result="pass"/><test-case name="fn-booleanusht1args-2" result="pass"/><test-case name="fn-booleanusht1args-3" result="pass"/><test-case name="fn-booleannint1args-1" result="pass"/><test-case name="fn-booleannint1args-2" result="pass"/><test-case name="fn-booleannint1args-3" result="pass"/><test-case name="fn-booleanpint1args-1" result="pass"/><test-case name="fn-booleanpint1args-2" result="pass"/><test-case name="fn-booleanpint1args-3" result="pass"/><test-case name="fn-booleanulng1args-1" result="pass"/><test-case name="fn-booleanulng1args-2" result="pass"/><test-case name="fn-booleanulng1args-3" result="pass"/><test-case name="fn-booleannpi1args-1" result="pass"/><test-case name="fn-booleannpi1args-2" result="pass"/><test-case name="fn-booleannpi1args-3" result="pass"/><test-case name="fn-booleannni1args-1" result="pass"/><test-case name="fn-booleannni1args-2" result="pass"/><test-case name="fn-booleannni1args-3" result="pass"/><test-case name="fn-booleansht1args-1" result="pass"/><test-case name="fn-booleansht1args-2" result="pass"/><test-case name="fn-booleansht1args-3" result="pass"/><test-case name="fn-boolean-mixed-args-001" result="pass"/><test-case name="fn-boolean-mixed-args-002" result="pass"/><test-case name="fn-boolean-mixed-args-003" result="pass"/><test-case name="fn-boolean-mixed-args-004" result="pass"/><test-case name="fn-boolean-mixed-args-005" result="pass"/><test-case name="fn-boolean-mixed-args-006" result="pass"/><test-case name="fn-boolean-mixed-args-007" result="pass"/><test-case name="fn-boolean-mixed-args-008" result="pass"/><test-case name="fn-boolean-mixed-args-009" result="pass"/><test-case name="fn-boolean-mixed-args-010" result="pass"/><test-case name="fn-boolean-mixed-args-011" result="pass"/><test-case name="fn-boolean-mixed-args-012" result="pass"/><test-case name="fn-boolean-mixed-args-013" result="pass"/><test-case name="fn-boolean-mixed-args-014" result="pass"/><test-case name="fn-boolean-mixed-args-015" result="pass"/><test-case name="fn-boolean-mixed-args-016" result="pass"/><test-case name="fn-boolean-mixed-args-017" result="pass"/><test-case name="fn-boolean-mixed-args-018" result="pass"/><test-case name="fn-boolean-mixed-args-019" result="pass"/><test-case name="fn-boolean-mixed-args-020" result="pass"/><test-case name="fn-boolean-mixed-args-021" result="pass"/><test-case name="fn-boolean-mixed-args-022" result="pass"/><test-case name="fn-boolean-mixed-args-023" result="pass"/><test-case name="fn-boolean-mixed-args-024" result="pass"/><test-case name="fn-boolean-mixed-args-025" result="pass"/><test-case name="fn-boolean-mixed-args-026" result="pass"/><test-case name="fn-boolean-mixed-args-027" result="pass"/><test-case name="fn-boolean-mixed-args-028" result="pass"/><test-case name="fn-boolean-mixed-args-029" result="pass"/><test-case name="fn-boolean-mixed-args-030" result="pass"/><test-case name="fn-boolean-mixed-args-031" result="pass"/><test-case name="fn-boolean-mixed-args-032" result="pass"/><test-case name="fn-boolean-mixed-args-033" result="pass"/><test-case name="fn-boolean-mixed-args-034" result="pass"/><test-case name="fn-boolean-mixed-args-035" result="pass"/><test-case name="fn-boolean-mixed-args-036" result="pass"/><test-case name="fn-boolean-mixed-args-037" result="pass"/><test-case name="fn-boolean-mixed-args-038" result="pass"/><test-case name="fn-boolean-mixed-args-039" result="pass"/><test-case name="fn-boolean-mixed-args-040" result="pass"/><test-case name="fn-boolean-mixed-args-041" result="pass"/><test-case name="fn-boolean-mixed-args-042" result="pass"/><test-case name="fn-boolean-mixed-args-043" result="pass"/><test-case name="fn-boolean-mixed-args-044" result="pass"/><test-case name="fn-boolean-mixed-args-045" result="pass"/><test-case name="fn-boolean-mixed-args-046" result="pass"/><test-case name="fn-boolean-mixed-args-047" result="pass"/><test-case name="fn-boolean-mixed-args-048" result="pass"/><test-case name="fn-boolean-mixed-args-049" result="pass"/><test-case name="fn-boolean-050" result="pass"/><test-case name="context-item-1" result="pass"/><test-case name="K-SeqBooleanFunc-1" result="pass"/><test-case name="K-SeqBooleanFunc-2" result="pass"/><test-case name="K-SeqBooleanFunc-3" result="pass"/><test-case name="K-SeqBooleanFunc-4" result="pass"/><test-case name="K-SeqBooleanFunc-5" result="pass"/><test-case name="K-SeqBooleanFunc-6" result="pass"/><test-case name="K-SeqBooleanFunc-7" result="pass"/><test-case name="K-SeqBooleanFunc-8" result="pass"/><test-case name="K-SeqBooleanFunc-9" result="pass"/><test-case name="K-SeqBooleanFunc-10" result="pass"/><test-case name="K-SeqBooleanFunc-11" result="pass"/><test-case name="K-SeqBooleanFunc-12" result="pass"/><test-case name="K-SeqBooleanFunc-13" result="pass"/><test-case name="K-SeqBooleanFunc-14" result="pass"/><test-case name="K-SeqBooleanFunc-15" result="pass"/><test-case name="K-SeqBooleanFunc-16" result="pass"/><test-case name="K-SeqBooleanFunc-17" result="pass"/><test-case name="K-SeqBooleanFunc-18" result="pass"/><test-case name="K-SeqBooleanFunc-19" result="pass"/><test-case name="K-SeqBooleanFunc-20" result="pass"/><test-case name="K-SeqBooleanFunc-21" result="pass"/><test-case name="K-SeqBooleanFunc-22" result="pass"/><test-case name="K-SeqBooleanFunc-23" result="pass"/><test-case name="K-SeqBooleanFunc-24" result="pass"/><test-case name="K-SeqBooleanFunc-25" result="pass"/><test-case name="K-SeqBooleanFunc-26" result="pass"/><test-case name="K-SeqBooleanFunc-27" result="pass"/><test-case name="K-SeqBooleanFunc-28" result="pass"/><test-case name="K-SeqBooleanFunc-29" result="pass"/><test-case name="K-SeqBooleanFunc-30" result="pass"/><test-case name="K-SeqBooleanFunc-31" result="pass"/><test-case name="K-SeqBooleanFunc-32" result="pass"/><test-case name="fn-indexof-mix-args-001" result="pass"/><test-case name="fn-indexof-mix-args-002" result="pass"/><test-case name="fn-indexof-mix-args-003" result="pass"/><test-case name="fn-indexof-mix-args-004" result="pass"/><test-case name="fn-indexof-mix-args-005" result="pass"/><test-case name="fn-indexof-mix-args-006" result="pass"/><test-case name="fn-indexof-mix-args-007" result="pass"/><test-case name="fn-indexof-mix-args-008" result="pass"/><test-case name="fn-indexof-mix-args-009" result="pass"/><test-case name="fn-indexof-mix-args-010" result="pass"/><test-case name="fn-indexof-mix-args-011" result="pass"/><test-case name="fn-indexof-mix-args-012" result="pass"/><test-case name="fn-indexof-mix-args-013" result="fail"/><test-case name="fn-indexof-mix-args-014" result="pass"/><test-case name="fn-indexof-mix-args-015" result="pass"/><test-case name="fn-indexof-mix-args-016" result="pass"/><test-case name="fn-indexof-mix-args-017" result="pass"/><test-case name="fn-indexof-mix-args-018" result="pass"/><test-case name="fn-indexof-mix-args-019" result="pass"/><test-case name="fn-indexof-mix-args-020" result="pass"/><test-case name="fn-indexof-mix-args-021" result="pass"/><test-case name="fn-indexof-mix-args-022" result="pass"/><test-case name="K-SeqIndexOfFunc-1" result="pass"/><test-case name="K-SeqIndexOfFunc-2" result="pass"/><test-case name="K-SeqIndexOfFunc-3" result="pass"/><test-case name="K-SeqIndexOfFunc-4" result="pass"/><test-case name="K-SeqIndexOfFunc-5" result="pass"/><test-case name="K-SeqIndexOfFunc-6" result="pass"/><test-case name="K-SeqIndexOfFunc-7" result="pass"/><test-case name="K-SeqIndexOfFunc-8" result="pass"/><test-case name="K-SeqIndexOfFunc-9" result="pass"/><test-case name="K-SeqIndexOfFunc-10" result="pass"/><test-case name="K-SeqIndexOfFunc-11" result="pass"/><test-case name="K-SeqIndexOfFunc-12" result="pass"/><test-case name="K-SeqIndexOfFunc-13" result="pass"/><test-case name="K-SeqIndexOfFunc-14" result="pass"/><test-case name="K-SeqIndexOfFunc-15" result="pass"/><test-case name="K-SeqIndexOfFunc-16" result="pass"/><test-case name="K-SeqIndexOfFunc-17" result="pass"/><test-case name="K-SeqIndexOfFunc-18" result="pass"/><test-case name="K-SeqIndexOfFunc-19" result="pass"/><test-case name="K-SeqIndexOfFunc-20" result="pass"/><test-case name="K-SeqIndexOfFunc-21" result="pass"/><test-case name="K-SeqIndexOfFunc-22" result="pass"/><test-case name="K-SeqIndexOfFunc-23" result="pass"/><test-case name="K-SeqIndexOfFunc-24" result="pass"/><test-case name="K-SeqIndexOfFunc-25" result="pass"/><test-case name="fn-emptyint1args-1" result="pass"/><test-case name="fn-emptyint1args-2" result="pass"/><test-case name="fn-emptyint1args-3" result="pass"/><test-case name="fn-emptyintg1args-1" result="pass"/><test-case name="fn-emptyintg1args-2" result="pass"/><test-case name="fn-emptyintg1args-3" result="pass"/><test-case name="fn-emptydec1args-1" result="pass"/><test-case name="fn-emptydec1args-2" result="pass"/><test-case name="fn-emptydec1args-3" result="pass"/><test-case name="fn-emptydbl1args-1" result="pass"/><test-case name="fn-emptydbl1args-2" result="pass"/><test-case name="fn-emptydbl1args-3" result="pass"/><test-case name="fn-emptyflt1args-1" result="pass"/><test-case name="fn-emptyflt1args-2" result="pass"/><test-case name="fn-emptyflt1args-3" result="pass"/><test-case name="fn-emptylng1args-1" result="pass"/><test-case name="fn-emptylng1args-2" result="pass"/><test-case name="fn-emptylng1args-3" result="pass"/><test-case name="fn-emptyusht1args-1" result="pass"/><test-case name="fn-emptyusht1args-2" result="pass"/><test-case name="fn-emptyusht1args-3" result="pass"/><test-case name="fn-emptynint1args-1" result="pass"/><test-case name="fn-emptynint1args-2" result="pass"/><test-case name="fn-emptynint1args-3" result="pass"/><test-case name="fn-emptypint1args-1" result="pass"/><test-case name="fn-emptypint1args-2" result="pass"/><test-case name="fn-emptypint1args-3" result="pass"/><test-case name="fn-emptyulng1args-1" result="pass"/><test-case name="fn-emptyulng1args-2" result="pass"/><test-case name="fn-emptyulng1args-3" result="pass"/><test-case name="fn-emptynpi1args-1" result="pass"/><test-case name="fn-emptynpi1args-2" result="pass"/><test-case name="fn-emptynpi1args-3" result="pass"/><test-case name="fn-emptynni1args-1" result="pass"/><test-case name="fn-emptynni1args-2" result="pass"/><test-case name="fn-emptynni1args-3" result="pass"/><test-case name="fn-emptysht1args-1" result="pass"/><test-case name="fn-emptysht1args-2" result="pass"/><test-case name="fn-emptysht1args-3" result="pass"/><test-case name="K-SeqEmptyFunc-1" result="pass"/><test-case name="K-SeqEmptyFunc-2" result="pass"/><test-case name="K-SeqEmptyFunc-3" result="pass"/><test-case name="K-SeqEmptyFunc-4" result="pass"/><test-case name="K-SeqEmptyFunc-5" result="pass"/><test-case name="K-SeqEmptyFunc-6" result="pass"/><test-case name="K-SeqEmptyFunc-7" result="pass"/><test-case name="K-SeqEmptyFunc-8" result="pass"/><test-case name="K-SeqEmptyFunc-9" result="pass"/><test-case name="fn-existsint1args-1" result="pass"/><test-case name="fn-existsint1args-2" result="pass"/><test-case name="fn-existsint1args-3" result="pass"/><test-case name="fn-existsintg1args-1" result="pass"/><test-case name="fn-existsintg1args-2" result="pass"/><test-case name="fn-existsintg1args-3" result="pass"/><test-case name="fn-existsdec1args-1" result="pass"/><test-case name="fn-existsdec1args-2" result="pass"/><test-case name="fn-existsdec1args-3" result="pass"/><test-case name="fn-existsdbl1args-1" result="pass"/><test-case name="fn-existsdbl1args-2" result="pass"/><test-case name="fn-existsdbl1args-3" result="pass"/><test-case name="fn-existsflt1args-1" result="pass"/><test-case name="fn-existsflt1args-2" result="pass"/><test-case name="fn-existsflt1args-3" result="pass"/><test-case name="fn-existslng1args-1" result="pass"/><test-case name="fn-existslng1args-2" result="pass"/><test-case name="fn-existslng1args-3" result="pass"/><test-case name="fn-existsusht1args-1" result="pass"/><test-case name="fn-existsusht1args-2" result="pass"/><test-case name="fn-existsusht1args-3" result="pass"/><test-case name="fn-existsnint1args-1" result="pass"/><test-case name="fn-existsnint1args-2" result="pass"/><test-case name="fn-existsnint1args-3" result="pass"/><test-case name="fn-existspint1args-1" result="pass"/><test-case name="fn-existspint1args-2" result="pass"/><test-case name="fn-existspint1args-3" result="pass"/><test-case name="fn-existsulng1args-1" result="pass"/><test-case name="fn-existsulng1args-2" result="pass"/><test-case name="fn-existsulng1args-3" result="pass"/><test-case name="fn-existsnpi1args-1" result="pass"/><test-case name="fn-existsnpi1args-2" result="pass"/><test-case name="fn-existsnpi1args-3" result="pass"/><test-case name="fn-existsnni1args-1" result="pass"/><test-case name="fn-existsnni1args-2" result="pass"/><test-case name="fn-existsnni1args-3" result="pass"/><test-case name="fn-existssht1args-1" result="pass"/><test-case name="fn-existssht1args-2" result="pass"/><test-case name="fn-existssht1args-3" result="pass"/><test-case name="K-SeqExistsFunc-1" result="pass"/><test-case name="K-SeqExistsFunc-2" result="pass"/><test-case name="K-SeqExistsFunc-3" result="pass"/><test-case name="K-SeqExistsFunc-4" result="pass"/><test-case name="K-SeqExistsFunc-5" result="pass"/><test-case name="K-SeqExistsFunc-6" result="pass"/><test-case name="K-SeqExistsFunc-7" result="pass"/><test-case name="K-SeqExistsFunc-8" result="pass"/><test-case name="K-SeqExistsFunc-9" result="pass"/><test-case name="K-SeqExistsFunc-10" result="pass"/><test-case name="K-SeqExistsFunc-11" result="pass"/><test-case name="K-SeqExistsFunc-12" result="pass"/><test-case name="K-SeqExistsFunc-13" result="pass"/><test-case name="K-SeqExistsFunc-14" result="pass"/><test-case name="fn-distinct-valuesint1args-1" result="pass"/><test-case name="fn-distinct-valuesint1args-2" result="pass"/><test-case name="fn-distinct-valuesint1args-3" result="pass"/><test-case name="fn-distinct-valuesintg1args-1" result="pass"/><test-case name="fn-distinct-valuesintg1args-2" result="pass"/><test-case name="fn-distinct-valuesintg1args-3" result="pass"/><test-case name="fn-distinct-valuesdec1args-1" result="fail"/><test-case name="fn-distinct-valuesdec1args-2" result="fail"/><test-case name="fn-distinct-valuesdec1args-3" result="fail"/><test-case name="fn-distinct-valuesdbl1args-1" result="pass"/><test-case name="fn-distinct-valuesdbl1args-2" result="pass"/><test-case name="fn-distinct-valuesdbl1args-3" result="pass"/><test-case name="fn-distinct-valuesflt1args-1" result="pass"/><test-case name="fn-distinct-valuesflt1args-2" result="pass"/><test-case name="fn-distinct-valuesflt1args-3" result="pass"/><test-case name="fn-distinct-valueslng1args-1" result="pass"/><test-case name="fn-distinct-valueslng1args-2" result="pass"/><test-case name="fn-distinct-valueslng1args-3" result="pass"/><test-case name="fn-distinct-valuesusht1args-1" result="pass"/><test-case name="fn-distinct-valuesusht1args-2" result="pass"/><test-case name="fn-distinct-valuesusht1args-3" result="pass"/><test-case name="fn-distinct-valuesnint1args-1" result="pass"/><test-case name="fn-distinct-valuesnint1args-2" result="pass"/><test-case name="fn-distinct-valuesnint1args-3" result="pass"/><test-case name="fn-distinct-valuespint1args-1" result="pass"/><test-case name="fn-distinct-valuespint1args-2" result="pass"/><test-case name="fn-distinct-valuespint1args-3" result="pass"/><test-case name="fn-distinct-valuesulng1args-1" result="pass"/><test-case name="fn-distinct-valuesulng1args-2" result="pass"/><test-case name="fn-distinct-valuesulng1args-3" result="pass"/><test-case name="fn-distinct-valuesnpi1args-1" result="pass"/><test-case name="fn-distinct-valuesnpi1args-2" result="pass"/><test-case name="fn-distinct-valuesnpi1args-3" result="pass"/><test-case name="fn-distinct-valuesnni1args-1" result="pass"/><test-case name="fn-distinct-valuesnni1args-2" result="pass"/><test-case name="fn-distinct-valuesnni1args-3" result="pass"/><test-case name="fn-distinct-valuessht1args-1" result="pass"/><test-case name="fn-distinct-valuessht1args-2" result="pass"/><test-case name="fn-distinct-valuessht1args-3" result="pass"/><test-case name="fn-distinct-values-mixed-args-001" result="pass"/><test-case name="fn-distinct-values-mixed-args-002" result="pass"/><test-case name="fn-distinct-values-mixed-args-003" result="pass"/><test-case name="fn-distinct-values-mixed-args-004" result="pass"/><test-case name="fn-distinct-values-mixed-args-005" result="pass"/><test-case name="fn-distinct-values-mixed-args-006" result="pass"/><test-case name="fn-distinct-values-mixed-args-007" result="pass"/><test-case name="fn-distinct-values-mixed-args-008" result="pass"/><test-case name="fn-distinct-values-mixed-args-009" result="pass"/><test-case name="fn-distinct-values-mixed-args-010" result="fail"/><test-case name="fn-distinct-values-mixed-args-011" result="pass"/><test-case name="fn-distinct-values-mixed-args-012" result="pass"/><test-case name="fn-distinct-values-mixed-args-013" result="pass"/><test-case name="fn-distinct-values-mixed-args-014" result="pass"/><test-case name="fn-distinct-values-mixed-args-015" result="pass"/><test-case name="fn-distinct-values-mixed-args-016" result="pass"/><test-case name="fn-distinct-values-mixed-args-017" result="pass"/><test-case name="fn-distinct-values-mixed-args-018" result="pass"/><test-case name="fn-distinct-values-mixed-args-019" result="fail"/><test-case name="fn-distinct-values-mixed-args-020" result="fail"/><test-case name="fn-distinct-values-mixed-args-021" result="fail"/><test-case name="fn-distinct-values-mixed-args-022" result="pass"/><test-case name="fn-distinct-values-mixed-args-023" result="pass"/><test-case name="fn-distinct-values-mixed-args-024" result="pass"/><test-case name="fn-distinct-values-mixed-args-025" result="fail"/><test-case name="fn-distinct-values-mixed-args-026" result="fail"/><test-case name="fn-distinct-values-mixed-args-027" result="pass"/><test-case name="fn-distinct-values-mixed-args-028" result="pass"/><test-case name="fn-distinct-values-mixed-args-029" result="pass"/><test-case name="fn-distinct-values-mixed-args-030" result="pass"/><test-case name="fn-distinct-values-mixed-args-031" result="pass"/><test-case name="fn-distinct-values-mixed-args-032" result="pass"/><test-case name="K-SeqDistinctValuesFunc-1" result="pass"/><test-case name="K-SeqDistinctValuesFunc-2" result="pass"/><test-case name="K-SeqDistinctValuesFunc-3" result="pass"/><test-case name="K-SeqDistinctValuesFunc-4" result="pass"/><test-case name="K-SeqDistinctValuesFunc-5" result="pass"/><test-case name="K-SeqDistinctValuesFunc-6" result="pass"/><test-case name="K-SeqDistinctValuesFunc-7" result="pass"/><test-case name="K-SeqDistinctValuesFunc-8" result="pass"/><test-case name="K-SeqDistinctValuesFunc-9" result="pass"/><test-case name="K-SeqDistinctValuesFunc-10" result="pass"/><test-case name="K-SeqDistinctValuesFunc-11" result="pass"/><test-case name="K-SeqDistinctValuesFunc-12" result="pass"/><test-case name="K-SeqDistinctValuesFunc-13" result="pass"/><test-case name="K-SeqDistinctValuesFunc-14" result="pass"/><test-case name="K-SeqDistinctValuesFunc-15" result="pass"/><test-case name="K2-SeqDistinctValuesFunc-1" result="pass"/><test-case name="fn-insert-before-mix-args-001" result="pass"/><test-case name="fn-insert-before-mix-args-002" result="pass"/><test-case name="fn-insert-before-mix-args-003" result="pass"/><test-case name="fn-insert-before-mix-args-004" result="pass"/><test-case name="fn-insert-before-mix-args-005" result="pass"/><test-case name="fn-insert-before-mix-args-006" result="pass"/><test-case name="fn-insert-before-mix-args-007" result="pass"/><test-case name="fn-insert-before-mix-args-008" result="pass"/><test-case name="fn-insert-before-mix-args-009" result="pass"/><test-case name="fn-insert-before-mix-args-010" result="pass"/><test-case name="fn-insert-before-mix-args-011" result="pass"/><test-case name="fn-insert-before-mix-args-012" result="pass"/><test-case name="fn-insert-before-mix-args-013" result="pass"/><test-case name="fn-insert-before-mix-args-014" result="pass"/><test-case name="fn-insert-before-mix-args-015" result="pass"/><test-case name="fn-insert-before-mix-args-016" result="pass"/><test-case name="fn-insert-before-mix-args-017" result="pass"/><test-case name="fn-insert-before-mix-args-018" result="pass"/><test-case name="fn-insert-before-mix-args-019" result="pass"/><test-case name="fn-insert-before-mix-args-020" result="pass"/><test-case name="K-SeqInsertBeforeFunc-1" result="pass"/><test-case name="K-SeqInsertBeforeFunc-2" result="pass"/><test-case name="K-SeqInsertBeforeFunc-3" result="pass"/><test-case name="K-SeqInsertBeforeFunc-4" result="pass"/><test-case name="K-SeqInsertBeforeFunc-5" result="pass"/><test-case name="K-SeqInsertBeforeFunc-6" result="pass"/><test-case name="K-SeqInsertBeforeFunc-7" result="pass"/><test-case name="K-SeqInsertBeforeFunc-8" result="pass"/><test-case name="K-SeqInsertBeforeFunc-9" result="pass"/><test-case name="K-SeqInsertBeforeFunc-10" result="pass"/><test-case name="K-SeqInsertBeforeFunc-11" result="pass"/><test-case name="K-SeqInsertBeforeFunc-12" result="pass"/><test-case name="K-SeqInsertBeforeFunc-13" result="pass"/><test-case name="K-SeqInsertBeforeFunc-14" result="pass"/><test-case name="K-SeqInsertBeforeFunc-15" result="pass"/><test-case name="K-SeqInsertBeforeFunc-16" result="pass"/><test-case name="K-SeqInsertBeforeFunc-17" result="pass"/><test-case name="K-SeqInsertBeforeFunc-18" result="pass"/><test-case name="K-SeqInsertBeforeFunc-19" result="pass"/><test-case name="K-SeqInsertBeforeFunc-20" result="pass"/><test-case name="K-SeqInsertBeforeFunc-21" result="pass"/><test-case name="fn-remove-mix-args-001" result="pass"/><test-case name="fn-remove-mix-args-002" result="pass"/><test-case name="fn-remove-mix-args-003" result="pass"/><test-case name="fn-remove-mix-args-004" result="pass"/><test-case name="fn-remove-mix-args-005" result="pass"/><test-case name="fn-remove-mix-args-006" result="pass"/><test-case name="fn-remove-mix-args-007" result="pass"/><test-case name="fn-remove-mix-args-008" result="pass"/><test-case name="fn-remove-mix-args-009" result="pass"/><test-case name="fn-remove-mix-args-010" result="pass"/><test-case name="fn-remove-mix-args-011" result="pass"/><test-case name="fn-remove-mix-args-012" result="pass"/><test-case name="fn-remove-mix-args-013" result="pass"/><test-case name="fn-remove-mix-args-014" result="pass"/><test-case name="fn-remove-mix-args-015" result="pass"/><test-case name="fn-remove-mix-args-016" result="pass"/><test-case name="fn-remove-mix-args-017" result="pass"/><test-case name="fn-remove-mix-args-018" result="pass"/><test-case name="fn-remove-mix-args-019" result="pass"/><test-case name="fn-remove-mix-args-020" result="pass"/><test-case name="K-SeqRemoveFunc-1" result="pass"/><test-case name="K-SeqRemoveFunc-2" result="pass"/><test-case name="K-SeqRemoveFunc-3" result="pass"/><test-case name="K-SeqRemoveFunc-4" result="pass"/><test-case name="K-SeqRemoveFunc-5" result="pass"/><test-case name="K-SeqRemoveFunc-6" result="pass"/><test-case name="K-SeqRemoveFunc-7" result="pass"/><test-case name="K-SeqRemoveFunc-8" result="pass"/><test-case name="K-SeqRemoveFunc-9" result="pass"/><test-case name="K-SeqRemoveFunc-10" result="pass"/><test-case name="K-SeqRemoveFunc-11" result="pass"/><test-case name="K-SeqRemoveFunc-12" result="pass"/><test-case name="K-SeqRemoveFunc-13" result="pass"/><test-case name="K-SeqRemoveFunc-14" result="pass"/><test-case name="K-SeqRemoveFunc-15" result="pass"/><test-case name="K-SeqRemoveFunc-16" result="pass"/><test-case name="K-SeqRemoveFunc-17" result="pass"/><test-case name="K-SeqRemoveFunc-18" result="pass"/><test-case name="K-SeqRemoveFunc-19" result="pass"/><test-case name="K-SeqRemoveFunc-20" result="pass"/><test-case name="K-SeqRemoveFunc-21" result="pass"/><test-case name="K-SeqRemoveFunc-22" result="pass"/><test-case name="K-SeqRemoveFunc-23" result="pass"/><test-case name="K-SeqRemoveFunc-24" result="pass"/><test-case name="fn-reverseint1args-1" result="pass"/><test-case name="fn-reverseint1args-2" result="pass"/><test-case name="fn-reverseint1args-3" result="pass"/><test-case name="fn-reverseintg1args-1" result="pass"/><test-case name="fn-reverseintg1args-2" result="pass"/><test-case name="fn-reverseintg1args-3" result="pass"/><test-case name="fn-reversedec1args-1" result="fail"/><test-case name="fn-reversedec1args-2" result="fail"/><test-case name="fn-reversedec1args-3" result="fail"/><test-case name="fn-reversedbl1args-1" result="pass"/><test-case name="fn-reversedbl1args-2" result="pass"/><test-case name="fn-reversedbl1args-3" result="pass"/><test-case name="fn-reverseflt1args-1" result="pass"/><test-case name="fn-reverseflt1args-2" result="pass"/><test-case name="fn-reverseflt1args-3" result="pass"/><test-case name="fn-reverselng1args-1" result="pass"/><test-case name="fn-reverselng1args-2" result="pass"/><test-case name="fn-reverselng1args-3" result="pass"/><test-case name="fn-reverseusht1args-1" result="pass"/><test-case name="fn-reverseusht1args-2" result="pass"/><test-case name="fn-reverseusht1args-3" result="pass"/><test-case name="fn-reversenint1args-1" result="pass"/><test-case name="fn-reversenint1args-2" result="pass"/><test-case name="fn-reversenint1args-3" result="pass"/><test-case name="fn-reversepint1args-1" result="pass"/><test-case name="fn-reversepint1args-2" result="pass"/><test-case name="fn-reversepint1args-3" result="pass"/><test-case name="fn-reverseulng1args-1" result="pass"/><test-case name="fn-reverseulng1args-2" result="pass"/><test-case name="fn-reverseulng1args-3" result="pass"/><test-case name="fn-reversenpi1args-1" result="pass"/><test-case name="fn-reversenpi1args-2" result="pass"/><test-case name="fn-reversenpi1args-3" result="pass"/><test-case name="fn-reversenni1args-1" result="pass"/><test-case name="fn-reversenni1args-2" result="pass"/><test-case name="fn-reversenni1args-3" result="pass"/><test-case name="fn-reversesht1args-1" result="pass"/><test-case name="fn-reversesht1args-2" result="pass"/><test-case name="fn-reversesht1args-3" result="pass"/><test-case name="K-SeqReverseFunc-1" result="pass"/><test-case name="K-SeqReverseFunc-2" result="pass"/><test-case name="K-SeqReverseFunc-3" result="pass"/><test-case name="K-SeqReverseFunc-4" result="pass"/><test-case name="K-SeqReverseFunc-5" result="pass"/><test-case name="K-SeqReverseFunc-6" result="pass"/><test-case name="K-SeqReverseFunc-7" result="pass"/><test-case name="K-SeqReverseFunc-8" result="pass"/><test-case name="K-SeqReverseFunc-9" result="pass"/><test-case name="K-SeqReverseFunc-10" result="pass"/><test-case name="K-SeqReverseFunc-11" result="pass"/><test-case name="K-SeqReverseFunc-12" result="pass"/><test-case name="K-SeqReverseFunc-13" result="pass"/><test-case name="K-SeqReverseFunc-14" result="pass"/><test-case name="K-SeqReverseFunc-15" result="pass"/><test-case name="K-SeqReverseFunc-16" result="pass"/><test-case name="K-SeqReverseFunc-17" result="pass"/><test-case name="K-SeqReverseFunc-18" result="pass"/><test-case name="K-SeqReverseFunc-19" result="pass"/><test-case name="K-SeqReverseFunc-20" result="pass"/><test-case name="K-SeqReverseFunc-21" result="pass"/><test-case name="K2-SeqReverseFunc-1" result="pass"/><test-case name="K2-SeqReverseFunc-2" result="pass"/><test-case name="K2-SeqReverseFunc-3" result="pass"/><test-case name="K2-SeqReverseFunc-4" result="pass"/><test-case name="K2-SeqReverseFunc-5" result="pass"/><test-case name="K2-SeqReverseFunc-6" result="pass"/><test-case name="fn-subsequence-mix-args-001" result="pass"/><test-case name="fn-subsequence-mix-args-002" result="pass"/><test-case name="fn-subsequence-mix-args-003" result="pass"/><test-case name="fn-subsequence-mix-args-004" result="pass"/><test-case name="fn-subsequence-mix-args-005" result="pass"/><test-case name="fn-subsequence-mix-args-006" result="pass"/><test-case name="fn-subsequence-mix-args-007" result="pass"/><test-case name="fn-subsequence-mix-args-008" result="pass"/><test-case name="fn-subsequence-mix-args-009" result="fail"/><test-case name="fn-subsequence-mix-args-010" result="pass"/><test-case name="fn-subsequence-mix-args-011" result="fail"/><test-case name="fn-subsequence-mix-args-012" result="pass"/><test-case name="fn-subsequence-mix-args-013" result="pass"/><test-case name="fn-subsequence-mix-args-014" result="pass"/><test-case name="fn-subsequence-mix-args-015" result="pass"/><test-case name="fn-subsequence-mix-args-016" result="pass"/><test-case name="fn-subsequence-mix-args-017" result="pass"/><test-case name="fn-subsequence-mix-args-018" result="pass"/><test-case name="fn-subsequence-mix-args-019" result="pass"/><test-case name="fn-subsequence-mix-args-020" result="pass"/><test-case name="fn-subsequence-mix-args-021" result="pass"/><test-case name="fn-subsequence-mix-args-022" result="fail"/><test-case name="fn-subsequence-mix-args-023" result="pass"/><test-case name="K-SeqSubsequenceFunc-1" result="pass"/><test-case name="K-SeqSubsequenceFunc-2" result="pass"/><test-case name="K-SeqSubsequenceFunc-3" result="pass"/><test-case name="K-SeqSubsequenceFunc-4" result="pass"/><test-case name="K-SeqSubsequenceFunc-5" result="pass"/><test-case name="K-SeqSubsequenceFunc-6" result="pass"/><test-case name="K-SeqSubsequenceFunc-7" result="pass"/><test-case name="K-SeqSubsequenceFunc-8" result="pass"/><test-case name="K-SeqSubsequenceFunc-9" result="pass"/><test-case name="K-SeqSubsequenceFunc-10" result="pass"/><test-case name="K-SeqSubsequenceFunc-11" result="pass"/><test-case name="K-SeqSubsequenceFunc-12" result="pass"/><test-case name="K-SeqSubsequenceFunc-13" result="pass"/><test-case name="K-SeqSubsequenceFunc-14" result="pass"/><test-case name="K-SeqSubsequenceFunc-15" result="pass"/><test-case name="K-SeqSubsequenceFunc-16" result="pass"/><test-case name="K-SeqSubsequenceFunc-17" result="pass"/><test-case name="K-SeqSubsequenceFunc-18" result="pass"/><test-case name="K-SeqSubsequenceFunc-19" result="pass"/><test-case name="K-SeqSubsequenceFunc-20" result="pass"/><test-case name="K-SeqSubsequenceFunc-21" result="pass"/><test-case name="K-SeqSubsequenceFunc-22" result="pass"/><test-case name="K-SeqSubsequenceFunc-23" result="pass"/><test-case name="K-SeqSubsequenceFunc-24" result="pass"/><test-case name="K-SeqSubsequenceFunc-25" result="pass"/><test-case name="K-SeqSubsequenceFunc-26" result="pass"/><test-case name="K-SeqSubsequenceFunc-27" result="pass"/><test-case name="K-SeqSubsequenceFunc-28" result="pass"/><test-case name="K-SeqSubsequenceFunc-29" result="pass"/><test-case name="K-SeqSubsequenceFunc-30" result="pass"/><test-case name="K-SeqSubsequenceFunc-31" result="pass"/><test-case name="K-SeqSubsequenceFunc-32" result="pass"/><test-case name="K-SeqSubsequenceFunc-33" result="pass"/><test-case name="K-SeqSubsequenceFunc-34" result="pass"/><test-case name="K-SeqSubsequenceFunc-35" result="pass"/><test-case name="K-SeqSubsequenceFunc-36" result="pass"/><test-case name="K-SeqSubsequenceFunc-37" result="pass"/><test-case name="K-SeqSubsequenceFunc-38" result="pass"/><test-case name="K-SeqSubsequenceFunc-39" result="pass"/><test-case name="K-SeqSubsequenceFunc-40" result="pass"/><test-case name="K-SeqSubsequenceFunc-41" result="pass"/><test-case name="K-SeqSubsequenceFunc-42" result="pass"/><test-case name="K-SeqSubsequenceFunc-43" result="pass"/><test-case name="K-SeqSubsequenceFunc-44" result="pass"/><test-case name="K2-SeqSubsequenceFunc-1" result="pass"/><test-case name="K2-SeqSubsequenceFunc-2" result="pass"/><test-case name="K2-SeqSubsequenceFunc-3" result="pass"/><test-case name="K2-SeqSubsequenceFunc-4" result="pass"/><test-case name="K2-SeqSubsequenceFunc-5" result="pass"/><test-case name="K2-SeqSubsequenceFunc-6" result="pass"/><test-case name="K2-SeqSubsequenceFunc-7" result="fail"/><test-case name="K2-SeqSubsequenceFunc-8" result="pass"/><test-case name="K2-SeqSubsequenceFunc-9" result="pass"/><test-case name="K2-SeqSubsequenceFunc-10" result="pass"/><test-case name="fn-unordered-mix-args-001" result="pass"/><test-case name="fn-unordered-mix-args-002" result="pass"/><test-case name="fn-unordered-mix-args-003" result="pass"/><test-case name="fn-unordered-mix-args-004" result="pass"/><test-case name="fn-unordered-mix-args-005" result="pass"/><test-case name="fn-unordered-mix-args-006" result="pass"/><test-case name="fn-unordered-mix-args-007" result="pass"/><test-case name="fn-unordered-mix-args-008" result="pass"/><test-case name="fn-unordered-mix-args-009" result="pass"/><test-case name="fn-unordered-mix-args-010" result="pass"/><test-case name="fn-unordered-mix-args-011" result="pass"/><test-case name="fn-unordered-mix-args-012" result="pass"/><test-case name="fn-unordered-mix-args-013" result="pass"/><test-case name="fn-unordered-mix-args-014" result="pass"/><test-case name="fn-unordered-mix-args-015" result="pass"/><test-case name="fn-unordered-mix-args-016" result="pass"/><test-case name="fn-unordered-mix-args-017" result="pass"/><test-case name="fn-unordered-mix-args-018" result="pass"/><test-case name="fn-unordered-mix-args-019" result="pass"/><test-case name="fn-unordered-mix-args-020" result="pass"/><test-case name="fn-unordered-mix-args-021" result="pass"/><test-case name="fn-unordered-mix-args-022" result="pass"/><test-case name="fn-unordered-mix-args-023" result="pass"/><test-case name="K-SeqUnorderedFunc-1" result="pass"/><test-case name="K-SeqUnorderedFunc-2" result="pass"/><test-case name="K-SeqUnorderedFunc-3" result="pass"/><test-case name="K-SeqUnorderedFunc-4" result="pass"/><test-case name="K-SeqUnorderedFunc-5" result="pass"/><test-case name="K-SeqUnorderedFunc-6" result="pass"/><test-case name="K-SeqUnorderedFunc-7" result="pass"/><test-case name="K-SeqUnorderedFunc-8" result="pass"/><test-case name="fn-zero-or-oneint1args-1" result="pass"/><test-case name="fn-zero-or-oneint1args-2" result="pass"/><test-case name="fn-zero-or-oneint1args-3" result="pass"/><test-case name="fn-zero-or-oneintg1args-1" result="pass"/><test-case name="fn-zero-or-oneintg1args-2" result="pass"/><test-case name="fn-zero-or-oneintg1args-3" result="pass"/><test-case name="fn-zero-or-onedec1args-1" result="fail"/><test-case name="fn-zero-or-onedec1args-2" result="fail"/><test-case name="fn-zero-or-onedec1args-3" result="fail"/><test-case name="fn-zero-or-onedbl1args-1" result="pass"/><test-case name="fn-zero-or-onedbl1args-2" result="pass"/><test-case name="fn-zero-or-onedbl1args-3" result="pass"/><test-case name="fn-zero-or-oneflt1args-1" result="pass"/><test-case name="fn-zero-or-oneflt1args-2" result="pass"/><test-case name="fn-zero-or-oneflt1args-3" result="pass"/><test-case name="fn-zero-or-onelng1args-1" result="pass"/><test-case name="fn-zero-or-onelng1args-2" result="pass"/><test-case name="fn-zero-or-onelng1args-3" result="pass"/><test-case name="fn-zero-or-oneusht1args-1" result="pass"/><test-case name="fn-zero-or-oneusht1args-2" result="pass"/><test-case name="fn-zero-or-oneusht1args-3" result="pass"/><test-case name="fn-zero-or-onenint1args-1" result="pass"/><test-case name="fn-zero-or-onenint1args-2" result="pass"/><test-case name="fn-zero-or-onenint1args-3" result="pass"/><test-case name="fn-zero-or-onepint1args-1" result="pass"/><test-case name="fn-zero-or-onepint1args-2" result="pass"/><test-case name="fn-zero-or-onepint1args-3" result="pass"/><test-case name="fn-zero-or-oneulng1args-1" result="pass"/><test-case name="fn-zero-or-oneulng1args-2" result="pass"/><test-case name="fn-zero-or-oneulng1args-3" result="pass"/><test-case name="fn-zero-or-onenpi1args-1" result="pass"/><test-case name="fn-zero-or-onenpi1args-2" result="pass"/><test-case name="fn-zero-or-onenpi1args-3" result="pass"/><test-case name="fn-zero-or-onenni1args-1" result="pass"/><test-case name="fn-zero-or-onenni1args-2" result="pass"/><test-case name="fn-zero-or-onenni1args-3" result="pass"/><test-case name="fn-zero-or-onesht1args-1" result="pass"/><test-case name="fn-zero-or-onesht1args-2" result="pass"/><test-case name="fn-zero-or-onesht1args-3" result="pass"/><test-case name="fn-zero-or-one-1" result="pass"/><test-case name="K-SeqZeroOrOneFunc-1" result="pass"/><test-case name="K-SeqZeroOrOneFunc-2" result="pass"/><test-case name="K-SeqZeroOrOneFunc-3" result="pass"/><test-case name="K-SeqZeroOrOneFunc-4" result="pass"/><test-case name="K-SeqZeroOrOneFunc-5" result="pass"/><test-case name="K-SeqZeroOrOneFunc-6" result="pass"/><test-case name="K-SeqZeroOrOneFunc-7" result="pass"/><test-case name="K-SeqZeroOrOneFunc-8" result="pass"/><test-case name="fn-one-or-moreint1args-1" result="pass"/><test-case name="fn-one-or-moreint1args-2" result="pass"/><test-case name="fn-one-or-moreint1args-3" result="pass"/><test-case name="fn-one-or-moreintg1args-1" result="pass"/><test-case name="fn-one-or-moreintg1args-2" result="pass"/><test-case name="fn-one-or-moreintg1args-3" result="pass"/><test-case name="fn-one-or-moredec1args-1" result="fail"/><test-case name="fn-one-or-moredec1args-2" result="fail"/><test-case name="fn-one-or-moredec1args-3" result="fail"/><test-case name="fn-one-or-moredbl1args-1" result="pass"/><test-case name="fn-one-or-moredbl1args-2" result="pass"/><test-case name="fn-one-or-moredbl1args-3" result="pass"/><test-case name="fn-one-or-moreflt1args-1" result="pass"/><test-case name="fn-one-or-moreflt1args-2" result="pass"/><test-case name="fn-one-or-moreflt1args-3" result="pass"/><test-case name="fn-one-or-morelng1args-1" result="pass"/><test-case name="fn-one-or-morelng1args-2" result="pass"/><test-case name="fn-one-or-morelng1args-3" result="pass"/><test-case name="fn-one-or-moreusht1args-1" result="pass"/><test-case name="fn-one-or-moreusht1args-2" result="pass"/><test-case name="fn-one-or-moreusht1args-3" result="pass"/><test-case name="fn-one-or-morenint1args-1" result="pass"/><test-case name="fn-one-or-morenint1args-2" result="pass"/><test-case name="fn-one-or-morenint1args-3" result="pass"/><test-case name="fn-one-or-morepint1args-1" result="pass"/><test-case name="fn-one-or-morepint1args-2" result="pass"/><test-case name="fn-one-or-morepint1args-3" result="pass"/><test-case name="fn-one-or-moreulng1args-1" result="pass"/><test-case name="fn-one-or-moreulng1args-2" result="pass"/><test-case name="fn-one-or-moreulng1args-3" result="pass"/><test-case name="fn-one-or-morenpi1args-1" result="pass"/><test-case name="fn-one-or-morenpi1args-2" result="pass"/><test-case name="fn-one-or-morenpi1args-3" result="pass"/><test-case name="fn-one-or-morenni1args-1" result="pass"/><test-case name="fn-one-or-morenni1args-2" result="pass"/><test-case name="fn-one-or-morenni1args-3" result="pass"/><test-case name="fn-one-or-moresht1args-1" result="pass"/><test-case name="fn-one-or-moresht1args-2" result="pass"/><test-case name="fn-one-or-moresht1args-3" result="pass"/><test-case name="fn-one-or-more-1" result="pass"/><test-case name="K-SeqOneOrMoreFunc-1" result="pass"/><test-case name="K-SeqOneOrMoreFunc-2" result="pass"/><test-case name="K-SeqOneOrMoreFunc-3" result="pass"/><test-case name="K-SeqOneOrMoreFunc-4" result="pass"/><test-case name="K-SeqOneOrMoreFunc-5" result="pass"/><test-case name="K-SeqOneOrMoreFunc-6" result="pass"/><test-case name="K-SeqOneOrMoreFunc-7" result="pass"/><test-case name="K-SeqOneOrMoreFunc-8" result="pass"/><test-case name="K2-SeqOneOrMoreFunc-1" result="pass"/><test-case name="fn-exactly-oneint1args-1" result="pass"/><test-case name="fn-exactly-oneint1args-2" result="pass"/><test-case name="fn-exactly-oneint1args-3" result="pass"/><test-case name="fn-exactly-oneintg1args-1" result="pass"/><test-case name="fn-exactly-oneintg1args-2" result="pass"/><test-case name="fn-exactly-oneintg1args-3" result="pass"/><test-case name="fn-exactly-onedec1args-1" result="fail"/><test-case name="fn-exactly-onedec1args-2" result="fail"/><test-case name="fn-exactly-onedec1args-3" result="fail"/><test-case name="fn-exactly-onedbl1args-1" result="pass"/><test-case name="fn-exactly-onedbl1args-2" result="pass"/><test-case name="fn-exactly-onedbl1args-3" result="pass"/><test-case name="fn-exactly-oneflt1args-1" result="pass"/><test-case name="fn-exactly-oneflt1args-2" result="pass"/><test-case name="fn-exactly-oneflt1args-3" result="pass"/><test-case name="fn-exactly-onelng1args-1" result="pass"/><test-case name="fn-exactly-onelng1args-2" result="pass"/><test-case name="fn-exactly-onelng1args-3" result="pass"/><test-case name="fn-exactly-oneusht1args-1" result="pass"/><test-case name="fn-exactly-oneusht1args-2" result="pass"/><test-case name="fn-exactly-oneusht1args-3" result="pass"/><test-case name="fn-exactly-onenint1args-1" result="pass"/><test-case name="fn-exactly-onenint1args-2" result="pass"/><test-case name="fn-exactly-onenint1args-3" result="pass"/><test-case name="fn-exactly-onepint1args-1" result="pass"/><test-case name="fn-exactly-onepint1args-2" result="pass"/><test-case name="fn-exactly-onepint1args-3" result="pass"/><test-case name="fn-exactly-oneulng1args-1" result="pass"/><test-case name="fn-exactly-oneulng1args-2" result="pass"/><test-case name="fn-exactly-oneulng1args-3" result="pass"/><test-case name="fn-exactly-onenpi1args-1" result="pass"/><test-case name="fn-exactly-onenpi1args-2" result="pass"/><test-case name="fn-exactly-onenpi1args-3" result="pass"/><test-case name="fn-exactly-onenni1args-1" result="pass"/><test-case name="fn-exactly-onenni1args-2" result="pass"/><test-case name="fn-exactly-onenni1args-3" result="pass"/><test-case name="fn-exactly-onesht1args-1" result="pass"/><test-case name="fn-exactly-onesht1args-2" result="pass"/><test-case name="fn-exactly-onesht1args-3" result="pass"/><test-case name="fn-exactly-one-1" result="pass"/><test-case name="K-SeqExactlyOneFunc-1" result="pass"/><test-case name="K-SeqExactlyOneFunc-2" result="pass"/><test-case name="K-SeqExactlyOneFunc-3" result="pass"/><test-case name="K-SeqExactlyOneFunc-4" result="pass"/><test-case name="K-SeqExactlyOneFunc-5" result="pass"/><test-case name="K-SeqExactlyOneFunc-6" result="pass"/><test-case name="K-SeqExactlyOneFunc-7" result="pass"/><test-case name="K-SeqExactlyOneFunc-8" result="pass"/><test-case name="K-SeqExactlyOneFunc-9" result="pass"/><test-case name="K-SeqExactlyOneFunc-10" result="pass"/><test-case name="fn-deep-equalint2args-1" result="pass"/><test-case name="fn-deep-equalint2args-2" result="pass"/><test-case name="fn-deep-equalint2args-3" result="pass"/><test-case name="fn-deep-equalint2args-4" result="pass"/><test-case name="fn-deep-equalint2args-5" result="pass"/><test-case name="fn-deep-equalintg2args-1" result="pass"/><test-case name="fn-deep-equalintg2args-2" result="pass"/><test-case name="fn-deep-equalintg2args-3" result="pass"/><test-case name="fn-deep-equalintg2args-4" result="pass"/><test-case name="fn-deep-equalintg2args-5" result="pass"/><test-case name="fn-deep-equaldec2args-1" result="pass"/><test-case name="fn-deep-equaldec2args-2" result="pass"/><test-case name="fn-deep-equaldec2args-3" result="pass"/><test-case name="fn-deep-equaldec2args-4" result="pass"/><test-case name="fn-deep-equaldec2args-5" result="pass"/><test-case name="fn-deep-equaldbl2args-1" result="pass"/><test-case name="fn-deep-equaldbl2args-2" result="pass"/><test-case name="fn-deep-equaldbl2args-3" result="pass"/><test-case name="fn-deep-equaldbl2args-4" result="pass"/><test-case name="fn-deep-equaldbl2args-5" result="pass"/><test-case name="fn-deep-equalflt2args-1" result="pass"/><test-case name="fn-deep-equalflt2args-2" result="pass"/><test-case name="fn-deep-equalflt2args-3" result="pass"/><test-case name="fn-deep-equalflt2args-4" result="pass"/><test-case name="fn-deep-equalflt2args-5" result="pass"/><test-case name="fn-deep-equallng2args-1" result="pass"/><test-case name="fn-deep-equallng2args-2" result="pass"/><test-case name="fn-deep-equallng2args-3" result="pass"/><test-case name="fn-deep-equallng2args-4" result="pass"/><test-case name="fn-deep-equallng2args-5" result="pass"/><test-case name="fn-deep-equalusht2args-1" result="pass"/><test-case name="fn-deep-equalusht2args-2" result="pass"/><test-case name="fn-deep-equalusht2args-3" result="pass"/><test-case name="fn-deep-equalusht2args-4" result="pass"/><test-case name="fn-deep-equalusht2args-5" result="pass"/><test-case name="fn-deep-equalnint2args-1" result="pass"/><test-case name="fn-deep-equalnint2args-2" result="pass"/><test-case name="fn-deep-equalnint2args-3" result="pass"/><test-case name="fn-deep-equalnint2args-4" result="pass"/><test-case name="fn-deep-equalnint2args-5" result="pass"/><test-case name="fn-deep-equalpint2args-1" result="pass"/><test-case name="fn-deep-equalpint2args-2" result="pass"/><test-case name="fn-deep-equalpint2args-3" result="pass"/><test-case name="fn-deep-equalpint2args-4" result="pass"/><test-case name="fn-deep-equalpint2args-5" result="pass"/><test-case name="fn-deep-equalulng2args-1" result="pass"/><test-case name="fn-deep-equalulng2args-2" result="pass"/><test-case name="fn-deep-equalulng2args-3" result="pass"/><test-case name="fn-deep-equalulng2args-4" result="pass"/><test-case name="fn-deep-equalulng2args-5" result="pass"/><test-case name="fn-deep-equalnpi2args-1" result="pass"/><test-case name="fn-deep-equalnpi2args-2" result="pass"/><test-case name="fn-deep-equalnpi2args-3" result="pass"/><test-case name="fn-deep-equalnpi2args-4" result="pass"/><test-case name="fn-deep-equalnpi2args-5" result="pass"/><test-case name="fn-deep-equalnni2args-1" result="pass"/><test-case name="fn-deep-equalnni2args-2" result="pass"/><test-case name="fn-deep-equalnni2args-3" result="pass"/><test-case name="fn-deep-equalnni2args-4" result="pass"/><test-case name="fn-deep-equalnni2args-5" result="pass"/><test-case name="fn-deep-equalsht2args-1" result="pass"/><test-case name="fn-deep-equalsht2args-2" result="pass"/><test-case name="fn-deep-equalsht2args-3" result="pass"/><test-case name="fn-deep-equalsht2args-4" result="pass"/><test-case name="fn-deep-equalsht2args-5" result="pass"/><test-case name="fn-deep-equal-mix-args-001" result="pass"/><test-case name="fn-deep-equal-mix-args-002" result="pass"/><test-case name="fn-deep-equal-mix-args-003" result="pass"/><test-case name="fn-deep-equal-mix-args-004" result="pass"/><test-case name="fn-deep-equal-mix-args-005" result="pass"/><test-case name="fn-deep-equal-mix-args-006" result="pass"/><test-case name="fn-deep-equal-mix-args-007" result="pass"/><test-case name="fn-deep-equal-mix-args-008" result="pass"/><test-case name="fn-deep-equal-mix-args-009" result="pass"/><test-case name="fn-deep-equal-mix-args-010" result="pass"/><test-case name="fn-deep-equal-mix-args-011" result="pass"/><test-case name="fn-deep-equal-mix-args-012" result="pass"/><test-case name="fn-deep-equal-mix-args-013" result="pass"/><test-case name="fn-deep-equal-mix-args-014" result="pass"/><test-case name="fn-deep-equal-mix-args-015" result="pass"/><test-case name="fn-deep-equal-mix-args-016" result="pass"/><test-case name="fn-deep-equal-mix-args-017" result="pass"/><test-case name="fn-deep-equal-mix-args-018" result="pass"/><test-case name="fn-deep-equal-mix-args-019" result="fail"/><test-case name="fn-deep-equal-mix-args-020" result="pass"/><test-case name="fn-deep-equal-mix-args-021" result="pass"/><test-case name="fn-deep-equal-mix-args-022" result="pass"/><test-case name="fn-deep-equal-mix-args-023" result="pass"/><test-case name="fn-deep-equal-mix-args-024" result="pass"/><test-case name="fn-deep-equal-mix-args-025" result="pass"/><test-case name="fn-deep-equal-mix-args-026" result="pass"/><test-case name="fn-deep-equal-mix-args-027" result="pass"/><test-case name="fn-deep-equal-mix-args-028" result="pass"/><test-case name="fn-deep-equal-mix-args-029" result="pass"/><test-case name="fn-deep-equal-mix-args-030" result="pass"/><test-case name="fn-deep-equal-mix-args-031" result="pass"/><test-case name="fn-deep-equal-node-args-1" result="pass"/><test-case name="fn-deep-equal-node-args-2" result="pass"/><test-case name="fn-deep-equal-node-args-3" result="pass"/><test-case name="fn-deep-equal-node-args-4" result="pass"/><test-case name="fn-deep-equal-node-args-5" result="pass"/><test-case name="K-SeqDeepEqualFunc-1" result="pass"/><test-case name="K-SeqDeepEqualFunc-2" result="pass"/><test-case name="K-SeqDeepEqualFunc-3" result="pass"/><test-case name="K-SeqDeepEqualFunc-4" result="pass"/><test-case name="K-SeqDeepEqualFunc-5" result="pass"/><test-case name="K-SeqDeepEqualFunc-6" result="pass"/><test-case name="K-SeqDeepEqualFunc-7" result="pass"/><test-case name="K-SeqDeepEqualFunc-8" result="pass"/><test-case name="K-SeqDeepEqualFunc-9" result="pass"/><test-case name="K-SeqDeepEqualFunc-10" result="pass"/><test-case name="K-SeqDeepEqualFunc-11" result="pass"/><test-case name="K-SeqDeepEqualFunc-12" result="pass"/><test-case name="K-SeqDeepEqualFunc-13" result="pass"/><test-case name="K-SeqDeepEqualFunc-14" result="pass"/><test-case name="K-SeqDeepEqualFunc-15" result="pass"/><test-case name="K-SeqDeepEqualFunc-16" result="pass"/><test-case name="K-SeqDeepEqualFunc-17" result="pass"/><test-case name="K-SeqDeepEqualFunc-18" result="pass"/><test-case name="K-SeqDeepEqualFunc-19" result="pass"/><test-case name="K-SeqDeepEqualFunc-20" result="pass"/><test-case name="K-SeqDeepEqualFunc-21" result="pass"/><test-case name="K-SeqDeepEqualFunc-22" result="pass"/><test-case name="K-SeqDeepEqualFunc-23" result="pass"/><test-case name="K-SeqDeepEqualFunc-24" result="pass"/><test-case name="K-SeqDeepEqualFunc-25" result="pass"/><test-case name="K-SeqDeepEqualFunc-26" result="pass"/><test-case name="K-SeqDeepEqualFunc-27" result="pass"/><test-case name="K-SeqDeepEqualFunc-28" result="pass"/><test-case name="K-SeqDeepEqualFunc-29" result="pass"/><test-case name="K-SeqDeepEqualFunc-30" result="pass"/><test-case name="K-SeqDeepEqualFunc-31" result="pass"/><test-case name="K-SeqDeepEqualFunc-32" result="pass"/><test-case name="K-SeqDeepEqualFunc-33" result="pass"/><test-case name="K-SeqDeepEqualFunc-34" result="pass"/><test-case name="K-SeqDeepEqualFunc-35" result="pass"/><test-case name="K-SeqDeepEqualFunc-36" result="pass"/><test-case name="K-SeqDeepEqualFunc-37" result="pass"/><test-case name="K-SeqDeepEqualFunc-38" result="pass"/><test-case name="K-SeqDeepEqualFunc-39" result="pass"/><test-case name="K-SeqDeepEqualFunc-40" result="pass"/><test-case name="K-SeqDeepEqualFunc-41" result="pass"/><test-case name="K-SeqDeepEqualFunc-42" result="pass"/><test-case name="K-SeqDeepEqualFunc-43" result="pass"/><test-case name="K-SeqDeepEqualFunc-44" result="pass"/><test-case name="K-SeqDeepEqualFunc-45" result="pass"/><test-case name="K-SeqDeepEqualFunc-46" result="pass"/><test-case name="K-SeqDeepEqualFunc-47" result="pass"/><test-case name="K-SeqDeepEqualFunc-48" result="pass"/><test-case name="K-SeqDeepEqualFunc-49" result="pass"/><test-case name="K-SeqDeepEqualFunc-50" result="pass"/><test-case name="K-SeqDeepEqualFunc-51" result="pass"/><test-case name="K-SeqDeepEqualFunc-52" result="pass"/><test-case name="K-SeqDeepEqualFunc-53" result="pass"/><test-case name="K-SeqDeepEqualFunc-54" result="pass"/><test-case name="K-SeqDeepEqualFunc-55" result="pass"/><test-case name="K2-SeqDeepEqualFunc-1" result="pass"/><test-case name="K2-SeqDeepEqualFunc-2" result="pass"/><test-case name="K2-SeqDeepEqualFunc-3" result="pass"/><test-case name="K2-SeqDeepEqualFunc-4" result="pass"/><test-case name="K2-SeqDeepEqualFunc-5" result="pass"/><test-case name="K2-SeqDeepEqualFunc-6" result="pass"/><test-case name="K2-SeqDeepEqualFunc-7" result="pass"/><test-case name="K2-SeqDeepEqualFunc-8" result="pass"/><test-case name="K2-SeqDeepEqualFunc-9" result="pass"/><test-case name="K2-SeqDeepEqualFunc-10" result="pass"/><test-case name="K2-SeqDeepEqualFunc-11" result="pass"/><test-case name="K2-SeqDeepEqualFunc-12" result="pass"/><test-case name="K2-SeqDeepEqualFunc-13" result="pass"/><test-case name="K2-SeqDeepEqualFunc-14" result="pass"/><test-case name="K2-SeqDeepEqualFunc-15" result="pass"/><test-case name="K2-SeqDeepEqualFunc-16" result="pass"/><test-case name="K2-SeqDeepEqualFunc-17" result="pass"/><test-case name="K2-SeqDeepEqualFunc-18" result="pass"/><test-case name="K2-SeqDeepEqualFunc-19" result="pass"/><test-case name="K2-SeqDeepEqualFunc-20" result="pass"/><test-case name="K2-SeqDeepEqualFunc-21" result="pass"/><test-case name="K2-SeqDeepEqualFunc-22" result="pass"/><test-case name="K2-SeqDeepEqualFunc-23" result="pass"/><test-case name="K2-SeqDeepEqualFunc-24" result="pass"/><test-case name="K2-SeqDeepEqualFunc-25" result="pass"/><test-case name="K2-SeqDeepEqualFunc-26" result="pass"/><test-case name="K2-SeqDeepEqualFunc-27" result="pass"/><test-case name="K2-SeqDeepEqualFunc-28" result="pass"/><test-case name="K2-SeqDeepEqualFunc-29" result="pass"/><test-case name="K2-SeqDeepEqualFunc-30" result="pass"/><test-case name="K2-SeqDeepEqualFunc-31" result="pass"/><test-case name="K2-SeqDeepEqualFunc-32" result="pass"/><test-case name="fn-countint1args-1" result="pass"/><test-case name="fn-countint1args-2" result="pass"/><test-case name="fn-countint1args-3" result="pass"/><test-case name="fn-countintg1args-1" result="pass"/><test-case name="fn-countintg1args-2" result="pass"/><test-case name="fn-countintg1args-3" result="pass"/><test-case name="fn-countdec1args-1" result="pass"/><test-case name="fn-countdec1args-2" result="pass"/><test-case name="fn-countdec1args-3" result="pass"/><test-case name="fn-countdbl1args-1" result="pass"/><test-case name="fn-countdbl1args-2" result="pass"/><test-case name="fn-countdbl1args-3" result="pass"/><test-case name="fn-countflt1args-1" result="pass"/><test-case name="fn-countflt1args-2" result="pass"/><test-case name="fn-countflt1args-3" result="pass"/><test-case name="fn-countlng1args-1" result="pass"/><test-case name="fn-countlng1args-2" result="pass"/><test-case name="fn-countlng1args-3" result="pass"/><test-case name="fn-countusht1args-1" result="pass"/><test-case name="fn-countusht1args-2" result="pass"/><test-case name="fn-countusht1args-3" result="pass"/><test-case name="fn-countnint1args-1" result="pass"/><test-case name="fn-countnint1args-2" result="pass"/><test-case name="fn-countnint1args-3" result="pass"/><test-case name="fn-countpint1args-1" result="pass"/><test-case name="fn-countpint1args-2" result="pass"/><test-case name="fn-countpint1args-3" result="pass"/><test-case name="fn-countulng1args-1" result="pass"/><test-case name="fn-countulng1args-2" result="pass"/><test-case name="fn-countulng1args-3" result="pass"/><test-case name="fn-countnpi1args-1" result="pass"/><test-case name="fn-countnpi1args-2" result="pass"/><test-case name="fn-countnpi1args-3" result="pass"/><test-case name="fn-countnni1args-1" result="pass"/><test-case name="fn-countnni1args-2" result="pass"/><test-case name="fn-countnni1args-3" result="pass"/><test-case name="fn-countsht1args-1" result="pass"/><test-case name="fn-countsht1args-2" result="pass"/><test-case name="fn-countsht1args-3" result="pass"/><test-case name="K-SeqCountFunc-1" result="pass"/><test-case name="K-SeqCountFunc-2" result="pass"/><test-case name="K-SeqCountFunc-3" result="pass"/><test-case name="K-SeqCountFunc-4" result="pass"/><test-case name="K-SeqCountFunc-5" result="pass"/><test-case name="K-SeqCountFunc-6" result="pass"/><test-case name="K-SeqCountFunc-7" result="pass"/><test-case name="K-SeqCountFunc-8" result="pass"/><test-case name="K-SeqCountFunc-9" result="pass"/><test-case name="K-SeqCountFunc-10" result="pass"/><test-case name="K-SeqCountFunc-11" result="pass"/><test-case name="K-SeqCountFunc-12" result="pass"/><test-case name="K-SeqCountFunc-13" result="pass"/><test-case name="K-SeqCountFunc-14" result="pass"/><test-case name="K-SeqCountFunc-15" result="pass"/><test-case name="K-SeqCountFunc-16" result="pass"/><test-case name="K-SeqCountFunc-17" result="pass"/><test-case name="K-SeqCountFunc-18" result="pass"/><test-case name="K2-SeqCountFunc-1" result="pass"/><test-case name="fn-avgint1args-1" result="pass"/><test-case name="fn-avgint1args-2" result="pass"/><test-case name="fn-avgint1args-3" result="pass"/><test-case name="fn-avgintg1args-1" result="pass"/><test-case name="fn-avgintg1args-2" result="pass"/><test-case name="fn-avgintg1args-3" result="pass"/><test-case name="fn-avgdec1args-1" result="fail"/><test-case name="fn-avgdec1args-2" result="fail"/><test-case name="fn-avgdec1args-3" result="fail"/><test-case name="fn-avgdbl1args-1" result="pass"/><test-case name="fn-avgdbl1args-2" result="pass"/><test-case name="fn-avgdbl1args-3" result="pass"/><test-case name="fn-avgflt1args-1" result="pass"/><test-case name="fn-avgflt1args-2" result="pass"/><test-case name="fn-avgflt1args-3" result="pass"/><test-case name="fn-avglng1args-1" result="pass"/><test-case name="fn-avglng1args-2" result="pass"/><test-case name="fn-avglng1args-3" result="pass"/><test-case name="fn-avgusht1args-1" result="pass"/><test-case name="fn-avgusht1args-2" result="pass"/><test-case name="fn-avgusht1args-3" result="pass"/><test-case name="fn-avgnint1args-1" result="pass"/><test-case name="fn-avgnint1args-2" result="pass"/><test-case name="fn-avgnint1args-3" result="pass"/><test-case name="fn-avgpint1args-1" result="pass"/><test-case name="fn-avgpint1args-2" result="pass"/><test-case name="fn-avgpint1args-3" result="pass"/><test-case name="fn-avgulng1args-1" result="pass"/><test-case name="fn-avgulng1args-2" result="pass"/><test-case name="fn-avgulng1args-3" result="pass"/><test-case name="fn-avgnpi1args-1" result="pass"/><test-case name="fn-avgnpi1args-2" result="pass"/><test-case name="fn-avgnpi1args-3" result="pass"/><test-case name="fn-avgnni1args-1" result="pass"/><test-case name="fn-avgnni1args-2" result="pass"/><test-case name="fn-avgnni1args-3" result="pass"/><test-case name="fn-avgsht1args-1" result="pass"/><test-case name="fn-avgsht1args-2" result="pass"/><test-case name="fn-avgsht1args-3" result="pass"/><test-case name="fn-avgint2args-1" result="pass"/><test-case name="fn-avgint2args-2" result="pass"/><test-case name="fn-avgint2args-3" result="pass"/><test-case name="fn-avgint2args-4" result="pass"/><test-case name="fn-avgint2args-5" result="pass"/><test-case name="fn-avgintg2args-1" result="fail"/><test-case name="fn-avgintg2args-2" result="fail"/><test-case name="fn-avgintg2args-3" result="pass"/><test-case name="fn-avgintg2args-4" result="fail"/><test-case name="fn-avgintg2args-5" result="pass"/><test-case name="fn-avgdec2args-1" result="fail"/><test-case name="fn-avgdec2args-2" result="fail"/><test-case name="fn-avgdec2args-3" result="pass"/><test-case name="fn-avgdec2args-4" result="fail"/><test-case name="fn-avgdec2args-5" result="pass"/><test-case name="fn-avgdbl2args-1" result="pass"/><test-case name="fn-avgdbl2args-2" result="pass"/><test-case name="fn-avgdbl2args-3" result="pass"/><test-case name="fn-avgdbl2args-4" result="pass"/><test-case name="fn-avgdbl2args-5" result="pass"/><test-case name="fn-avgflt2args-1" result="pass"/><test-case name="fn-avgflt2args-2" result="fail"/><test-case name="fn-avgflt2args-3" result="pass"/><test-case name="fn-avgflt2args-4" result="fail"/><test-case name="fn-avgflt2args-5" result="pass"/><test-case name="fn-avglng2args-1" result="fail"/><test-case name="fn-avglng2args-2" result="fail"/><test-case name="fn-avglng2args-3" result="pass"/><test-case name="fn-avglng2args-4" result="fail"/><test-case name="fn-avglng2args-5" result="pass"/><test-case name="fn-avgusht2args-1" result="pass"/><test-case name="fn-avgusht2args-2" result="pass"/><test-case name="fn-avgusht2args-3" result="pass"/><test-case name="fn-avgusht2args-4" result="pass"/><test-case name="fn-avgusht2args-5" result="pass"/><test-case name="fn-avgnint2args-1" result="fail"/><test-case name="fn-avgnint2args-2" result="fail"/><test-case name="fn-avgnint2args-3" result="pass"/><test-case name="fn-avgnint2args-4" result="fail"/><test-case name="fn-avgnint2args-5" result="pass"/><test-case name="fn-avgpint2args-1" result="pass"/><test-case name="fn-avgpint2args-2" result="fail"/><test-case name="fn-avgpint2args-3" result="pass"/><test-case name="fn-avgpint2args-4" result="fail"/><test-case name="fn-avgpint2args-5" result="pass"/><test-case name="fn-avgulng2args-1" result="pass"/><test-case name="fn-avgulng2args-2" result="fail"/><test-case name="fn-avgulng2args-3" result="fail"/><test-case name="fn-avgulng2args-4" result="fail"/><test-case name="fn-avgulng2args-5" result="fail"/><test-case name="fn-avgnpi2args-1" result="fail"/><test-case name="fn-avgnpi2args-2" result="fail"/><test-case name="fn-avgnpi2args-3" result="fail"/><test-case name="fn-avgnpi2args-4" result="fail"/><test-case name="fn-avgnpi2args-5" result="fail"/><test-case name="fn-avgnni2args-1" result="pass"/><test-case name="fn-avgnni2args-2" result="fail"/><test-case name="fn-avgnni2args-3" result="fail"/><test-case name="fn-avgnni2args-4" result="fail"/><test-case name="fn-avgnni2args-5" result="fail"/><test-case name="fn-avgsht2args-1" result="pass"/><test-case name="fn-avgsht2args-2" result="pass"/><test-case name="fn-avgsht2args-3" result="pass"/><test-case name="fn-avgsht2args-4" result="pass"/><test-case name="fn-avgsht2args-5" result="pass"/><test-case name="fn-avg-1" result="pass"/><test-case name="fn-avg-2" result="pass"/><test-case name="fn-avg-mix-args-001" result="pass"/><test-case name="fn-avg-mix-args-002" result="pass"/><test-case name="fn-avg-mix-args-003" result="pass"/><test-case name="fn-avg-mix-args-004" result="pass"/><test-case name="fn-avg-mix-args-005" result="pass"/><test-case name="fn-avg-mix-args-006" result="pass"/><test-case name="fn-avg-mix-args-007" result="pass"/><test-case name="fn-avg-mix-args-008" result="pass"/><test-case name="fn-avg-mix-args-009" result="pass"/><test-case name="fn-avg-mix-args-010" result="pass"/><test-case name="fn-avg-mix-args-011" result="pass"/><test-case name="fn-avg-mix-args-012" result="fail"/><test-case name="fn-avg-mix-args-013" result="pass"/><test-case name="fn-avg-mix-args-014" result="fail"/><test-case name="fn-avg-mix-args-015" result="pass"/><test-case name="fn-avg-mix-args-016" result="pass"/><test-case name="fn-avg-mix-args-017" result="pass"/><test-case name="fn-avg-mix-args-018" result="pass"/><test-case name="fn-avg-mix-args-019" result="pass"/><test-case name="fn-avg-mix-args-020" result="pass"/><test-case name="fn-avg-mix-args-021" result="pass"/><test-case name="fn-avg-mix-args-022" result="pass"/><test-case name="fn-avg-mix-args-023" result="pass"/><test-case name="fn-avg-mix-args-024" result="pass"/><test-case name="fn-avg-mix-args-025" result="pass"/><test-case name="fn-avg-mix-args-026" result="pass"/><test-case name="fn-avg-mix-args-027" result="pass"/><test-case name="fn-avg-mix-args-028" result="pass"/><test-case name="fn-avg-mix-args-029" result="pass"/><test-case name="fn-avg-mix-args-030" result="pass"/><test-case name="fn-avg-mix-args-031" result="pass"/><test-case name="fn-avg-mix-args-032" result="pass"/><test-case name="fn-avg-mix-args-033" result="pass"/><test-case name="fn-avg-mix-args-034" result="pass"/><test-case name="fn-avg-mix-args-035" result="pass"/><test-case name="fn-avg-mix-args-036" result="pass"/><test-case name="fn-avg-mix-args-037" result="pass"/><test-case name="fn-avg-mix-args-038" result="pass"/><test-case name="fn-avg-mix-args-039" result="pass"/><test-case name="fn-avg-mix-args-040" result="pass"/><test-case name="fn-avg-mix-args-041" result="pass"/><test-case name="fn-avg-mix-args-042" result="pass"/><test-case name="fn-avg-mix-args-043" result="pass"/><test-case name="fn-avg-mix-args-044" result="pass"/><test-case name="fn-avg-mix-args-045" result="pass"/><test-case name="fn-avg-mix-args-046" result="pass"/><test-case name="fn-avg-mix-args-047" result="pass"/><test-case name="fn-avg-mix-args-048" result="pass"/><test-case name="fn-avg-mix-args-049" result="pass"/><test-case name="fn-avg-mix-args-050" result="pass"/><test-case name="fn-avg-mix-args-051" result="pass"/><test-case name="fn-avg-mix-args-052" result="pass"/><test-case name="fn-avg-mix-args-053" result="pass"/><test-case name="fn-avg-mix-args-054" result="pass"/><test-case name="fn-avg-mix-args-055" result="pass"/><test-case name="fn-avg-mix-args-056" result="pass"/><test-case name="fn-avg-mix-args-057" result="pass"/><test-case name="fn-avg-mix-args-058" result="pass"/><test-case name="fn-avg-mix-args-059" result="pass"/><test-case name="fn-avg-mix-args-060" result="pass"/><test-case name="fn-avg-mix-args-061" result="pass"/><test-case name="fn-avg-mix-args-062" result="pass"/><test-case name="fn-avg-mix-args-063" result="pass"/><test-case name="fn-avg-mix-args-064" result="pass"/><test-case name="fn-avg-mix-args-065" result="pass"/><test-case name="fn-avg-mix-args-066" result="pass"/><test-case name="K-SeqAVGFunc-1" result="pass"/><test-case name="K-SeqAVGFunc-2" result="pass"/><test-case name="K-SeqAVGFunc-3" result="pass"/><test-case name="K-SeqAVGFunc-4" result="pass"/><test-case name="K-SeqAVGFunc-5" result="pass"/><test-case name="K-SeqAVGFunc-6" result="pass"/><test-case name="K-SeqAVGFunc-7" result="pass"/><test-case name="K-SeqAVGFunc-8" result="pass"/><test-case name="K-SeqAVGFunc-9" result="pass"/><test-case name="K-SeqAVGFunc-10" result="pass"/><test-case name="K-SeqAVGFunc-11" result="pass"/><test-case name="K-SeqAVGFunc-12" result="pass"/><test-case name="K-SeqAVGFunc-13" result="pass"/><test-case name="K-SeqAVGFunc-14" result="pass"/><test-case name="K-SeqAVGFunc-15" result="pass"/><test-case name="K-SeqAVGFunc-16" result="pass"/><test-case name="K-SeqAVGFunc-17" result="pass"/><test-case name="K-SeqAVGFunc-18" result="pass"/><test-case name="K-SeqAVGFunc-19" result="pass"/><test-case name="K-SeqAVGFunc-20" result="pass"/><test-case name="K-SeqAVGFunc-21" result="pass"/><test-case name="K-SeqAVGFunc-22" result="pass"/><test-case name="K-SeqAVGFunc-23" result="pass"/><test-case name="K-SeqAVGFunc-24" result="pass"/><test-case name="K-SeqAVGFunc-25" result="pass"/><test-case name="K-SeqAVGFunc-26" result="pass"/><test-case name="K-SeqAVGFunc-27" result="pass"/><test-case name="K-SeqAVGFunc-28" result="pass"/><test-case name="K-SeqAVGFunc-29" result="pass"/><test-case name="K-SeqAVGFunc-30" result="pass"/><test-case name="K-SeqAVGFunc-31" result="pass"/><test-case name="K-SeqAVGFunc-32" result="pass"/><test-case name="K-SeqAVGFunc-33" result="pass"/><test-case name="K-SeqAVGFunc-34" result="pass"/><test-case name="K-SeqAVGFunc-35" result="pass"/><test-case name="K-SeqAVGFunc-36" result="pass"/><test-case name="K-SeqAVGFunc-37" result="pass"/><test-case name="K-SeqAVGFunc-38" result="pass"/><test-case name="K-SeqAVGFunc-39" result="pass"/><test-case name="K-SeqAVGFunc-40" result="pass"/><test-case name="K-SeqAVGFunc-41" result="pass"/><test-case name="K-SeqAVGFunc-42" result="pass"/><test-case name="K-SeqAVGFunc-43" result="pass"/><test-case name="K2-SeqAVGFunc-1" result="pass"/><test-case name="K2-SeqAVGFunc-2" result="pass"/><test-case name="K2-SeqAVGFunc-3" result="pass"/><test-case name="fn-maxint1args-1" result="pass"/><test-case name="fn-maxint1args-2" result="pass"/><test-case name="fn-maxint1args-3" result="pass"/><test-case name="fn-maxintg1args-1" result="pass"/><test-case name="fn-maxintg1args-2" result="pass"/><test-case name="fn-maxintg1args-3" result="pass"/><test-case name="fn-maxdec1args-1" result="fail"/><test-case name="fn-maxdec1args-2" result="fail"/><test-case name="fn-maxdec1args-3" result="fail"/><test-case name="fn-maxdbl1args-1" result="pass"/><test-case name="fn-maxdbl1args-2" result="pass"/><test-case name="fn-maxdbl1args-3" result="pass"/><test-case name="fn-maxflt1args-1" result="pass"/><test-case name="fn-maxflt1args-2" result="pass"/><test-case name="fn-maxflt1args-3" result="pass"/><test-case name="fn-maxlng1args-1" result="pass"/><test-case name="fn-maxlng1args-2" result="pass"/><test-case name="fn-maxlng1args-3" result="pass"/><test-case name="fn-maxusht1args-1" result="pass"/><test-case name="fn-maxusht1args-2" result="pass"/><test-case name="fn-maxusht1args-3" result="pass"/><test-case name="fn-maxnint1args-1" result="pass"/><test-case name="fn-maxnint1args-2" result="pass"/><test-case name="fn-maxnint1args-3" result="pass"/><test-case name="fn-maxpint1args-1" result="pass"/><test-case name="fn-maxpint1args-2" result="pass"/><test-case name="fn-maxpint1args-3" result="pass"/><test-case name="fn-maxulng1args-1" result="pass"/><test-case name="fn-maxulng1args-2" result="pass"/><test-case name="fn-maxulng1args-3" result="pass"/><test-case name="fn-maxnpi1args-1" result="pass"/><test-case name="fn-maxnpi1args-2" result="pass"/><test-case name="fn-maxnpi1args-3" result="pass"/><test-case name="fn-maxnni1args-1" result="pass"/><test-case name="fn-maxnni1args-2" result="pass"/><test-case name="fn-maxnni1args-3" result="pass"/><test-case name="fn-maxsht1args-1" result="pass"/><test-case name="fn-maxsht1args-2" result="pass"/><test-case name="fn-maxsht1args-3" result="pass"/><test-case name="fn-maxint2args-1" result="pass"/><test-case name="fn-maxint2args-2" result="pass"/><test-case name="fn-maxint2args-3" result="pass"/><test-case name="fn-maxint2args-4" result="pass"/><test-case name="fn-maxint2args-5" result="pass"/><test-case name="fn-maxintg2args-1" result="pass"/><test-case name="fn-maxintg2args-2" result="pass"/><test-case name="fn-maxintg2args-3" result="pass"/><test-case name="fn-maxintg2args-4" result="pass"/><test-case name="fn-maxintg2args-5" result="pass"/><test-case name="fn-maxdec2args-1" result="fail"/><test-case name="fn-maxdec2args-2" result="fail"/><test-case name="fn-maxdec2args-3" result="fail"/><test-case name="fn-maxdec2args-4" result="fail"/><test-case name="fn-maxdec2args-5" result="fail"/><test-case name="fn-maxdbl2args-1" result="pass"/><test-case name="fn-maxdbl2args-2" result="pass"/><test-case name="fn-maxdbl2args-3" result="pass"/><test-case name="fn-maxdbl2args-4" result="pass"/><test-case name="fn-maxdbl2args-5" result="pass"/><test-case name="fn-maxflt2args-1" result="pass"/><test-case name="fn-maxflt2args-2" result="pass"/><test-case name="fn-maxflt2args-3" result="pass"/><test-case name="fn-maxflt2args-4" result="pass"/><test-case name="fn-maxflt2args-5" result="pass"/><test-case name="fn-maxlng2args-1" result="pass"/><test-case name="fn-maxlng2args-2" result="pass"/><test-case name="fn-maxlng2args-3" result="pass"/><test-case name="fn-maxlng2args-4" result="pass"/><test-case name="fn-maxlng2args-5" result="pass"/><test-case name="fn-maxusht2args-1" result="pass"/><test-case name="fn-maxusht2args-2" result="pass"/><test-case name="fn-maxusht2args-3" result="pass"/><test-case name="fn-maxusht2args-4" result="pass"/><test-case name="fn-maxusht2args-5" result="pass"/><test-case name="fn-maxnint2args-1" result="pass"/><test-case name="fn-maxnint2args-2" result="pass"/><test-case name="fn-maxnint2args-3" result="pass"/><test-case name="fn-maxnint2args-4" result="pass"/><test-case name="fn-maxnint2args-5" result="pass"/><test-case name="fn-maxpint2args-1" result="pass"/><test-case name="fn-maxpint2args-2" result="pass"/><test-case name="fn-maxpint2args-3" result="pass"/><test-case name="fn-maxpint2args-4" result="pass"/><test-case name="fn-maxpint2args-5" result="pass"/><test-case name="fn-maxulng2args-1" result="pass"/><test-case name="fn-maxulng2args-2" result="pass"/><test-case name="fn-maxulng2args-3" result="pass"/><test-case name="fn-maxulng2args-4" result="pass"/><test-case name="fn-maxulng2args-5" result="pass"/><test-case name="fn-maxnpi2args-1" result="pass"/><test-case name="fn-maxnpi2args-2" result="pass"/><test-case name="fn-maxnpi2args-3" result="pass"/><test-case name="fn-maxnpi2args-4" result="pass"/><test-case name="fn-maxnpi2args-5" result="pass"/><test-case name="fn-maxnni2args-1" result="pass"/><test-case name="fn-maxnni2args-2" result="pass"/><test-case name="fn-maxnni2args-3" result="pass"/><test-case name="fn-maxnni2args-4" result="pass"/><test-case name="fn-maxnni2args-5" result="pass"/><test-case name="fn-maxsht2args-1" result="pass"/><test-case name="fn-maxsht2args-2" result="pass"/><test-case name="fn-maxsht2args-3" result="pass"/><test-case name="fn-maxsht2args-4" result="pass"/><test-case name="fn-maxsht2args-5" result="pass"/><test-case name="fn-max-1" result="pass"/><test-case name="fn-max-2" result="pass"/><test-case name="fn-max-3" result="pass"/><test-case name="K-SeqMAXFunc-1" result="pass"/><test-case name="K-SeqMAXFunc-2" result="pass"/><test-case name="K-SeqMAXFunc-3" result="pass"/><test-case name="K-SeqMAXFunc-4" result="pass"/><test-case name="K-SeqMAXFunc-5" result="pass"/><test-case name="K-SeqMAXFunc-6" result="pass"/><test-case name="K-SeqMAXFunc-7" result="pass"/><test-case name="K-SeqMAXFunc-8" result="pass"/><test-case name="K-SeqMAXFunc-9" result="pass"/><test-case name="K-SeqMAXFunc-10" result="pass"/><test-case name="K-SeqMAXFunc-11" result="pass"/><test-case name="K-SeqMAXFunc-12" result="pass"/><test-case name="K-SeqMAXFunc-13" result="pass"/><test-case name="K-SeqMAXFunc-14" result="pass"/><test-case name="K-SeqMAXFunc-15" result="pass"/><test-case name="K-SeqMAXFunc-16" result="pass"/><test-case name="K-SeqMAXFunc-17" result="pass"/><test-case name="K-SeqMAXFunc-18" result="pass"/><test-case name="K-SeqMAXFunc-19" result="pass"/><test-case name="K-SeqMAXFunc-20" result="pass"/><test-case name="K-SeqMAXFunc-21" result="pass"/><test-case name="K-SeqMAXFunc-22" result="pass"/><test-case name="K-SeqMAXFunc-23" result="pass"/><test-case name="K-SeqMAXFunc-24" result="pass"/><test-case name="K-SeqMAXFunc-25" result="pass"/><test-case name="K-SeqMAXFunc-26" result="pass"/><test-case name="K-SeqMAXFunc-27" result="pass"/><test-case name="K-SeqMAXFunc-28" result="pass"/><test-case name="K-SeqMAXFunc-29" result="pass"/><test-case name="K-SeqMAXFunc-30" result="pass"/><test-case name="K-SeqMAXFunc-31" result="pass"/><test-case name="K-SeqMAXFunc-32" result="pass"/><test-case name="K-SeqMAXFunc-33" result="pass"/><test-case name="K-SeqMAXFunc-34" result="pass"/><test-case name="K-SeqMAXFunc-35" result="pass"/><test-case name="K-SeqMAXFunc-36" result="pass"/><test-case name="K-SeqMAXFunc-37" result="pass"/><test-case name="K-SeqMAXFunc-38" result="pass"/><test-case name="K-SeqMAXFunc-39" result="pass"/><test-case name="K-SeqMAXFunc-40" result="pass"/><test-case name="K-SeqMAXFunc-41" result="pass"/><test-case name="K-SeqMAXFunc-42" result="pass"/><test-case name="K-SeqMAXFunc-43" result="pass"/><test-case name="K-SeqMAXFunc-44" result="pass"/><test-case name="K-SeqMAXFunc-45" result="pass"/><test-case name="K-SeqMAXFunc-46" result="pass"/><test-case name="K-SeqMAXFunc-47" result="pass"/><test-case name="K-SeqMAXFunc-48" result="pass"/><test-case name="K-SeqMAXFunc-49" result="pass"/><test-case name="K-SeqMAXFunc-50" result="pass"/><test-case name="K-SeqMAXFunc-51" result="pass"/><test-case name="K-SeqMAXFunc-52" result="pass"/><test-case name="K-SeqMAXFunc-53" result="pass"/><test-case name="K-SeqMAXFunc-54" result="pass"/><test-case name="K-SeqMAXFunc-55" result="pass"/><test-case name="K-SeqMAXFunc-56" result="pass"/><test-case name="K-SeqMAXFunc-57" result="pass"/><test-case name="K-SeqMAXFunc-58" result="pass"/><test-case name="K-SeqMAXFunc-59" result="pass"/><test-case name="K2-SeqMAXFunc-1" result="pass"/><test-case name="K2-SeqMAXFunc-2" result="pass"/><test-case name="K2-SeqMAXFunc-3" result="pass"/><test-case name="K2-SeqMAXFunc-4" result="pass"/><test-case name="K2-SeqMAXFunc-5" result="pass"/><test-case name="K2-SeqMAXFunc-6" result="pass"/><test-case name="K2-SeqMAXFunc-7" result="pass"/><test-case name="fn-minint1args-1" result="pass"/><test-case name="fn-minint1args-2" result="pass"/><test-case name="fn-minint1args-3" result="pass"/><test-case name="fn-minintg1args-1" result="pass"/><test-case name="fn-minintg1args-2" result="pass"/><test-case name="fn-minintg1args-3" result="pass"/><test-case name="fn-mindec1args-1" result="fail"/><test-case name="fn-mindec1args-2" result="fail"/><test-case name="fn-mindec1args-3" result="fail"/><test-case name="fn-mindbl1args-1" result="pass"/><test-case name="fn-mindbl1args-2" result="pass"/><test-case name="fn-mindbl1args-3" result="pass"/><test-case name="fn-minflt1args-1" result="pass"/><test-case name="fn-minflt1args-2" result="pass"/><test-case name="fn-minflt1args-3" result="pass"/><test-case name="fn-minlng1args-1" result="pass"/><test-case name="fn-minlng1args-2" result="pass"/><test-case name="fn-minlng1args-3" result="pass"/><test-case name="fn-minusht1args-1" result="pass"/><test-case name="fn-minusht1args-2" result="pass"/><test-case name="fn-minusht1args-3" result="pass"/><test-case name="fn-minnint1args-1" result="pass"/><test-case name="fn-minnint1args-2" result="pass"/><test-case name="fn-minnint1args-3" result="pass"/><test-case name="fn-minpint1args-1" result="pass"/><test-case name="fn-minpint1args-2" result="pass"/><test-case name="fn-minpint1args-3" result="pass"/><test-case name="fn-minulng1args-1" result="pass"/><test-case name="fn-minulng1args-2" result="pass"/><test-case name="fn-minulng1args-3" result="pass"/><test-case name="fn-minnpi1args-1" result="pass"/><test-case name="fn-minnpi1args-2" result="pass"/><test-case name="fn-minnpi1args-3" result="pass"/><test-case name="fn-minnni1args-1" result="pass"/><test-case name="fn-minnni1args-2" result="pass"/><test-case name="fn-minnni1args-3" result="pass"/><test-case name="fn-minsht1args-1" result="pass"/><test-case name="fn-minsht1args-2" result="pass"/><test-case name="fn-minsht1args-3" result="pass"/><test-case name="fn-minint2args-1" result="pass"/><test-case name="fn-minint2args-2" result="pass"/><test-case name="fn-minint2args-3" result="pass"/><test-case name="fn-minint2args-4" result="pass"/><test-case name="fn-minint2args-5" result="pass"/><test-case name="fn-minintg2args-1" result="pass"/><test-case name="fn-minintg2args-2" result="pass"/><test-case name="fn-minintg2args-3" result="pass"/><test-case name="fn-minintg2args-4" result="pass"/><test-case name="fn-minintg2args-5" result="pass"/><test-case name="fn-mindec2args-1" result="fail"/><test-case name="fn-mindec2args-2" result="fail"/><test-case name="fn-mindec2args-3" result="fail"/><test-case name="fn-mindec2args-4" result="fail"/><test-case name="fn-mindec2args-5" result="fail"/><test-case name="fn-mindbl2args-1" result="pass"/><test-case name="fn-mindbl2args-2" result="pass"/><test-case name="fn-mindbl2args-3" result="pass"/><test-case name="fn-mindbl2args-4" result="pass"/><test-case name="fn-mindbl2args-5" result="pass"/><test-case name="fn-minflt2args-1" result="pass"/><test-case name="fn-minflt2args-2" result="pass"/><test-case name="fn-minflt2args-3" result="pass"/><test-case name="fn-minflt2args-4" result="pass"/><test-case name="fn-minflt2args-5" result="pass"/><test-case name="fn-minlng2args-1" result="pass"/><test-case name="fn-minlng2args-2" result="pass"/><test-case name="fn-minlng2args-3" result="pass"/><test-case name="fn-minlng2args-4" result="pass"/><test-case name="fn-minlng2args-5" result="pass"/><test-case name="fn-minusht2args-1" result="pass"/><test-case name="fn-minusht2args-2" result="pass"/><test-case name="fn-minusht2args-3" result="pass"/><test-case name="fn-minusht2args-4" result="pass"/><test-case name="fn-minusht2args-5" result="pass"/><test-case name="fn-minnint2args-1" result="pass"/><test-case name="fn-minnint2args-2" result="pass"/><test-case name="fn-minnint2args-3" result="pass"/><test-case name="fn-minnint2args-4" result="pass"/><test-case name="fn-minnint2args-5" result="pass"/><test-case name="fn-minpint2args-1" result="pass"/><test-case name="fn-minpint2args-2" result="pass"/><test-case name="fn-minpint2args-3" result="pass"/><test-case name="fn-minpint2args-4" result="pass"/><test-case name="fn-minpint2args-5" result="pass"/><test-case name="fn-minulng2args-1" result="pass"/><test-case name="fn-minulng2args-2" result="pass"/><test-case name="fn-minulng2args-3" result="pass"/><test-case name="fn-minulng2args-4" result="pass"/><test-case name="fn-minulng2args-5" result="pass"/><test-case name="fn-minnpi2args-1" result="pass"/><test-case name="fn-minnpi2args-2" result="pass"/><test-case name="fn-minnpi2args-3" result="pass"/><test-case name="fn-minnpi2args-4" result="pass"/><test-case name="fn-minnpi2args-5" result="pass"/><test-case name="fn-minnni2args-1" result="pass"/><test-case name="fn-minnni2args-2" result="pass"/><test-case name="fn-minnni2args-3" result="pass"/><test-case name="fn-minnni2args-4" result="pass"/><test-case name="fn-minnni2args-5" result="pass"/><test-case name="fn-minsht2args-1" result="pass"/><test-case name="fn-minsht2args-2" result="pass"/><test-case name="fn-minsht2args-3" result="pass"/><test-case name="fn-minsht2args-4" result="pass"/><test-case name="fn-minsht2args-5" result="pass"/><test-case name="fn-min-1" result="pass"/><test-case name="fn-min-2" result="pass"/><test-case name="fn-min-3" result="pass"/><test-case name="K-SeqMINFunc-1" result="pass"/><test-case name="K-SeqMINFunc-2" result="pass"/><test-case name="K-SeqMINFunc-3" result="pass"/><test-case name="K-SeqMINFunc-4" result="pass"/><test-case name="K-SeqMINFunc-5" result="pass"/><test-case name="K-SeqMINFunc-6" result="pass"/><test-case name="K-SeqMINFunc-7" result="pass"/><test-case name="K-SeqMINFunc-8" result="pass"/><test-case name="K-SeqMINFunc-9" result="pass"/><test-case name="K-SeqMINFunc-10" result="pass"/><test-case name="K-SeqMINFunc-11" result="pass"/><test-case name="K-SeqMINFunc-12" result="pass"/><test-case name="K-SeqMINFunc-13" result="pass"/><test-case name="K-SeqMINFunc-14" result="pass"/><test-case name="K-SeqMINFunc-15" result="pass"/><test-case name="K-SeqMINFunc-16" result="pass"/><test-case name="K-SeqMINFunc-17" result="pass"/><test-case name="K-SeqMINFunc-18" result="pass"/><test-case name="K-SeqMINFunc-19" result="pass"/><test-case name="K-SeqMINFunc-20" result="pass"/><test-case name="K-SeqMINFunc-21" result="pass"/><test-case name="K-SeqMINFunc-22" result="pass"/><test-case name="K-SeqMINFunc-23" result="pass"/><test-case name="K-SeqMINFunc-24" result="pass"/><test-case name="K-SeqMINFunc-25" result="pass"/><test-case name="K-SeqMINFunc-26" result="pass"/><test-case name="K-SeqMINFunc-27" result="pass"/><test-case name="K-SeqMINFunc-28" result="pass"/><test-case name="K-SeqMINFunc-29" result="pass"/><test-case name="K-SeqMINFunc-30" result="pass"/><test-case name="K-SeqMINFunc-31" result="pass"/><test-case name="K-SeqMINFunc-32" result="pass"/><test-case name="K-SeqMINFunc-33" result="pass"/><test-case name="K-SeqMINFunc-34" result="pass"/><test-case name="K-SeqMINFunc-35" result="pass"/><test-case name="K-SeqMINFunc-36" result="pass"/><test-case name="K-SeqMINFunc-37" result="pass"/><test-case name="K-SeqMINFunc-38" result="pass"/><test-case name="K-SeqMINFunc-39" result="pass"/><test-case name="K-SeqMINFunc-40" result="pass"/><test-case name="K-SeqMINFunc-41" result="pass"/><test-case name="K-SeqMINFunc-42" result="pass"/><test-case name="K-SeqMINFunc-43" result="pass"/><test-case name="K-SeqMINFunc-44" result="pass"/><test-case name="K-SeqMINFunc-45" result="pass"/><test-case name="K-SeqMINFunc-46" result="pass"/><test-case name="K-SeqMINFunc-47" result="pass"/><test-case name="K-SeqMINFunc-48" result="pass"/><test-case name="K-SeqMINFunc-49" result="pass"/><test-case name="K-SeqMINFunc-50" result="pass"/><test-case name="K-SeqMINFunc-51" result="pass"/><test-case name="K2-SeqMINFunc-1" result="pass"/><test-case name="K2-SeqMINFunc-2" result="pass"/><test-case name="K2-SeqMINFunc-3" result="pass"/><test-case name="K2-SeqMINFunc-4" result="pass"/><test-case name="K2-SeqMINFunc-5" result="pass"/><test-case name="K2-SeqMINFunc-6" result="pass"/><test-case name="K2-SeqMINFunc-7" result="pass"/><test-case name="K2-SeqMINFunc-8" result="pass"/><test-case name="K2-SeqMINFunc-9" result="pass"/><test-case name="K2-SeqMINFunc-10" result="pass"/><test-case name="K2-SeqMINFunc-11" result="pass"/><test-case name="K2-SeqMINFunc-12" result="pass"/><test-case name="K2-SeqMINFunc-13" result="pass"/><test-case name="K2-SeqMINFunc-14" result="pass"/><test-case name="K2-SeqMINFunc-15" result="pass"/><test-case name="fn-sumint1args-1" result="pass"/><test-case name="fn-sumint1args-2" result="pass"/><test-case name="fn-sumint1args-3" result="pass"/><test-case name="fn-sumintg1args-1" result="pass"/><test-case name="fn-sumintg1args-2" result="pass"/><test-case name="fn-sumintg1args-3" result="pass"/><test-case name="fn-sumdec1args-1" result="fail"/><test-case name="fn-sumdec1args-2" result="fail"/><test-case name="fn-sumdec1args-3" result="fail"/><test-case name="fn-sumdbl1args-1" result="pass"/><test-case name="fn-sumdbl1args-2" result="pass"/><test-case name="fn-sumdbl1args-3" result="pass"/><test-case name="fn-sumflt1args-1" result="pass"/><test-case name="fn-sumflt1args-2" result="pass"/><test-case name="fn-sumflt1args-3" result="pass"/><test-case name="fn-sumlng1args-1" result="pass"/><test-case name="fn-sumlng1args-2" result="pass"/><test-case name="fn-sumlng1args-3" result="pass"/><test-case name="fn-sumusht1args-1" result="pass"/><test-case name="fn-sumusht1args-2" result="pass"/><test-case name="fn-sumusht1args-3" result="pass"/><test-case name="fn-sumnint1args-1" result="pass"/><test-case name="fn-sumnint1args-2" result="pass"/><test-case name="fn-sumnint1args-3" result="pass"/><test-case name="fn-sumpint1args-1" result="pass"/><test-case name="fn-sumpint1args-2" result="pass"/><test-case name="fn-sumpint1args-3" result="pass"/><test-case name="fn-sumulng1args-1" result="pass"/><test-case name="fn-sumulng1args-2" result="pass"/><test-case name="fn-sumulng1args-3" result="pass"/><test-case name="fn-sumnpi1args-1" result="pass"/><test-case name="fn-sumnpi1args-2" result="pass"/><test-case name="fn-sumnpi1args-3" result="pass"/><test-case name="fn-sumnni1args-1" result="pass"/><test-case name="fn-sumnni1args-2" result="pass"/><test-case name="fn-sumnni1args-3" result="pass"/><test-case name="fn-sumsht1args-1" result="pass"/><test-case name="fn-sumsht1args-2" result="pass"/><test-case name="fn-sumsht1args-3" result="pass"/><test-case name="fn-sumint2args-1" result="pass"/><test-case name="fn-sumint2args-2" result="pass"/><test-case name="fn-sumint2args-3" result="pass"/><test-case name="fn-sumint2args-4" result="pass"/><test-case name="fn-sumintg2args-1" result="pass"/><test-case name="fn-sumintg2args-2" result="pass"/><test-case name="fn-sumintg2args-3" result="pass"/><test-case name="fn-sumintg2args-4" result="pass"/><test-case name="fn-sumdec2args-1" result="fail"/><test-case name="fn-sumdec2args-2" result="pass"/><test-case name="fn-sumdec2args-3" result="fail"/><test-case name="fn-sumdec2args-4" result="pass"/><test-case name="fn-sumdbl2args-1" result="pass"/><test-case name="fn-sumdbl2args-2" result="pass"/><test-case name="fn-sumdbl2args-3" result="pass"/><test-case name="fn-sumdbl2args-4" result="pass"/><test-case name="fn-sumflt2args-1" result="pass"/><test-case name="fn-sumflt2args-2" result="pass"/><test-case name="fn-sumflt2args-3" result="pass"/><test-case name="fn-sumflt2args-4" result="pass"/><test-case name="fn-sumlng2args-1" result="pass"/><test-case name="fn-sumlng2args-2" result="pass"/><test-case name="fn-sumlng2args-3" result="pass"/><test-case name="fn-sumlng2args-4" result="pass"/><test-case name="fn-sumusht2args-1" result="pass"/><test-case name="fn-sumusht2args-2" result="pass"/><test-case name="fn-sumusht2args-3" result="pass"/><test-case name="fn-sumusht2args-4" result="pass"/><test-case name="fn-sumusht2args-5" result="pass"/><test-case name="fn-sumnint2args-1" result="pass"/><test-case name="fn-sumnint2args-2" result="pass"/><test-case name="fn-sumnint2args-3" result="pass"/><test-case name="fn-sumnint2args-4" result="pass"/><test-case name="fn-sumpint2args-1" result="pass"/><test-case name="fn-sumpint2args-2" result="pass"/><test-case name="fn-sumpint2args-3" result="pass"/><test-case name="fn-sumpint2args-4" result="pass"/><test-case name="fn-sumpint2args-5" result="pass"/><test-case name="fn-sumulng2args-1" result="pass"/><test-case name="fn-sumulng2args-2" result="pass"/><test-case name="fn-sumulng2args-3" result="pass"/><test-case name="fn-sumulng2args-4" result="pass"/><test-case name="fn-sumulng2args-5" result="pass"/><test-case name="fn-sumnpi2args-1" result="pass"/><test-case name="fn-sumnpi2args-2" result="pass"/><test-case name="fn-sumnpi2args-3" result="pass"/><test-case name="fn-sumnpi2args-4" result="pass"/><test-case name="fn-sumnni2args-1" result="pass"/><test-case name="fn-sumnni2args-2" result="pass"/><test-case name="fn-sumnni2args-3" result="pass"/><test-case name="fn-sumnni2args-4" result="pass"/><test-case name="fn-sumnni2args-5" result="pass"/><test-case name="fn-sumsht2args-1" result="pass"/><test-case name="fn-sumsht2args-2" result="pass"/><test-case name="fn-sumsht2args-3" result="pass"/><test-case name="fn-sumsht2args-4" result="pass"/><test-case name="fn-sumint3args-1" result="pass"/><test-case name="fn-sumint3args-2" result="pass"/><test-case name="fn-sumint3args-3" result="pass"/><test-case name="fn-sumint3args-4" result="pass"/><test-case name="fn-sumintg3args-1" result="pass"/><test-case name="fn-sumintg3args-2" result="pass"/><test-case name="fn-sumintg3args-3" result="pass"/><test-case name="fn-sumintg3args-4" result="pass"/><test-case name="fn-sumdec3args-1" result="fail"/><test-case name="fn-sumdec3args-2" result="fail"/><test-case name="fn-sumdec3args-3" result="fail"/><test-case name="fn-sumdec3args-4" result="fail"/><test-case name="fn-sumdbl3args-1" result="pass"/><test-case name="fn-sumdbl3args-2" result="pass"/><test-case name="fn-sumdbl3args-3" result="pass"/><test-case name="fn-sumdbl3args-4" result="pass"/><test-case name="fn-sumdbl3args-5" result="pass"/><test-case name="fn-sumdbl3args-6" result="pass"/><test-case name="fn-sumflt3args-1" result="fail"/><test-case name="fn-sumflt3args-2" result="pass"/><test-case name="fn-sumflt3args-3" result="pass"/><test-case name="fn-sumflt3args-4" result="pass"/><test-case name="fn-sumflt3args-5" result="pass"/><test-case name="fn-sumflt3args-6" result="pass"/><test-case name="fn-sumlng3args-1" result="pass"/><test-case name="fn-sumlng3args-2" result="pass"/><test-case name="fn-sumlng3args-3" result="pass"/><test-case name="fn-sumlng3args-4" result="pass"/><test-case name="fn-sumlng3args-5" result="pass"/><test-case name="fn-sumlng3args-6" result="pass"/><test-case name="fn-sumusht3args-1" result="pass"/><test-case name="fn-sumusht3args-2" result="pass"/><test-case name="fn-sumusht3args-3" result="pass"/><test-case name="fn-sumusht3args-4" result="pass"/><test-case name="fn-sumusht3args-5" result="pass"/><test-case name="fn-sumusht3args-6" result="pass"/><test-case name="fn-sumusht3args-7" result="pass"/><test-case name="fn-sumnint3args-1" result="pass"/><test-case name="fn-sumnint3args-2" result="pass"/><test-case name="fn-sumpint3args-1" result="pass"/><test-case name="fn-sumpint3args-2" result="pass"/><test-case name="fn-sumpint3args-3" result="pass"/><test-case name="fn-sumpint3args-4" result="pass"/><test-case name="fn-sumpint3args-5" result="pass"/><test-case name="fn-sumpint3args-6" result="pass"/><test-case name="fn-sumpint3args-7" result="pass"/><test-case name="fn-sumulng3args-1" result="pass"/><test-case name="fn-sumulng3args-2" result="pass"/><test-case name="fn-sumulng3args-3" result="pass"/><test-case name="fn-sumulng3args-4" result="pass"/><test-case name="fn-sumulng3args-5" result="pass"/><test-case name="fn-sumulng3args-6" result="pass"/><test-case name="fn-sumulng3args-7" result="pass"/><test-case name="fn-sumnpi3args-1" result="pass"/><test-case name="fn-sumnpi3args-2" result="pass"/><test-case name="fn-sumnpi3args-3" result="pass"/><test-case name="fn-sumnpi3args-4" result="pass"/><test-case name="fn-sumnpi3args-5" result="pass"/><test-case name="fn-sumnpi3args-6" result="pass"/><test-case name="fn-sumnni3args-1" result="pass"/><test-case name="fn-sumnni3args-2" result="pass"/><test-case name="fn-sumnni3args-3" result="pass"/><test-case name="fn-sumnni3args-4" result="pass"/><test-case name="fn-sumnni3args-5" result="pass"/><test-case name="fn-sumnni3args-6" result="pass"/><test-case name="fn-sumnni3args-7" result="pass"/><test-case name="fn-sumsht3args-1" result="pass"/><test-case name="fn-sumsht3args-2" result="pass"/><test-case name="fn-sumsht3args-3" result="pass"/><test-case name="fn-sumsht3args-4" result="pass"/><test-case name="K-SeqSUMFunc-1" result="pass"/><test-case name="K-SeqSUMFunc-2" result="pass"/><test-case name="K-SeqSUMFunc-3" result="pass"/><test-case name="K-SeqSUMFunc-4" result="pass"/><test-case name="K-SeqSUMFunc-5" result="pass"/><test-case name="K-SeqSUMFunc-6" result="pass"/><test-case name="K-SeqSUMFunc-7" result="pass"/><test-case name="K-SeqSUMFunc-8" result="pass"/><test-case name="K-SeqSUMFunc-9" result="pass"/><test-case name="K-SeqSUMFunc-10" result="pass"/><test-case name="K-SeqSUMFunc-11" result="pass"/><test-case name="K-SeqSUMFunc-12" result="pass"/><test-case name="K-SeqSUMFunc-13" result="pass"/><test-case name="K-SeqSUMFunc-14" result="pass"/><test-case name="K-SeqSUMFunc-15" result="pass"/><test-case name="K-SeqSUMFunc-16" result="pass"/><test-case name="K-SeqSUMFunc-17" result="pass"/><test-case name="K-SeqSUMFunc-18" result="pass"/><test-case name="K-SeqSUMFunc-19" result="pass"/><test-case name="K-SeqSUMFunc-20" result="pass"/><test-case name="K-SeqSUMFunc-21" result="pass"/><test-case name="K-SeqSUMFunc-22" result="pass"/><test-case name="K-SeqSUMFunc-23" result="pass"/><test-case name="K-SeqSUMFunc-24" result="pass"/><test-case name="K-SeqSUMFunc-25" result="pass"/><test-case name="K-SeqSUMFunc-26" result="pass"/><test-case name="K-SeqSUMFunc-27" result="pass"/><test-case name="K-SeqSUMFunc-28" result="pass"/><test-case name="K-SeqSUMFunc-29" result="pass"/><test-case name="K-SeqSUMFunc-30" result="pass"/><test-case name="K-SeqSUMFunc-31" result="pass"/><test-case name="K-SeqSUMFunc-32" result="pass"/><test-case name="K-SeqSUMFunc-33" result="pass"/><test-case name="K2-SeqSUMFunc-1" result="pass"/><test-case name="K2-SeqSUMFunc-2" result="pass"/><test-case name="K2-SeqSUMFunc-3" result="pass"/><test-case name="K2-SeqSUMFunc-4" result="pass"/><test-case name="fn-id-1" result="pass"/><test-case name="fn-id-2" result="pass"/><test-case name="fn-id-3" result="pass"/><test-case name="fn-id-4" result="pass"/><test-case name="fn-id-dtd-5" result="fail"/><test-case name="fn-id-dtd-6" result="pass"/><test-case name="fn-id-dtd-7" result="fail"/><test-case name="fn-id-dtd-8" result="fail"/><test-case name="fn-id-dtd-9" result="fail"/><test-case name="fn-id-dtd-10" result="pass"/><test-case name="fn-id-dtd-11" result="pass"/><test-case name="fn-id-dtd-12" result="fail"/><test-case name="fn-id-dtd-13" result="fail"/><test-case name="fn-id-dtd-14" result="pass"/><test-case name="fn-id-dtd-15" result="fail"/><test-case name="fn-id-dtd-16" result="fail"/><test-case name="fn-id-dtd-17" result="fail"/><test-case name="fn-id-dtd-18" result="fail"/><test-case name="fn-id-dtd-19" result="fail"/><test-case name="fn-id-dtd-20" result="fail"/><test-case name="fn-id-dtd-21" result="fail"/><test-case name="fn-id-22" result="pass"/><test-case name="fn-id-dtd-23" result="fail"/><test-case name="K2-SeqIDFunc-1" result="pass"/><test-case name="K2-SeqIDFunc-2" result="pass"/><test-case name="K2-SeqIDFunc-3" result="pass"/><test-case name="K2-SeqIDFunc-4" result="pass"/><test-case name="K2-SeqIDFunc-5" result="pass"/><test-case name="K2-SeqIDFunc-6" result="pass"/><test-case name="K2-SeqIDFunc-7" result="pass"/><test-case name="K2-SeqIDFunc-8" result="pass"/><test-case name="K2-SeqIDFunc-9" result="pass"/><test-case name="K2-SeqIDFunc-10" result="pass"/><test-case name="K2-SeqIDFunc-11" result="pass"/><test-case name="K2-SeqIDFunc-12" result="pass"/><test-case name="K2-SeqIDFunc-13" result="pass"/><test-case name="fn-idref-1" result="pass"/><test-case name="fn-idref-2" result="pass"/><test-case name="fn-idref-3" result="pass"/><test-case name="fn-idref-4" result="pass"/><test-case name="fn-idref-dtd-5" result="fail"/><test-case name="fn-idref-dtd-6" result="pass"/><test-case name="fn-idref-dtd-7" result="fail"/><test-case name="fn-idref-dtd-8" result="fail"/><test-case name="fn-idref-dtd-9" result="fail"/><test-case name="fn-idref-dtd-10" result="pass"/><test-case name="fn-idref-dtd-11" result="pass"/><test-case name="fn-idref-dtd-12" result="fail"/><test-case name="fn-idref-dtd-13" result="fail"/><test-case name="fn-idref-dtd-14" result="fail"/><test-case name="fn-idref-dtd-15" result="fail"/><test-case name="fn-idref-dtd-16" result="fail"/><test-case name="fn-idref-dtd-17" result="fail"/><test-case name="fn-idref-dtd-18" result="fail"/><test-case name="fn-idref-dtd-19" result="fail"/><test-case name="fn-idref-dtd-20" result="fail"/><test-case name="fn-idref-dtd-21" result="fail"/><test-case name="fn-idref-22" result="pass"/><test-case name="fn-idref-dtd-23" result="fail"/><test-case name="K2-SeqIDREFFunc-1" result="pass"/><test-case name="K2-SeqIDREFFunc-2" result="pass"/><test-case name="K2-SeqIDREFFunc-3" result="pass"/><test-case name="fn-doc-available-1" result="pass"/><test-case name="fn-doc-available-2" result="pass"/><test-case name="fn-doc-available-3" result="pass"/><test-case name="fn-doc-available-4" result="pass"/><test-case name="K2-SeqDocAvailableFunc-1" result="pass"/><test-case name="fn-doc-1" result="pass"/><test-case name="fn-doc-2" result="pass"/><test-case name="fn-doc-3" result="pass"/><test-case name="fn-doc-4" result="pass"/><test-case name="fn-doc-5" result="pass"/><test-case name="fn-doc-6" result="pass"/><test-case name="fn-doc-7" result="pass"/><test-case name="fn-doc-15" result="pass"/><test-case name="fn-doc-16" result="pass"/><test-case name="fn-doc-17" result="fail"/><test-case name="fn-doc-18" result="pass"/><test-case name="fn-doc-19" result="pass"/><test-case name="fn-doc-20" result="pass"/><test-case name="fn-doc-21" result="pass"/><test-case name="fn-doc-22" result="pass"/><test-case name="fn-doc-23" result="pass"/><test-case name="K2-SeqDocFunc-1" result="pass"/><test-case name="K2-SeqDocFunc-2" result="pass"/><test-case name="K2-SeqDocFunc-3" result="pass"/><test-case name="K2-SeqDocFunc-4" result="pass"/><test-case name="K2-SeqDocFunc-5" result="pass"/><test-case name="K2-SeqDocFunc-6" result="pass"/><test-case name="K2-SeqDocFunc-7" result="pass"/><test-case name="K2-SeqDocFunc-8" result="pass"/><test-case name="K2-SeqDocFunc-9" result="pass"/><test-case name="K2-SeqDocFunc-10" result="pass"/><test-case name="K2-SeqDocFunc-11" result="pass"/><test-case name="K2-SeqDocFunc-12" result="pass"/><test-case name="K2-SeqDocFunc-13" result="pass"/><test-case name="fn-doc-24" result="pass"/><test-case name="fn-doc-25" result="pass"/><test-case name="fn-doc-26" result="pass"/><test-case name="fn-doc-27" result="pass"/><test-case name="fn-doc-28" result="pass"/><test-case name="fn-doc-29" result="pass"/><test-case name="fn-doc-30" result="pass"/><test-case name="fn-doc-31" result="pass"/><test-case name="K2-SeqDocFunc-14" result="pass"/><test-case name="fn-doc-32" result="pass"/><test-case name="fn-doc-33" result="fail"/><test-case name="fn-doc-34" result="pass"/><test-case name="fn-doc-35" result="pass"/><test-case name="fn-doc-36" result="pass"/><test-case name="fn-doc-37" result="pass"/><test-case name="fn-collection-1" result="pass"/><test-case name="fn-collection-2" result="pass"/><test-case name="fn-collection-3" result="pass"/><test-case name="fn-collection-4" result="fail"/><test-case name="fn-collection-4d" result="fail"/><test-case name="fn-collection-5" result="fail"/><test-case name="fn-collection-5d" result="fail"/><test-case name="fn-collection-6" result="fail"/><test-case name="fn-collection-7" result="fail"/><test-case name="fn-collection-8" result="fail"/><test-case name="fn-collection-9" result="fail"/><test-case name="fn-collection-10" result="fail"/><test-case name="fn-collection-10d" result="fail"/><test-case name="K2-SeqCollectionFunc-1" result="pass"/><test-case name="K2-SeqCollectionFunc-2" result="pass"/><test-case name="position-1" result="pass"/><test-case name="position-2" result="pass"/><test-case name="position-3" result="pass"/><test-case name="position-4" result="pass"/><test-case name="position-5" result="pass"/><test-case name="position-6" result="pass"/><test-case name="position-7" result="pass"/><test-case name="position-8" result="pass"/><test-case name="position-9" result="pass"/><test-case name="position-10" result="pass"/><test-case name="position-11" result="pass"/><test-case name="position-12" result="pass"/><test-case name="position-13" result="pass"/><test-case name="position-14" result="pass"/><test-case name="position-15" result="pass"/><test-case name="position-16" result="pass"/><test-case name="position-17" result="pass"/><test-case name="position-18" result="pass"/><test-case name="position-19" result="pass"/><test-case name="position-20" result="pass"/><test-case name="position-21" result="pass"/><test-case name="position-22" result="pass"/><test-case name="K-ContextPositionFunc-1" result="pass"/><test-case name="K-ContextPositionFunc-2" result="pass"/><test-case name="K-ContextPositionFunc-3" result="pass"/><test-case name="K-ContextPositionFunc-4" result="pass"/><test-case name="K-ContextPositionFunc-5" result="pass"/><test-case name="K-ContextPositionFunc-6" result="pass"/><test-case name="K-ContextPositionFunc-7" result="pass"/><test-case name="K-ContextPositionFunc-8" result="pass"/><test-case name="K-ContextPositionFunc-9" result="pass"/><test-case name="K-ContextPositionFunc-10" result="pass"/><test-case name="K-ContextPositionFunc-11" result="pass"/><test-case name="K-ContextPositionFunc-12" result="pass"/><test-case name="K-ContextPositionFunc-13" result="pass"/><test-case name="K-ContextPositionFunc-14" result="pass"/><test-case name="K-ContextPositionFunc-15" result="pass"/><test-case name="K-ContextPositionFunc-16" result="pass"/><test-case name="K-ContextPositionFunc-17" result="pass"/><test-case name="K-ContextPositionFunc-18" result="pass"/><test-case name="K-ContextPositionFunc-19" result="pass"/><test-case name="K-ContextPositionFunc-20" result="pass"/><test-case name="K-ContextPositionFunc-21" result="pass"/><test-case name="K-ContextPositionFunc-22" result="pass"/><test-case name="K-ContextPositionFunc-23" result="pass"/><test-case name="K-ContextPositionFunc-24" result="pass"/><test-case name="K-ContextPositionFunc-25" result="pass"/><test-case name="K-ContextPositionFunc-26" result="pass"/><test-case name="K-ContextPositionFunc-27" result="pass"/><test-case name="K-ContextPositionFunc-28" result="pass"/><test-case name="K-ContextPositionFunc-29" result="pass"/><test-case name="K-ContextPositionFunc-30" result="pass"/><test-case name="K-ContextPositionFunc-31" result="pass"/><test-case name="K-ContextPositionFunc-32" result="pass"/><test-case name="K-ContextPositionFunc-33" result="pass"/><test-case name="K-ContextPositionFunc-34" result="pass"/><test-case name="K-ContextPositionFunc-35" result="pass"/><test-case name="K-ContextPositionFunc-36" result="pass"/><test-case name="K-ContextPositionFunc-37" result="pass"/><test-case name="K-ContextPositionFunc-38" result="pass"/><test-case name="K-ContextPositionFunc-39" result="pass"/><test-case name="K-ContextPositionFunc-40" result="pass"/><test-case name="K-ContextPositionFunc-41" result="pass"/><test-case name="K-ContextPositionFunc-42" result="pass"/><test-case name="K-ContextPositionFunc-43" result="pass"/><test-case name="last-1" result="pass"/><test-case name="last-2" result="pass"/><test-case name="last-3" result="pass"/><test-case name="last-4" result="pass"/><test-case name="last-5" result="pass"/><test-case name="last-6" result="pass"/><test-case name="last-7" result="pass"/><test-case name="last-8" result="pass"/><test-case name="last-9" result="fail"/><test-case name="last-10" result="pass"/><test-case name="last-11" result="pass"/><test-case name="last-12" result="pass"/><test-case name="last-13" result="pass"/><test-case name="last-14" result="pass"/><test-case name="last-15" result="pass"/><test-case name="last-16" result="pass"/><test-case name="last-17" result="pass"/><test-case name="last-18" result="pass"/><test-case name="last-19" result="pass"/><test-case name="last-20" result="pass"/><test-case name="last-21" result="pass"/><test-case name="last-22" result="pass"/><test-case name="K-ContextLastFunc-1" result="pass"/><test-case name="K-ContextLastFunc-2" result="pass"/><test-case name="K-ContextLastFunc-3" result="pass"/><test-case name="K-ContextLastFunc-4" result="pass"/><test-case name="K-ContextLastFunc-5" result="pass"/><test-case name="K-ContextLastFunc-6" result="pass"/><test-case name="K-ContextLastFunc-7" result="pass"/><test-case name="K-ContextLastFunc-8" result="pass"/><test-case name="K-ContextLastFunc-9" result="pass"/><test-case name="K-ContextLastFunc-10" result="pass"/><test-case name="K-ContextLastFunc-11" result="pass"/><test-case name="K-ContextLastFunc-12" result="pass"/><test-case name="K-ContextLastFunc-13" result="pass"/><test-case name="K-ContextLastFunc-14" result="pass"/><test-case name="K-ContextLastFunc-15" result="pass"/><test-case name="K-ContextLastFunc-16" result="pass"/><test-case name="K-ContextLastFunc-17" result="pass"/><test-case name="K-ContextLastFunc-18" result="pass"/><test-case name="K-ContextLastFunc-19" result="pass"/><test-case name="K-ContextLastFunc-20" result="pass"/><test-case name="K-ContextLastFunc-21" result="pass"/><test-case name="K-ContextLastFunc-22" result="pass"/><test-case name="K-ContextLastFunc-23" result="pass"/><test-case name="K-ContextLastFunc-24" result="pass"/><test-case name="K-ContextLastFunc-25" result="pass"/><test-case name="K-ContextLastFunc-26" result="pass"/><test-case name="K-ContextLastFunc-27" result="pass"/><test-case name="K-ContextLastFunc-28" result="pass"/><test-case name="K-ContextLastFunc-29" result="pass"/><test-case name="fn-current-dateTime-1" result="not tested"/><test-case name="fn-current-dateTime-2" result="not tested"/><test-case name="fn-current-dateTime-3" result="not tested"/><test-case name="fn-current-dateTime-4" result="not tested"/><test-case name="fn-current-dateTime-5" result="pass"/><test-case name="fn-current-dateTime-6" result="not tested"/><test-case name="fn-current-datetime-7" result="not tested"/><test-case name="fn-current-dateTime-8" result="pass"/><test-case name="fn-current-dateTime-9" result="pass"/><test-case name="fn-current-dateTime-10" result="not tested"/><test-case name="fn-current-dateTime-11" result="not tested"/><test-case name="fn-current-dateTime-12" result="pass"/><test-case name="fn-current-dateTime-13" result="pass"/><test-case name="fn-current-dateTime-14" result="pass"/><test-case name="fn-current-dateTime-15" result="pass"/><test-case name="fn-current-dateTime-16" result="pass"/><test-case name="fn-current-dateTime-17" result="pass"/><test-case name="fn-current-dateTime-18" result="pass"/><test-case name="fn-current-dateTime-19" result="pass"/><test-case name="fn-current-dateTime-20" result="pass"/><test-case name="fn-current-dateTime-21" result="not tested"/><test-case name="fn-current-dateTime-22" result="not tested"/><test-case name="fn-current-dateTime-23" result="not tested"/><test-case name="fn-current-dateTime-24" result="not tested"/><test-case name="K-ContextCurrentDatetimeFunc-1" result="pass"/><test-case name="K-ContextCurrentDatetimeFunc-2" result="pass"/><test-case name="fn-current-date-1" result="not tested"/><test-case name="fn-current-date-2" result="not tested"/><test-case name="fn-current-date-3" result="not tested"/><test-case name="fn-current-date-4" result="not tested"/><test-case name="fn-current-date-5" result="pass"/><test-case name="fn-current-date-6" result="not tested"/><test-case name="fn-current-date-7" result="not tested"/><test-case name="fn-current-date-8" result="pass"/><test-case name="fn-current-date-9" result="pass"/><test-case name="fn-current-date-10" result="not tested"/><test-case name="fn-current-date-11" result="not tested"/><test-case name="fn-current-date-12" result="pass"/><test-case name="fn-current-date-13" result="pass"/><test-case name="fn-current-date-14" result="pass"/><test-case name="fn-current-date-15" result="pass"/><test-case name="fn-current-date-16" result="pass"/><test-case name="fn-current-date-17" result="pass"/><test-case name="fn-current-date-18" result="pass"/><test-case name="fn-current-date-19" result="pass"/><test-case name="fn-current-date-20" result="pass"/><test-case name="fn-current-date-21" result="not tested"/><test-case name="K-ContextCurrentDateFunc-1" result="pass"/><test-case name="K-ContextCurrentDateFunc-2" result="pass"/><test-case name="fn-current-time-1" result="not tested"/><test-case name="fn-current-time-2" result="not tested"/><test-case name="fn-current-time-3" result="not tested"/><test-case name="fn-current-time-4" result="not tested"/><test-case name="fn-current-time-5" result="pass"/><test-case name="fn-current-time-6" result="not tested"/><test-case name="fn-current-time-7" result="not tested"/><test-case name="fn-current-time-8" result="pass"/><test-case name="fn-current-time-9" result="pass"/><test-case name="fn-current-time-10" result="not tested"/><test-case name="fn-current-time-11" result="not tested"/><test-case name="fn-current-time-12" result="pass"/><test-case name="fn-current-time-13" result="pass"/><test-case name="fn-current-time-14" result="pass"/><test-case name="fn-current-time-15" result="pass"/><test-case name="fn-current-time-16" result="pass"/><test-case name="fn-current-time-17" result="pass"/><test-case name="fn-current-time-18" result="pass"/><test-case name="fn-current-time-19" result="pass"/><test-case name="fn-current-time-20" result="pass"/><test-case name="K-ContextCurrentTimeFunc-1" result="pass"/><test-case name="K-ContextCurrentTimeFunc-2" result="pass"/><test-case name="fn-default-collation-1" result="pass"/><test-case name="fn-default-collation-2" result="pass"/><test-case name="K-ContextDefaultCollationFunc-1" result="pass"/><test-case name="K-ContextDefaultCollationFunc-2" result="pass"/><test-case name="K-ContextDefaultCollationFunc-3" result="pass"/><test-case name="fn-implicit-timezone-1" result="pass"/><test-case name="fn-implicit-timezone-2" result="not tested"/><test-case name="fn-implicit-timezone-3" result="not tested"/><test-case name="fn-implicit-timezone-4" result="pass"/><test-case name="fn-implicit-timezone-5" result="not tested"/><test-case name="fn-implicit-timezone-6" result="pass"/><test-case name="fn-implicit-timezone-7" result="pass"/><test-case name="fn-implicit-timezone-8" result="pass"/><test-case name="fn-implicit-timezone-9" result="not tested"/><test-case name="fn-implicit-timezone-10" result="pass"/><test-case name="fn-implicit-timezone-11" result="pass"/><test-case name="fn-implicit-timezone-12" result="pass"/><test-case name="fn-implicit-timezone-13" result="pass"/><test-case name="fn-implicit-timezone-14" result="not tested"/><test-case name="fn-implicit-timezone-15" result="not tested"/><test-case name="fn-implicit-timezone-16" result="not tested"/><test-case name="fn-implicit-timezone-17" result="not tested"/><test-case name="fn-implicit-timezone-18" result="not tested"/><test-case name="fn-implicit-timezone-19" result="not tested"/><test-case name="fn-implicit-timezone-20" result="not tested"/><test-case name="fn-implicit-timezone-21" result="not tested"/><test-case name="fn-implicit-timezone-22" result="not tested"/><test-case name="fn-implicit-timezone-23" result="not tested"/><test-case name="K-ContextImplicitTimezoneFunc-1" result="pass"/><test-case name="K-ContextImplicitTimezoneFunc-2" result="pass"/><test-case name="K-ContextImplicitTimezoneFunc-3" result="pass"/><test-case name="ancestor-1" result="pass"/><test-case name="ancestor-2" result="pass"/><test-case name="ancestor-3" result="pass"/><test-case name="ancestor-4" result="pass"/><test-case name="ancestor-5" result="pass"/><test-case name="ancestor-6" result="pass"/><test-case name="ancestor-7" result="pass"/><test-case name="ancestor-8" result="pass"/><test-case name="ancestor-9" result="pass"/><test-case name="ancestor-10" result="pass"/><test-case name="ancestor-11" result="pass"/><test-case name="ancestor-12" result="pass"/><test-case name="ancestor-13" result="pass"/><test-case name="ancestor-14" result="pass"/><test-case name="ancestor-15" result="pass"/><test-case name="ancestor-16" result="pass"/><test-case name="ancestor-17" result="pass"/><test-case name="ancestor-18" result="pass"/><test-case name="ancestor-19" result="pass"/><test-case name="ancestor-20" result="pass"/><test-case name="ancestor-21" result="pass"/><test-case name="unabbreviatedSyntax-10" result="pass"/><test-case name="K2-ancestorAxis-1" result="pass"/><test-case name="K2-ancestorAxis-2" result="pass"/><test-case name="K2-ancestorAxis-3" result="pass"/><test-case name="K2-ancestorAxis-4" result="pass"/><test-case name="K2-ancestorAxis-5" result="pass"/><test-case name="K2-ancestorAxis-6" result="pass"/><test-case name="K2-ancestorAxis-7" result="pass"/><test-case name="K2-ancestorAxis-8" result="pass"/><test-case name="K2-ancestorAxis-9" result="pass"/><test-case name="K2-ancestorAxis-10" result="pass"/><test-case name="K2-ancestorAxis-11" result="pass"/><test-case name="K2-ancestorAxis-12" result="pass"/><test-case name="K2-ancestorAxis-13" result="pass"/><test-case name="K2-ancestorAxis-14" result="pass"/><test-case name="K2-ancestorAxis-15" result="pass"/><test-case name="K2-ancestorAxis-16" result="pass"/><test-case name="K2-ancestorAxis-17" result="pass"/><test-case name="K2-ancestorAxis-18" result="pass"/><test-case name="K2-ancestorAxis-19" result="pass"/><test-case name="K2-ancestorAxis-20" result="pass"/><test-case name="K2-ancestorAxis-21" result="pass"/><test-case name="ancestorself-1" result="pass"/><test-case name="ancestorself-2" result="pass"/><test-case name="ancestorself-3" result="pass"/><test-case name="ancestorself-4" result="pass"/><test-case name="ancestorself-5" result="pass"/><test-case name="ancestorself-6" result="pass"/><test-case name="ancestorself-7" result="pass"/><test-case name="ancestorself-8" result="pass"/><test-case name="ancestorself-9" result="pass"/><test-case name="ancestorself-10" result="pass"/><test-case name="ancestorself-11" result="pass"/><test-case name="ancestorself-12" result="pass"/><test-case name="ancestorself-13" result="pass"/><test-case name="ancestorself-14" result="pass"/><test-case name="ancestorself-15" result="pass"/><test-case name="ancestorself-16" result="pass"/><test-case name="ancestorself-17" result="pass"/><test-case name="ancestorself-18" result="pass"/><test-case name="ancestorself-19" result="pass"/><test-case name="ancestorself-20" result="pass"/><test-case name="ancestorself-21" result="pass"/><test-case name="unabbreviatedSyntax-11" result="pass"/><test-case name="K2-ancestor-or-selfAxis-1" result="pass"/><test-case name="K2-ancestor-or-selfAxis-2" result="pass"/><test-case name="K2-ancestor-or-selfAxis-3" result="pass"/><test-case name="K2-ancestor-or-selfAxis-4" result="pass"/><test-case name="K2-ancestor-or-selfAxis-5" result="pass"/><test-case name="K2-ancestor-or-selfAxis-6" result="pass"/><test-case name="K2-ancestor-or-selfAxis-7" result="pass"/><test-case name="K2-ancestor-or-selfAxis-8" result="pass"/><test-case name="K2-ancestor-or-selfAxis-9" result="pass"/><test-case name="following-1" result="pass"/><test-case name="following-2" result="pass"/><test-case name="following-3" result="pass"/><test-case name="following-4" result="pass"/><test-case name="following-5" result="pass"/><test-case name="following-6" result="pass"/><test-case name="following-7" result="pass"/><test-case name="following-8" result="pass"/><test-case name="following-9" result="pass"/><test-case name="following-10" result="pass"/><test-case name="following-11" result="pass"/><test-case name="following-12" result="pass"/><test-case name="following-13" result="pass"/><test-case name="following-14" result="pass"/><test-case name="following-15" result="pass"/><test-case name="following-16" result="pass"/><test-case name="following-17" result="pass"/><test-case name="following-18" result="pass"/><test-case name="following-19" result="pass"/><test-case name="following-20" result="pass"/><test-case name="following-21" result="pass"/><test-case name="K2-followingAxis-1" result="pass"/><test-case name="K2-followingAxis-2" result="pass"/><test-case name="K2-followingAxis-3" result="pass"/><test-case name="K2-followingAxis-4" result="pass"/><test-case name="followingsibling-1" result="pass"/><test-case name="followingsibling-2" result="pass"/><test-case name="followingsibling-3" result="pass"/><test-case name="followingsibling-4" result="pass"/><test-case name="followingsibling-5" result="pass"/><test-case name="followingsibling-6" result="pass"/><test-case name="followingsibling-7" result="pass"/><test-case name="followingsibling-8" result="pass"/><test-case name="followingsibling-9" result="pass"/><test-case name="followingsibling-10" result="pass"/><test-case name="followingsibling-11" result="pass"/><test-case name="followingsibling-12" result="pass"/><test-case name="followingsibling-13" result="pass"/><test-case name="followingsibling-14" result="pass"/><test-case name="followingsibling-15" result="pass"/><test-case name="followingsibling-16" result="pass"/><test-case name="followingsibling-17" result="pass"/><test-case name="followingsibling-18" result="pass"/><test-case name="followingsibling-19" result="pass"/><test-case name="followingsibling-20" result="pass"/><test-case name="followingsibling-21" result="pass"/><test-case name="unabbreviatedSyntax-24" result="pass"/><test-case name="K2-following-siblingAxis-1" result="pass"/><test-case name="K2-following-siblingAxis-2" result="pass"/><test-case name="K2-following-siblingAxis-3" result="pass"/><test-case name="K2-following-siblingAxis-4" result="pass"/><test-case name="K2-following-siblingAxis-5" result="pass"/><test-case name="K2-following-siblingAxis-6" result="pass"/><test-case name="K2-following-siblingAxis-7" result="pass"/><test-case name="K2-following-siblingAxis-8" result="pass"/><test-case name="K2-following-siblingAxis-9" result="pass"/><test-case name="K2-following-siblingAxis-10" result="pass"/><test-case name="preceding-1" result="pass"/><test-case name="preceding-2" result="pass"/><test-case name="preceding-3" result="pass"/><test-case name="preceding-4" result="pass"/><test-case name="preceding-5" result="pass"/><test-case name="preceding-6" result="pass"/><test-case name="preceding-7" result="pass"/><test-case name="preceding-8" result="pass"/><test-case name="preceding-9" result="pass"/><test-case name="preceding-10" result="pass"/><test-case name="preceding-11" result="pass"/><test-case name="preceding-12" result="pass"/><test-case name="preceding-13" result="pass"/><test-case name="preceding-14" result="pass"/><test-case name="preceding-15" result="pass"/><test-case name="preceding-16" result="pass"/><test-case name="preceding-17" result="pass"/><test-case name="preceding-18" result="pass"/><test-case name="preceding-19" result="pass"/><test-case name="preceding-20" result="pass"/><test-case name="preceding-21" result="pass"/><test-case name="preceding-22" result="pass"/><test-case name="preceding-23" result="pass"/><test-case name="K2-precedingAxis-1" result="pass"/><test-case name="K2-precedingAxis-2" result="pass"/><test-case name="K2-precedingAxis-3" result="pass"/><test-case name="K2-precedingAxis-4" result="pass"/><test-case name="K2-precedingAxis-5" result="pass"/><test-case name="K2-precedingAxis-6" result="pass"/><test-case name="K2-precedingAxis-7" result="pass"/><test-case name="K2-precedingAxis-8" result="pass"/><test-case name="preceding-sibling-1" result="pass"/><test-case name="preceding-sibling-2" result="pass"/><test-case name="preceding-sibling-3" result="pass"/><test-case name="preceding-sibling-4" result="pass"/><test-case name="preceding-sibling-5" result="pass"/><test-case name="preceding-sibling-6" result="pass"/><test-case name="preceding-sibling-7" result="pass"/><test-case name="preceding-sibling-8" result="pass"/><test-case name="preceding-sibling-9" result="pass"/><test-case name="preceding-sibling-10" result="pass"/><test-case name="preceding-sibling-11" result="pass"/><test-case name="preceding-sibling-12" result="pass"/><test-case name="preceding-sibling-13" result="pass"/><test-case name="preceding-sibling-14" result="pass"/><test-case name="preceding-sibling-15" result="pass"/><test-case name="preceding-sibling-16" result="pass"/><test-case name="preceding-sibling-17" result="pass"/><test-case name="preceding-sibling-18" result="pass"/><test-case name="preceding-sibling-19" result="pass"/><test-case name="preceding-sibling-20" result="pass"/><test-case name="preceding-sibling-21" result="pass"/><test-case name="unabbreviatedSyntax-25" result="pass"/><test-case name="K2-preceding-siblingAxis-1" result="pass"/><test-case name="K2-preceding-siblingAxis-2" result="pass"/><test-case name="K2-preceding-siblingAxis-3" result="pass"/><test-case name="K2-preceding-siblingAxis-4" result="pass"/><test-case name="K2-preceding-siblingAxis-5" result="pass"/><test-case name="modules-simple" result="fail"/><test-case name="modules-bad-ns" result="fail"/><test-case name="modules-none" result="fail"/><test-case name="modules-two-import" result="fail"/><test-case name="modules-two-import-ok" result="fail"/><test-case name="modules-collide-var-001" result="fail"/><test-case name="modules-collide-var-002" result="fail"/><test-case name="modules-collide-fn-001" result="fail"/><test-case name="modules-collide-fn-002" result="fail"/><test-case name="modules-emptyns" result="pass"/><test-case name="modules-circular" result="fail"/><test-case name="modules-1" result="fail"/><test-case name="modules-2" result="fail"/><test-case name="modules-3" result="fail"/><test-case name="modules-4" result="fail"/><test-case name="modules-5" result="fail"/><test-case name="modules-6" result="fail"/><test-case name="modules-7" result="fail"/><test-case name="modules-8" result="fail"/><test-case name="modules-9" result="fail"/><test-case name="modules-10" result="fail"/><test-case name="modules-11" result="fail"/><test-case name="modules-12" result="fail"/><test-case name="modules-13" result="fail"/><test-case name="modules-14" result="fail"/><test-case name="modules-15" result="fail"/><test-case name="modules-16" result="fail"/><test-case name="modules-17" result="fail"/><test-case name="modules-18" result="fail"/><test-case name="K-ModuleImport-1" result="pass"/><test-case name="K-ModuleImport-2" result="pass"/><test-case name="K-ModuleImport-3" result="pass"/><test-case name="K2-ModuleImport-1" result="pass"/><test-case name="K2-ModuleProlog-1" result="pass"/><test-case name="K2-Serialization-1" result="pass"/><test-case name="K2-Serialization-2" result="pass"/><test-case name="K2-Serialization-3" result="pass"/><test-case name="K2-Serialization-4" result="pass"/><test-case name="K2-Serialization-5" result="pass"/><test-case name="K2-Serialization-6" result="pass"/><test-case name="K2-Serialization-7" result="pass"/><test-case name="K2-Serialization-8" result="pass"/><test-case name="K2-Serialization-9" result="pass"/><test-case name="K2-Serialization-10" result="pass"/><test-case name="K2-Serialization-11" result="pass"/><test-case name="K2-Serialization-12" result="pass"/><test-case name="appendix-A4-1" result="pass"/><test-case name="appendix-A4-2" result="pass"/><test-case name="appendix-A4-3" result="pass"/><test-case name="appendix-A4-4" result="pass"/><test-case name="appendix-A4-5" result="pass"/><test-case name="appendix-A4-6" result="pass"/><test-case name="appendix-A4-7" result="pass"/><test-case name="appendix-A4-8" result="pass"/><test-case name="appendix-A4-9" result="pass"/><test-case name="annex-1" result="pass"/><test-case name="annex-2" result="pass"/><test-case name="annex-3" result="pass"/><test-case name="annex-4" result="pass"/><test-case name="annex-5" result="pass"/><test-case name="annex-6" result="fail"/><test-case name="annex-7" result="pass"/><test-case name="annex-8" result="pass"/><test-case name="xmp-queries-results-q1" result="pass"/><test-case name="xmp-queries-results-q2" result="pass"/><test-case name="xmp-queries-results-q3" result="pass"/><test-case name="xmp-queries-results-q4" result="pass"/><test-case name="xmp-queries-results-q5" result="pass"/><test-case name="xmp-queries-results-q6" result="pass"/><test-case name="xmp-queries-results-q7" result="pass"/><test-case name="xmp-queries-results-q8" result="pass"/><test-case name="xmp-queries-results-q9" result="pass"/><test-case name="xmp-queries-results-q10" result="pass"/><test-case name="xmp-queries-results-q11" result="pass"/><test-case name="xmp-queries-results-q12" result="pass"/><test-case name="tree-queries-results-q1" result="pass"/><test-case name="tree-queries-results-q2" result="pass"/><test-case name="tree-queries-results-q3" result="pass"/><test-case name="tree-queries-results-q4" result="pass"/><test-case name="tree-queries-results-q5" result="pass"/><test-case name="tree-queries-results-q6" result="pass"/><test-case name="seq-queries-results-q1" result="pass"/><test-case name="seq-queries-results-q2" result="pass"/><test-case name="seq-queries-results-q3" result="pass"/><test-case name="seq-queries-results-q4" result="pass"/><test-case name="seq-queries-results-q5" result="pass"/><test-case name="rdb-queries-results-q1" result="pass"/><test-case name="rdb-queries-results-q2" result="pass"/><test-case name="rdb-queries-results-q3" result="pass"/><test-case name="rdb-queries-results-q4" result="pass"/><test-case name="rdb-queries-results-q5" result="pass"/><test-case name="rdb-queries-results-q6" result="fail"/><test-case name="rdb-queries-results-q7" result="pass"/><test-case name="rdb-queries-results-q8" result="pass"/><test-case name="rdb-queries-results-q9" result="pass"/><test-case name="rdb-queries-results-q10" result="pass"/><test-case name="rdb-queries-results-q11" result="pass"/><test-case name="rdb-queries-results-q12" result="pass"/><test-case name="rdb-queries-results-q13" result="pass"/><test-case name="rdb-queries-results-q14" result="fail"/><test-case name="rdb-queries-results-q15" result="pass"/><test-case name="rdb-queries-results-q16" result="pass"/><test-case name="rdb-queries-results-q17" result="pass"/><test-case name="rdb-queries-results-q18" result="fail"/><test-case name="sgml-queries-results-q1" result="pass"/><test-case name="sgml-queries-results-q2" result="pass"/><test-case name="sgml-queries-results-q3" result="pass"/><test-case name="sgml-queries-results-q4" result="pass"/><test-case name="sgml-queries-results-q5" result="pass"/><test-case name="sgml-queries-results-q6" result="pass"/><test-case name="sgml-queries-results-q7" result="pass"/><test-case name="sgml-queries-results-q8a" result="pass"/><test-case name="sgml-queries-results-q8b" result="pass"/><test-case name="sgml-queries-results-q9" result="pass"/><test-case name="sgml-queries-results-q10" result="pass"/><test-case name="string-queries-results-q1" result="pass"/><test-case name="string-queries-results-q2" result="pass"/><test-case name="string-queries-results-q4" result="pass"/><test-case name="string-queries-results-q5" result="pass"/><test-case name="ns-queries-results-q1" result="pass"/><test-case name="ns-queries-results-q2" result="pass"/><test-case name="ns-queries-results-q3" result="pass"/><test-case name="ns-queries-results-q4" result="pass"/><test-case name="ns-queries-results-q5" result="pass"/><test-case name="ns-queries-results-q6" result="pass"/><test-case name="ns-queries-results-q7" result="pass"/><test-case name="ns-queries-results-q8" result="pass"/><test-case name="parts-queries-results-q1" result="pass"/><test-case name="functx-fn-abs-1" result="pass"/><test-case name="functx-fn-abs-2" result="pass"/><test-case name="functx-fn-abs-3" result="pass"/><test-case name="functx-fn-abs-all" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-1" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-2" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-3" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-4" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-5" result="pass"/><test-case name="functx-fn-adjust-dateTime-to-timezone-all" result="pass"/><test-case name="functx-fn-adjust-date-to-timezone-1" result="pass"/><test-case name="functx-fn-adjust-date-to-timezone-2" result="pass"/><test-case name="functx-fn-adjust-date-to-timezone-3" result="pass"/><test-case name="functx-fn-adjust-date-to-timezone-4" result="pass"/><test-case name="functx-fn-adjust-date-to-timezone-all" result="pass"/><test-case name="functx-fn-adjust-time-to-timezone-1" result="pass"/><test-case name="functx-fn-adjust-time-to-timezone-2" result="pass"/><test-case name="functx-fn-adjust-time-to-timezone-3" result="pass"/><test-case name="functx-fn-adjust-time-to-timezone-4" result="pass"/><test-case name="functx-fn-adjust-time-to-timezone-all" result="pass"/><test-case name="functx-fn-avg-1" result="pass"/><test-case name="functx-fn-avg-2" result="pass"/><test-case name="functx-fn-avg-3" result="pass"/><test-case name="functx-fn-avg-4" result="pass"/><test-case name="functx-fn-avg-5" result="pass"/><test-case name="functx-fn-avg-all" result="pass"/><test-case name="functx-fn-base-uri-1" result="pass"/><test-case name="functx-fn-base-uri-2" result="pass"/><test-case name="functx-fn-base-uri-3" result="pass"/><test-case name="functx-fn-base-uri-all" result="pass"/><test-case name="functx-fn-boolean-1" result="pass"/><test-case name="functx-fn-boolean-2" result="pass"/><test-case name="functx-fn-boolean-3" result="pass"/><test-case name="functx-fn-boolean-4" result="pass"/><test-case name="functx-fn-boolean-5" result="pass"/><test-case name="functx-fn-boolean-6" result="pass"/><test-case name="functx-fn-boolean-7" result="pass"/><test-case name="functx-fn-boolean-8" result="pass"/><test-case name="functx-fn-boolean-9" result="pass"/><test-case name="functx-fn-boolean-all" result="pass"/><test-case name="functx-fn-ceiling-1" result="pass"/><test-case name="functx-fn-ceiling-2" result="pass"/><test-case name="functx-fn-ceiling-3" result="pass"/><test-case name="functx-fn-ceiling-4" result="pass"/><test-case name="functx-fn-ceiling-5" result="pass"/><test-case name="functx-fn-ceiling-6" result="pass"/><test-case name="functx-fn-ceiling-all" result="pass"/><test-case name="functx-fn-codepoint-equal-1" result="pass"/><test-case name="functx-fn-codepoint-equal-2" result="pass"/><test-case name="functx-fn-codepoint-equal-3" result="pass"/><test-case name="functx-fn-codepoint-equal-all" result="pass"/><test-case name="functx-fn-codepoints-to-string-1" result="pass"/><test-case name="functx-fn-codepoints-to-string-2" result="pass"/><test-case name="functx-fn-codepoints-to-string-3" result="pass"/><test-case name="functx-fn-codepoints-to-string-all" result="pass"/><test-case name="functx-fn-compare-1" result="pass"/><test-case name="functx-fn-compare-2" result="pass"/><test-case name="functx-fn-compare-3" result="pass"/><test-case name="functx-fn-compare-4" result="pass"/><test-case name="functx-fn-compare-5" result="pass"/><test-case name="functx-fn-compare-6" result="pass"/><test-case name="functx-fn-compare-7" result="pass"/><test-case name="functx-fn-compare-all" result="pass"/><test-case name="functx-fn-concat-1" result="pass"/><test-case name="functx-fn-concat-2" result="pass"/><test-case name="functx-fn-concat-3" result="pass"/><test-case name="functx-fn-concat-4" result="pass"/><test-case name="functx-fn-concat-all" result="pass"/><test-case name="functx-fn-contains-1" result="pass"/><test-case name="functx-fn-contains-2" result="pass"/><test-case name="functx-fn-contains-3" result="pass"/><test-case name="functx-fn-contains-4" result="pass"/><test-case name="functx-fn-contains-5" result="pass"/><test-case name="functx-fn-contains-6" result="pass"/><test-case name="functx-fn-contains-7" result="pass"/><test-case name="functx-fn-contains-all" result="pass"/><test-case name="functx-fn-count-1" result="pass"/><test-case name="functx-fn-count-2" result="pass"/><test-case name="functx-fn-count-3" result="pass"/><test-case name="functx-fn-count-4" result="pass"/><test-case name="functx-fn-count-5" result="pass"/><test-case name="functx-fn-count-all" result="pass"/><test-case name="functx-fn-data-1" result="pass"/><test-case name="functx-fn-data-2" result="pass"/><test-case name="functx-fn-data-3" result="pass"/><test-case name="functx-fn-data-4" result="pass"/><test-case name="functx-fn-data-5" result="pass"/><test-case name="functx-fn-data-6" result="pass"/><test-case name="functx-fn-data-all" result="pass"/><test-case name="functx-fn-dateTime-1" result="pass"/><test-case name="functx-fn-day-from-dateTime-1" result="pass"/><test-case name="functx-fn-day-from-date-1" result="pass"/><test-case name="functx-fn-days-from-duration-1" result="pass"/><test-case name="functx-fn-days-from-duration-2" result="pass"/><test-case name="functx-fn-days-from-duration-3" result="pass"/><test-case name="functx-fn-days-from-duration-4" result="pass"/><test-case name="functx-fn-days-from-duration-5" result="pass"/><test-case name="functx-fn-days-from-duration-all" result="pass"/><test-case name="functx-fn-deep-equal-1" result="pass"/><test-case name="functx-fn-deep-equal-2" result="pass"/><test-case name="functx-fn-deep-equal-3" result="pass"/><test-case name="functx-fn-deep-equal-4" result="pass"/><test-case name="functx-fn-deep-equal-5" result="pass"/><test-case name="functx-fn-deep-equal-6" result="pass"/><test-case name="functx-fn-deep-equal-all" result="pass"/><test-case name="functx-fn-default-collation-1" result="pass"/><test-case name="functx-fn-distinct-values-1" result="pass"/><test-case name="functx-fn-distinct-values-2" result="pass"/><test-case name="functx-fn-distinct-values-3" result="pass"/><test-case name="functx-fn-distinct-values-4" result="pass"/><test-case name="functx-fn-distinct-values-5" result="pass"/><test-case name="functx-fn-distinct-values-6" result="pass"/><test-case name="functx-fn-distinct-values-all" result="pass"/><test-case name="functx-fn-doc-available-1" result="pass"/><test-case name="functx-fn-empty-1" result="pass"/><test-case name="functx-fn-empty-2" result="pass"/><test-case name="functx-fn-empty-3" result="pass"/><test-case name="functx-fn-empty-4" result="pass"/><test-case name="functx-fn-empty-5" result="pass"/><test-case name="functx-fn-empty-6" result="pass"/><test-case name="functx-fn-empty-7" result="pass"/><test-case name="functx-fn-empty-all" result="pass"/><test-case name="functx-fn-encode-for-uri-1" result="pass"/><test-case name="functx-fn-encode-for-uri-2" result="pass"/><test-case name="functx-fn-encode-for-uri-all" result="pass"/><test-case name="functx-fn-ends-with-1" result="pass"/><test-case name="functx-fn-ends-with-2" result="pass"/><test-case name="functx-fn-ends-with-3" result="pass"/><test-case name="functx-fn-ends-with-4" result="pass"/><test-case name="functx-fn-ends-with-5" result="pass"/><test-case name="functx-fn-ends-with-all" result="pass"/><test-case name="functx-fn-escape-html-uri-1" result="fail"/><test-case name="functx-fn-escape-html-uri-2" result="pass"/><test-case name="functx-fn-escape-html-uri-all" result="fail"/><test-case name="functx-fn-exactly-one-1" result="pass"/><test-case name="functx-fn-exists-1" result="pass"/><test-case name="functx-fn-exists-2" result="pass"/><test-case name="functx-fn-exists-3" result="pass"/><test-case name="functx-fn-exists-4" result="pass"/><test-case name="functx-fn-exists-all" result="pass"/><test-case name="functx-fn-false-1" result="pass"/><test-case name="functx-fn-floor-1" result="pass"/><test-case name="functx-fn-floor-2" result="pass"/><test-case name="functx-fn-floor-3" result="pass"/><test-case name="functx-fn-floor-4" result="pass"/><test-case name="functx-fn-floor-5" result="pass"/><test-case name="functx-fn-floor-6" result="pass"/><test-case name="functx-fn-floor-all" result="pass"/><test-case name="functx-fn-hours-from-dateTime-1" result="pass"/><test-case name="functx-fn-hours-from-dateTime-2" result="pass"/><test-case name="functx-fn-hours-from-dateTime-all" result="pass"/><test-case name="functx-fn-hours-from-duration-1" result="pass"/><test-case name="functx-fn-hours-from-duration-2" result="pass"/><test-case name="functx-fn-hours-from-duration-3" result="pass"/><test-case name="functx-fn-hours-from-duration-4" result="pass"/><test-case name="functx-fn-hours-from-duration-5" result="pass"/><test-case name="functx-fn-hours-from-duration-all" result="pass"/><test-case name="functx-fn-hours-from-time-1" result="pass"/><test-case name="functx-fn-hours-from-time-2" result="pass"/><test-case name="functx-fn-hours-from-time-all" result="pass"/><test-case name="functx-fn-index-of-1" result="pass"/><test-case name="functx-fn-index-of-2" result="pass"/><test-case name="functx-fn-index-of-3" result="pass"/><test-case name="functx-fn-index-of-4" result="pass"/><test-case name="functx-fn-index-of-5" result="pass"/><test-case name="functx-fn-index-of-6" result="pass"/><test-case name="functx-fn-index-of-7" result="pass"/><test-case name="functx-fn-index-of-all" result="pass"/><test-case name="functx-fn-insert-before-1" result="pass"/><test-case name="functx-fn-insert-before-2" result="pass"/><test-case name="functx-fn-insert-before-3" result="pass"/><test-case name="functx-fn-insert-before-4" result="pass"/><test-case name="functx-fn-insert-before-5" result="pass"/><test-case name="functx-fn-insert-before-6" result="pass"/><test-case name="functx-fn-insert-before-all" result="pass"/><test-case name="functx-fn-iri-to-uri-1" result="pass"/><test-case name="functx-fn-lang-1" result="pass"/><test-case name="functx-fn-lang-2" result="pass"/><test-case name="functx-fn-lang-3" result="pass"/><test-case name="functx-fn-lang-4" result="pass"/><test-case name="functx-fn-lang-5" result="pass"/><test-case name="functx-fn-lang-6" result="pass"/><test-case name="functx-fn-lang-all" result="pass"/><test-case name="functx-fn-last-1" result="pass"/><test-case name="functx-fn-local-name-from-QName-1" result="pass"/><test-case name="functx-fn-local-name-from-QName-2" result="pass"/><test-case name="functx-fn-local-name-from-QName-3" result="pass"/><test-case name="functx-fn-local-name-from-QName-all" result="pass"/><test-case name="functx-fn-local-name-1" result="pass"/><test-case name="functx-fn-local-name-2" result="pass"/><test-case name="functx-fn-local-name-3" result="pass"/><test-case name="functx-fn-local-name-4" result="pass"/><test-case name="functx-fn-local-name-5" result="pass"/><test-case name="functx-fn-local-name-all" result="pass"/><test-case name="functx-fn-lower-case-1" result="pass"/><test-case name="functx-fn-lower-case-2" result="pass"/><test-case name="functx-fn-lower-case-3" result="pass"/><test-case name="functx-fn-lower-case-all" result="pass"/><test-case name="functx-fn-matches-1" result="pass"/><test-case name="functx-fn-matches-2" result="pass"/><test-case name="functx-fn-matches-3" result="pass"/><test-case name="functx-fn-matches-4" result="pass"/><test-case name="functx-fn-matches-5" result="pass"/><test-case name="functx-fn-matches-6" result="pass"/><test-case name="functx-fn-matches-7" result="pass"/><test-case name="functx-fn-matches-8" result="pass"/><test-case name="functx-fn-matches-9" result="fail"/><test-case name="functx-fn-matches-10" result="pass"/><test-case name="functx-fn-matches-11" result="pass"/><test-case name="functx-fn-matches-12" result="fail"/><test-case name="functx-fn-matches-13" result="pass"/><test-case name="functx-fn-matches-14" result="pass"/><test-case name="functx-fn-matches-15" result="pass"/><test-case name="functx-fn-matches-16" result="fail"/><test-case name="functx-fn-matches-17" result="fail"/><test-case name="functx-fn-matches-18" result="fail"/><test-case name="functx-fn-matches-all" result="fail"/><test-case name="functx-fn-max-1" result="pass"/><test-case name="functx-fn-max-2" result="pass"/><test-case name="functx-fn-max-3" result="pass"/><test-case name="functx-fn-max-4" result="pass"/><test-case name="functx-fn-max-all" result="pass"/><test-case name="functx-fn-minutes-from-dateTime-1" result="pass"/><test-case name="functx-fn-minutes-from-duration-1" result="pass"/><test-case name="functx-fn-minutes-from-duration-2" result="pass"/><test-case name="functx-fn-minutes-from-duration-3" result="pass"/><test-case name="functx-fn-minutes-from-duration-4" result="pass"/><test-case name="functx-fn-minutes-from-duration-5" result="pass"/><test-case name="functx-fn-minutes-from-duration-all" result="pass"/><test-case name="functx-fn-minutes-from-time-1" result="pass"/><test-case name="functx-fn-min-1" result="pass"/><test-case name="functx-fn-min-2" result="pass"/><test-case name="functx-fn-min-3" result="pass"/><test-case name="functx-fn-min-4" result="pass"/><test-case name="functx-fn-min-all" result="pass"/><test-case name="functx-fn-month-from-dateTime-1" result="pass"/><test-case name="functx-fn-month-from-date-1" result="pass"/><test-case name="functx-fn-months-from-duration-1" result="pass"/><test-case name="functx-fn-months-from-duration-2" result="pass"/><test-case name="functx-fn-months-from-duration-3" result="pass"/><test-case name="functx-fn-months-from-duration-4" result="pass"/><test-case name="functx-fn-months-from-duration-all" result="pass"/><test-case name="functx-fn-namespace-uri-for-prefix-1" result="pass"/><test-case name="functx-fn-namespace-uri-for-prefix-2" result="pass"/><test-case name="functx-fn-namespace-uri-for-prefix-3" result="pass"/><test-case name="functx-fn-namespace-uri-for-prefix-4" result="pass"/><test-case name="functx-fn-namespace-uri-for-prefix-all" result="pass"/><test-case name="functx-fn-namespace-uri-from-QName-1" result="pass"/><test-case name="functx-fn-namespace-uri-from-QName-2" result="pass"/><test-case name="functx-fn-namespace-uri-from-QName-3" result="pass"/><test-case name="functx-fn-namespace-uri-from-QName-all" result="pass"/><test-case name="functx-fn-namespace-uri-1" result="pass"/><test-case name="functx-fn-namespace-uri-2" result="pass"/><test-case name="functx-fn-namespace-uri-3" result="pass"/><test-case name="functx-fn-namespace-uri-4" result="pass"/><test-case name="functx-fn-namespace-uri-5" result="pass"/><test-case name="functx-fn-namespace-uri-all" result="pass"/><test-case name="functx-fn-name-1" result="pass"/><test-case name="functx-fn-name-2" result="pass"/><test-case name="functx-fn-name-3" result="pass"/><test-case name="functx-fn-name-4" result="pass"/><test-case name="functx-fn-name-5" result="pass"/><test-case name="functx-fn-name-all" result="pass"/><test-case name="functx-fn-nilled-1" result="pass"/><test-case name="functx-fn-nilled-2" result="pass"/><test-case name="functx-fn-nilled-3" result="pass"/><test-case name="functx-fn-nilled-4" result="pass"/><test-case name="functx-fn-nilled-all" result="pass"/><test-case name="functx-fn-node-name-1" result="pass"/><test-case name="functx-fn-node-name-2" result="pass"/><test-case name="functx-fn-node-name-3" result="pass"/><test-case name="functx-fn-node-name-4" result="pass"/><test-case name="functx-fn-node-name-5" result="pass"/><test-case name="functx-fn-node-name-all" result="pass"/><test-case name="functx-fn-normalize-space-1" result="pass"/><test-case name="functx-fn-normalize-space-2" result="pass"/><test-case name="functx-fn-normalize-space-3" result="pass"/><test-case name="functx-fn-normalize-space-4" result="pass"/><test-case name="functx-fn-normalize-space-5" result="pass"/><test-case name="functx-fn-normalize-space-6" result="pass"/><test-case name="functx-fn-normalize-space-7" result="pass"/><test-case name="functx-fn-normalize-space-8" result="pass"/><test-case name="functx-fn-normalize-space-9" result="pass"/><test-case name="functx-fn-normalize-space-all" result="pass"/><test-case name="functx-fn-normalize-unicode-1" result="pass"/><test-case name="functx-fn-normalize-unicode-2" result="pass"/><test-case name="functx-fn-normalize-unicode-all" result="pass"/><test-case name="functx-fn-not-1" result="pass"/><test-case name="functx-fn-not-2" result="pass"/><test-case name="functx-fn-not-3" result="pass"/><test-case name="functx-fn-not-4" result="pass"/><test-case name="functx-fn-not-5" result="pass"/><test-case name="functx-fn-not-6" result="pass"/><test-case name="functx-fn-not-7" result="pass"/><test-case name="functx-fn-not-all" result="pass"/><test-case name="functx-fn-number-1" result="pass"/><test-case name="functx-fn-number-2" result="pass"/><test-case name="functx-fn-number-3" result="pass"/><test-case name="functx-fn-number-4" result="pass"/><test-case name="functx-fn-number-5" result="pass"/><test-case name="functx-fn-number-6" result="pass"/><test-case name="functx-fn-number-all" result="pass"/><test-case name="functx-fn-one-or-more-1" result="pass"/><test-case name="functx-fn-one-or-more-2" result="pass"/><test-case name="functx-fn-one-or-more-all" result="pass"/><test-case name="functx-fn-position-1" result="pass"/><test-case name="functx-fn-position-2" result="pass"/><test-case name="functx-fn-position-3" result="pass"/><test-case name="functx-fn-position-all" result="pass"/><test-case name="functx-fn-prefix-from-QName-1" result="pass"/><test-case name="functx-fn-prefix-from-QName-2" result="pass"/><test-case name="functx-fn-prefix-from-QName-3" result="pass"/><test-case name="functx-fn-prefix-from-QName-4" result="pass"/><test-case name="functx-fn-prefix-from-QName-5" result="pass"/><test-case name="functx-fn-prefix-from-QName-6" result="pass"/><test-case name="functx-fn-prefix-from-QName-all" result="pass"/><test-case name="functx-fn-QName-1" result="pass"/><test-case name="functx-fn-QName-2" result="pass"/><test-case name="functx-fn-QName-3" result="pass"/><test-case name="functx-fn-QName-all" result="pass"/><test-case name="functx-fn-remove-1" result="pass"/><test-case name="functx-fn-remove-2" result="pass"/><test-case name="functx-fn-remove-3" result="pass"/><test-case name="functx-fn-remove-all" result="pass"/><test-case name="functx-fn-replace-1" result="pass"/><test-case name="functx-fn-replace-2" result="pass"/><test-case name="functx-fn-replace-3" result="pass"/><test-case name="functx-fn-replace-4" result="pass"/><test-case name="functx-fn-replace-5" result="pass"/><test-case name="functx-fn-replace-6" result="pass"/><test-case name="functx-fn-replace-7" result="pass"/><test-case name="functx-fn-replace-8" result="fail"/><test-case name="functx-fn-replace-9" result="pass"/><test-case name="functx-fn-replace-10" result="fail"/><test-case name="functx-fn-replace-11" result="pass"/><test-case name="functx-fn-replace-12" result="fail"/><test-case name="functx-fn-replace-13" result="pass"/><test-case name="functx-fn-replace-14" result="fail"/><test-case name="functx-fn-replace-15" result="pass"/><test-case name="functx-fn-replace-16" result="pass"/><test-case name="functx-fn-replace-17" result="pass"/><test-case name="functx-fn-replace-18" result="pass"/><test-case name="functx-fn-replace-19" result="fail"/><test-case name="functx-fn-replace-all" result="fail"/><test-case name="functx-fn-resolve-QName-1" result="pass"/><test-case name="functx-fn-resolve-QName-2" result="pass"/><test-case name="functx-fn-resolve-QName-3" result="pass"/><test-case name="functx-fn-resolve-QName-all" result="pass"/><test-case name="functx-fn-resolve-uri-1" result="pass"/><test-case name="functx-fn-resolve-uri-2" result="pass"/><test-case name="functx-fn-resolve-uri-3" result="pass"/><test-case name="functx-fn-resolve-uri-4" result="pass"/><test-case name="functx-fn-resolve-uri-5" result="pass"/><test-case name="functx-fn-resolve-uri-all" result="pass"/><test-case name="functx-fn-reverse-1" result="pass"/><test-case name="functx-fn-reverse-2" result="pass"/><test-case name="functx-fn-reverse-3" result="pass"/><test-case name="functx-fn-reverse-all" result="pass"/><test-case name="functx-fn-root-1" result="pass"/><test-case name="functx-fn-root-2" result="pass"/><test-case name="functx-fn-root-all" result="pass"/><test-case name="functx-fn-round-half-to-even-1" result="fail"/><test-case name="functx-fn-round-half-to-even-2" result="fail"/><test-case name="functx-fn-round-half-to-even-3" result="fail"/><test-case name="functx-fn-round-half-to-even-4" result="fail"/><test-case name="functx-fn-round-half-to-even-5" result="fail"/><test-case name="functx-fn-round-half-to-even-all" result="fail"/><test-case name="functx-fn-round-1" result="pass"/><test-case name="functx-fn-round-2" result="pass"/><test-case name="functx-fn-round-3" result="pass"/><test-case name="functx-fn-round-4" result="pass"/><test-case name="functx-fn-round-5" result="pass"/><test-case name="functx-fn-round-all" result="pass"/><test-case name="functx-fn-seconds-from-dateTime-1" result="pass"/><test-case name="functx-fn-seconds-from-duration-1" result="pass"/><test-case name="functx-fn-seconds-from-duration-2" result="pass"/><test-case name="functx-fn-seconds-from-duration-3" result="pass"/><test-case name="functx-fn-seconds-from-duration-4" result="pass"/><test-case name="functx-fn-seconds-from-duration-all" result="pass"/><test-case name="functx-fn-seconds-from-time-1" result="pass"/><test-case name="functx-fn-starts-with-1" result="pass"/><test-case name="functx-fn-starts-with-2" result="pass"/><test-case name="functx-fn-starts-with-3" result="pass"/><test-case name="functx-fn-starts-with-4" result="pass"/><test-case name="functx-fn-starts-with-5" result="pass"/><test-case name="functx-fn-starts-with-6" result="pass"/><test-case name="functx-fn-starts-with-7" result="pass"/><test-case name="functx-fn-starts-with-8" result="pass"/><test-case name="functx-fn-starts-with-all" result="pass"/><test-case name="functx-fn-string-join-1" result="pass"/><test-case name="functx-fn-string-join-2" result="pass"/><test-case name="functx-fn-string-join-3" result="pass"/><test-case name="functx-fn-string-join-4" result="pass"/><test-case name="functx-fn-string-join-5" result="pass"/><test-case name="functx-fn-string-join-all" result="pass"/><test-case name="functx-fn-string-length-1" result="pass"/><test-case name="functx-fn-string-length-2" result="pass"/><test-case name="functx-fn-string-length-3" result="pass"/><test-case name="functx-fn-string-length-4" result="pass"/><test-case name="functx-fn-string-length-5" result="pass"/><test-case name="functx-fn-string-length-6" result="pass"/><test-case name="functx-fn-string-length-all" result="pass"/><test-case name="functx-fn-string-to-codepoints-1" result="pass"/><test-case name="functx-fn-string-to-codepoints-2" result="pass"/><test-case name="functx-fn-string-to-codepoints-3" result="pass"/><test-case name="functx-fn-string-to-codepoints-all" result="fail"/><test-case name="functx-fn-string-1" result="pass"/><test-case name="functx-fn-string-2" result="pass"/><test-case name="functx-fn-string-3" result="pass"/><test-case name="functx-fn-string-all" result="pass"/><test-case name="functx-fn-subsequence-1" result="pass"/><test-case name="functx-fn-subsequence-2" result="pass"/><test-case name="functx-fn-subsequence-3" result="pass"/><test-case name="functx-fn-subsequence-4" result="pass"/><test-case name="functx-fn-subsequence-5" result="fail"/><test-case name="functx-fn-subsequence-6" result="pass"/><test-case name="functx-fn-subsequence-all" result="fail"/><test-case name="functx-fn-substring-after-1" result="pass"/><test-case name="functx-fn-substring-after-2" result="pass"/><test-case name="functx-fn-substring-after-3" result="pass"/><test-case name="functx-fn-substring-after-4" result="pass"/><test-case name="functx-fn-substring-after-5" result="pass"/><test-case name="functx-fn-substring-after-6" result="pass"/><test-case name="functx-fn-substring-after-all" result="pass"/><test-case name="functx-fn-substring-before-1" result="pass"/><test-case name="functx-fn-substring-before-2" result="pass"/><test-case name="functx-fn-substring-before-3" result="pass"/><test-case name="functx-fn-substring-before-4" result="pass"/><test-case name="functx-fn-substring-before-5" result="pass"/><test-case name="functx-fn-substring-before-6" result="pass"/><test-case name="functx-fn-substring-before-7" result="pass"/><test-case name="functx-fn-substring-before-all" result="pass"/><test-case name="functx-fn-substring-1" result="pass"/><test-case name="functx-fn-substring-2" result="pass"/><test-case name="functx-fn-substring-3" result="pass"/><test-case name="functx-fn-substring-4" result="pass"/><test-case name="functx-fn-substring-5" result="pass"/><test-case name="functx-fn-substring-6" result="pass"/><test-case name="functx-fn-substring-7" result="pass"/><test-case name="functx-fn-substring-8" result="pass"/><test-case name="functx-fn-substring-9" result="pass"/><test-case name="functx-fn-substring-10" result="pass"/><test-case name="functx-fn-substring-11" result="pass"/><test-case name="functx-fn-substring-all" result="pass"/><test-case name="functx-fn-sum-1" result="pass"/><test-case name="functx-fn-sum-2" result="pass"/><test-case name="functx-fn-sum-3" result="pass"/><test-case name="functx-fn-sum-4" result="pass"/><test-case name="functx-fn-sum-5" result="pass"/><test-case name="functx-fn-sum-6" result="pass"/><test-case name="functx-fn-sum-all" result="pass"/><test-case name="functx-fn-timezone-from-dateTime-1" result="pass"/><test-case name="functx-fn-timezone-from-dateTime-2" result="pass"/><test-case name="functx-fn-timezone-from-dateTime-all" result="pass"/><test-case name="functx-fn-timezone-from-date-1" result="pass"/><test-case name="functx-fn-timezone-from-date-2" result="pass"/><test-case name="functx-fn-timezone-from-date-all" result="pass"/><test-case name="functx-fn-timezone-from-time-1" result="pass"/><test-case name="functx-fn-timezone-from-time-2" result="pass"/><test-case name="functx-fn-timezone-from-time-3" result="pass"/><test-case name="functx-fn-timezone-from-time-4" result="pass"/><test-case name="functx-fn-timezone-from-time-all" result="pass"/><test-case name="functx-fn-tokenize-1" result="pass"/><test-case name="functx-fn-tokenize-2" result="pass"/><test-case name="functx-fn-tokenize-3" result="pass"/><test-case name="functx-fn-tokenize-4" result="pass"/><test-case name="functx-fn-tokenize-5" result="pass"/><test-case name="functx-fn-tokenize-6" result="pass"/><test-case name="functx-fn-tokenize-7" result="pass"/><test-case name="functx-fn-tokenize-8" result="pass"/><test-case name="functx-fn-tokenize-9" result="fail"/><test-case name="functx-fn-tokenize-10" result="pass"/><test-case name="functx-fn-tokenize-11" result="pass"/><test-case name="functx-fn-tokenize-12" result="fail"/><test-case name="functx-fn-tokenize-all" result="fail"/><test-case name="functx-fn-translate-1" result="pass"/><test-case name="functx-fn-translate-2" result="pass"/><test-case name="functx-fn-translate-3" result="pass"/><test-case name="functx-fn-translate-4" result="pass"/><test-case name="functx-fn-translate-5" result="pass"/><test-case name="functx-fn-translate-6" result="pass"/><test-case name="functx-fn-translate-7" result="pass"/><test-case name="functx-fn-translate-all" result="pass"/><test-case name="functx-fn-true-1" result="pass"/><test-case name="functx-fn-upper-case-1" result="pass"/><test-case name="functx-fn-upper-case-2" result="pass"/><test-case name="functx-fn-upper-case-3" result="pass"/><test-case name="functx-fn-upper-case-4" result="pass"/><test-case name="functx-fn-upper-case-all" result="pass"/><test-case name="functx-fn-year-from-dateTime-1" result="pass"/><test-case name="functx-fn-year-from-date-1" result="pass"/><test-case name="functx-fn-years-from-duration-1" result="pass"/><test-case name="functx-fn-years-from-duration-2" result="pass"/><test-case name="functx-fn-years-from-duration-3" result="pass"/><test-case name="functx-fn-years-from-duration-4" result="pass"/><test-case name="functx-fn-years-from-duration-5" result="pass"/><test-case name="functx-fn-years-from-duration-all" result="pass"/><test-case name="functx-fn-zero-or-one-1" result="pass"/><test-case name="functx-fn-zero-or-one-2" result="pass"/><test-case name="functx-fn-zero-or-one-all" result="pass"/><test-case name="functx-functx-add-attributes-1" result="pass"/><test-case name="functx-functx-add-attributes-2" result="pass"/><test-case name="functx-functx-add-attributes-3" result="pass"/><test-case name="functx-functx-add-attributes-4" result="pass"/><test-case name="functx-functx-add-attributes-5" result="pass"/><test-case name="functx-functx-add-attributes-all" result="pass"/><test-case name="functx-functx-add-months-1" result="fail"/><test-case name="functx-functx-add-months-2" result="fail"/><test-case name="functx-functx-add-months-3" result="fail"/><test-case name="functx-functx-add-months-all" result="fail"/><test-case name="functx-functx-add-or-update-attributes-1" result="pass"/><test-case name="functx-functx-add-or-update-attributes-2" result="pass"/><test-case name="functx-functx-add-or-update-attributes-3" result="pass"/><test-case name="functx-functx-add-or-update-attributes-4" result="pass"/><test-case name="functx-functx-add-or-update-attributes-5" result="pass"/><test-case name="functx-functx-add-or-update-attributes-all" result="pass"/><test-case name="functx-functx-all-whitespace-1" result="pass"/><test-case name="functx-functx-all-whitespace-2" result="pass"/><test-case name="functx-functx-all-whitespace-3" result="pass"/><test-case name="functx-functx-all-whitespace-4" result="pass"/><test-case name="functx-functx-all-whitespace-5" result="pass"/><test-case name="functx-functx-all-whitespace-6" result="pass"/><test-case name="functx-functx-all-whitespace-all" result="pass"/><test-case name="functx-functx-are-distinct-values-1" result="pass"/><test-case name="functx-functx-are-distinct-values-2" result="pass"/><test-case name="functx-functx-are-distinct-values-3" result="pass"/><test-case name="functx-functx-are-distinct-values-all" result="pass"/><test-case name="functx-functx-atomic-type-1" result="fail"/><test-case name="functx-functx-atomic-type-2" result="fail"/><test-case name="functx-functx-atomic-type-3" result="fail"/><test-case name="functx-functx-atomic-type-4" result="fail"/><test-case name="functx-functx-atomic-type-all" result="fail"/><test-case name="functx-functx-avg-empty-is-zero-1" result="pass"/><test-case name="functx-functx-between-exclusive-1" result="pass"/><test-case name="functx-functx-between-exclusive-2" result="pass"/><test-case name="functx-functx-between-exclusive-3" result="pass"/><test-case name="functx-functx-between-exclusive-4" result="pass"/><test-case name="functx-functx-between-exclusive-5" result="pass"/><test-case name="functx-functx-between-exclusive-all" result="pass"/><test-case name="functx-functx-between-inclusive-1" result="pass"/><test-case name="functx-functx-between-inclusive-2" result="pass"/><test-case name="functx-functx-between-inclusive-3" result="pass"/><test-case name="functx-functx-between-inclusive-4" result="pass"/><test-case name="functx-functx-between-inclusive-5" result="pass"/><test-case name="functx-functx-between-inclusive-all" result="pass"/><test-case name="functx-functx-camel-case-to-words-1" result="pass"/><test-case name="functx-functx-camel-case-to-words-2" result="pass"/><test-case name="functx-functx-camel-case-to-words-all" result="pass"/><test-case name="functx-functx-capitalize-first-1" result="pass"/><test-case name="functx-functx-capitalize-first-2" result="pass"/><test-case name="functx-functx-capitalize-first-3" result="pass"/><test-case name="functx-functx-capitalize-first-all" result="pass"/><test-case name="functx-functx-change-element-names-deep-1" result="fail"/><test-case name="functx-functx-change-element-names-deep-2" result="fail"/><test-case name="functx-functx-change-element-names-deep-3" result="fail"/><test-case name="functx-functx-change-element-names-deep-all" result="fail"/><test-case name="functx-functx-change-element-ns-deep-1" result="pass"/><test-case name="functx-functx-change-element-ns-deep-2" result="pass"/><test-case name="functx-functx-change-element-ns-deep-all" result="pass"/><test-case name="functx-functx-change-element-ns-1" result="fail"/><test-case name="functx-functx-change-element-ns-2" result="pass"/><test-case name="functx-functx-change-element-ns-all" result="fail"/><test-case name="functx-functx-chars-1" result="pass"/><test-case name="functx-functx-chars-2" result="pass"/><test-case name="functx-functx-chars-all" result="pass"/><test-case name="functx-functx-contains-any-of-1" result="pass"/><test-case name="functx-functx-contains-any-of-2" result="pass"/><test-case name="functx-functx-contains-any-of-all" result="pass"/><test-case name="functx-functx-contains-case-insensitive-1" result="pass"/><test-case name="functx-functx-contains-case-insensitive-2" result="fail"/><test-case name="functx-functx-contains-case-insensitive-all" result="fail"/><test-case name="functx-functx-contains-word-1" result="pass"/><test-case name="functx-functx-contains-word-2" result="pass"/><test-case name="functx-functx-contains-word-3" result="pass"/><test-case name="functx-functx-contains-word-4" result="pass"/><test-case name="functx-functx-contains-word-5" result="pass"/><test-case name="functx-functx-contains-word-all" result="pass"/><test-case name="functx-functx-copy-attributes-1" result="pass"/><test-case name="functx-functx-copy-attributes-2" result="pass"/><test-case name="functx-functx-copy-attributes-3" result="pass"/><test-case name="functx-functx-copy-attributes-all" result="pass"/><test-case name="functx-functx-dateTime-1" result="pass"/><test-case name="functx-functx-dateTime-2" result="pass"/><test-case name="functx-functx-dateTime-all" result="pass"/><test-case name="functx-functx-date-1" result="pass"/><test-case name="functx-functx-date-2" result="pass"/><test-case name="functx-functx-date-all" result="pass"/><test-case name="functx-functx-day-in-year-1" result="pass"/><test-case name="functx-functx-day-in-year-2" result="pass"/><test-case name="functx-functx-day-in-year-3" result="pass"/><test-case name="functx-functx-day-in-year-all" result="pass"/><test-case name="functx-functx-day-of-week-abbrev-en-1" result="fail"/><test-case name="functx-functx-day-of-week-abbrev-en-2" result="fail"/><test-case name="functx-functx-day-of-week-abbrev-en-all" result="fail"/><test-case name="functx-functx-day-of-week-name-en-1" result="fail"/><test-case name="functx-functx-day-of-week-name-en-2" result="fail"/><test-case name="functx-functx-day-of-week-name-en-all" result="fail"/><test-case name="functx-functx-day-of-week-1" result="fail"/><test-case name="functx-functx-day-of-week-2" result="fail"/><test-case name="functx-functx-day-of-week-3" result="fail"/><test-case name="functx-functx-day-of-week-all" result="fail"/><test-case name="functx-functx-days-in-month-1" result="pass"/><test-case name="functx-functx-days-in-month-2" result="pass"/><test-case name="functx-functx-days-in-month-3" result="pass"/><test-case name="functx-functx-days-in-month-all" result="pass"/><test-case name="functx-functx-dayTimeDuration-1" result="pass"/><test-case name="functx-functx-dayTimeDuration-2" result="pass"/><test-case name="functx-functx-dayTimeDuration-3" result="fail"/><test-case name="functx-functx-dayTimeDuration-4" result="pass"/><test-case name="functx-functx-dayTimeDuration-5" result="pass"/><test-case name="functx-functx-dayTimeDuration-all" result="fail"/><test-case name="functx-functx-ddmmyyyy-to-date-1" result="pass"/><test-case name="functx-functx-ddmmyyyy-to-date-2" result="pass"/><test-case name="functx-functx-ddmmyyyy-to-date-3" result="pass"/><test-case name="functx-functx-ddmmyyyy-to-date-all" result="pass"/><test-case name="functx-functx-depth-of-node-1" result="pass"/><test-case name="functx-functx-depth-of-node-2" result="pass"/><test-case name="functx-functx-depth-of-node-3" result="pass"/><test-case name="functx-functx-depth-of-node-all" result="pass"/><test-case name="functx-functx-distinct-attribute-names-1" result="pass"/><test-case name="functx-functx-distinct-deep-1" result="pass"/><test-case name="functx-functx-distinct-deep-2" result="pass"/><test-case name="functx-functx-distinct-deep-3" result="pass"/><test-case name="functx-functx-distinct-deep-all" result="pass"/><test-case name="functx-functx-distinct-element-names-1" result="pass"/><test-case name="functx-functx-distinct-element-names-2" result="pass"/><test-case name="functx-functx-distinct-element-names-all" result="pass"/><test-case name="functx-functx-distinct-element-paths-1" result="pass"/><test-case name="functx-functx-distinct-element-paths-2" result="pass"/><test-case name="functx-functx-distinct-element-paths-all" result="pass"/><test-case name="functx-functx-distinct-nodes-1" result="pass"/><test-case name="functx-functx-distinct-nodes-2" result="pass"/><test-case name="functx-functx-distinct-nodes-all" result="pass"/><test-case name="functx-functx-duration-from-timezone-1" result="pass"/><test-case name="functx-functx-duration-from-timezone-2" result="pass"/><test-case name="functx-functx-duration-from-timezone-3" result="pass"/><test-case name="functx-functx-duration-from-timezone-all" result="pass"/><test-case name="functx-functx-dynamic-path-1" result="fail"/><test-case name="functx-functx-dynamic-path-2" result="pass"/><test-case name="functx-functx-dynamic-path-3" result="pass"/><test-case name="functx-functx-dynamic-path-4" result="fail"/><test-case name="functx-functx-dynamic-path-all" result="fail"/><test-case name="functx-functx-escape-for-regex-1" result="pass"/><test-case name="functx-functx-escape-for-regex-2" result="pass"/><test-case name="functx-functx-escape-for-regex-all" result="pass"/><test-case name="functx-functx-exclusive-or-1" result="pass"/><test-case name="functx-functx-exclusive-or-2" result="pass"/><test-case name="functx-functx-exclusive-or-3" result="pass"/><test-case name="functx-functx-exclusive-or-all" result="pass"/><test-case name="functx-functx-first-day-of-month-1" result="pass"/><test-case name="functx-functx-first-day-of-month-2" result="pass"/><test-case name="functx-functx-first-day-of-month-3" result="pass"/><test-case name="functx-functx-first-day-of-month-all" result="pass"/><test-case name="functx-functx-first-day-of-year-1" result="pass"/><test-case name="functx-functx-first-day-of-year-2" result="pass"/><test-case name="functx-functx-first-day-of-year-3" result="pass"/><test-case name="functx-functx-first-day-of-year-all" result="pass"/><test-case name="functx-functx-first-node-1" result="pass"/><test-case name="functx-functx-first-node-2" result="pass"/><test-case name="functx-functx-first-node-all" result="pass"/><test-case name="functx-functx-follows-not-descendant-1" result="pass"/><test-case name="functx-functx-follows-not-descendant-2" result="pass"/><test-case name="functx-functx-follows-not-descendant-3" result="pass"/><test-case name="functx-functx-follows-not-descendant-all" result="pass"/><test-case name="functx-functx-format-as-title-en-1" result="fail"/><test-case name="functx-functx-fragment-from-uri-1" result="pass"/><test-case name="functx-functx-fragment-from-uri-2" result="pass"/><test-case name="functx-functx-fragment-from-uri-all" result="pass"/><test-case name="functx-functx-get-matches-and-non-matches-1" result="fail"/><test-case name="functx-functx-get-matches-and-non-matches-2" result="fail"/><test-case name="functx-functx-get-matches-and-non-matches-3" result="fail"/><test-case name="functx-functx-get-matches-and-non-matches-all" result="fail"/><test-case name="functx-functx-get-matches-1" result="fail"/><test-case name="functx-functx-get-matches-2" result="fail"/><test-case name="functx-functx-get-matches-3" result="fail"/><test-case name="functx-functx-get-matches-all" result="fail"/><test-case name="functx-functx-has-element-only-content-1" result="pass"/><test-case name="functx-functx-has-element-only-content-2" result="pass"/><test-case name="functx-functx-has-element-only-content-3" result="pass"/><test-case name="functx-functx-has-element-only-content-4" result="pass"/><test-case name="functx-functx-has-element-only-content-5" result="pass"/><test-case name="functx-functx-has-element-only-content-6" result="pass"/><test-case name="functx-functx-has-element-only-content-7" result="pass"/><test-case name="functx-functx-has-element-only-content-8" result="pass"/><test-case name="functx-functx-has-element-only-content-9" result="pass"/><test-case name="functx-functx-has-element-only-content-all" result="pass"/><test-case name="functx-functx-has-empty-content-1" result="pass"/><test-case name="functx-functx-has-empty-content-2" result="pass"/><test-case name="functx-functx-has-empty-content-3" result="pass"/><test-case name="functx-functx-has-empty-content-4" result="pass"/><test-case name="functx-functx-has-empty-content-5" result="pass"/><test-case name="functx-functx-has-empty-content-6" result="pass"/><test-case name="functx-functx-has-empty-content-7" result="pass"/><test-case name="functx-functx-has-empty-content-all" result="pass"/><test-case name="functx-functx-has-mixed-content-1" result="pass"/><test-case name="functx-functx-has-mixed-content-2" result="pass"/><test-case name="functx-functx-has-mixed-content-3" result="pass"/><test-case name="functx-functx-has-mixed-content-4" result="pass"/><test-case name="functx-functx-has-mixed-content-5" result="pass"/><test-case name="functx-functx-has-mixed-content-6" result="pass"/><test-case name="functx-functx-has-mixed-content-7" result="pass"/><test-case name="functx-functx-has-mixed-content-all" result="pass"/><test-case name="functx-functx-has-simple-content-1" result="pass"/><test-case name="functx-functx-has-simple-content-2" result="pass"/><test-case name="functx-functx-has-simple-content-3" result="pass"/><test-case name="functx-functx-has-simple-content-4" result="pass"/><test-case name="functx-functx-has-simple-content-5" result="pass"/><test-case name="functx-functx-has-simple-content-6" result="pass"/><test-case name="functx-functx-has-simple-content-all" result="pass"/><test-case name="functx-functx-id-from-element-1" result="fail"/><test-case name="functx-functx-id-untyped-1" result="pass"/><test-case name="functx-functx-id-untyped-2" result="pass"/><test-case name="functx-functx-id-untyped-3" result="pass"/><test-case name="functx-functx-id-untyped-all" result="pass"/><test-case name="functx-functx-if-absent-1" result="pass"/><test-case name="functx-functx-if-absent-2" result="pass"/><test-case name="functx-functx-if-absent-3" result="pass"/><test-case name="functx-functx-if-absent-all" result="pass"/><test-case name="functx-functx-if-empty-1" result="pass"/><test-case name="functx-functx-if-empty-2" result="pass"/><test-case name="functx-functx-if-empty-3" result="pass"/><test-case name="functx-functx-if-empty-4" result="pass"/><test-case name="functx-functx-if-empty-5" result="pass"/><test-case name="functx-functx-if-empty-6" result="pass"/><test-case name="functx-functx-if-empty-all" result="pass"/><test-case name="functx-functx-index-of-deep-equal-node-1" result="pass"/><test-case name="functx-functx-index-of-deep-equal-node-2" result="pass"/><test-case name="functx-functx-index-of-deep-equal-node-3" result="pass"/><test-case name="functx-functx-index-of-deep-equal-node-all" result="pass"/><test-case name="functx-functx-index-of-match-first-1" result="pass"/><test-case name="functx-functx-index-of-match-first-2" result="pass"/><test-case name="functx-functx-index-of-match-first-3" result="pass"/><test-case name="functx-functx-index-of-match-first-4" result="pass"/><test-case name="functx-functx-index-of-match-first-5" result="pass"/><test-case name="functx-functx-index-of-match-first-all" result="pass"/><test-case name="functx-functx-index-of-node-1" result="pass"/><test-case name="functx-functx-index-of-node-2" result="pass"/><test-case name="functx-functx-index-of-node-3" result="pass"/><test-case name="functx-functx-index-of-node-all" result="pass"/><test-case name="functx-functx-index-of-string-first-1" result="pass"/><test-case name="functx-functx-index-of-string-first-2" result="pass"/><test-case name="functx-functx-index-of-string-first-3" result="pass"/><test-case name="functx-functx-index-of-string-first-all" result="pass"/><test-case name="functx-functx-index-of-string-last-1" result="pass"/><test-case name="functx-functx-index-of-string-last-2" result="pass"/><test-case name="functx-functx-index-of-string-last-3" result="pass"/><test-case name="functx-functx-index-of-string-last-all" result="pass"/><test-case name="functx-functx-index-of-string-1" result="pass"/><test-case name="functx-functx-index-of-string-2" result="pass"/><test-case name="functx-functx-index-of-string-3" result="pass"/><test-case name="functx-functx-index-of-string-all" result="pass"/><test-case name="functx-functx-insert-string-1" result="pass"/><test-case name="functx-functx-insert-string-2" result="pass"/><test-case name="functx-functx-insert-string-3" result="pass"/><test-case name="functx-functx-insert-string-4" result="pass"/><test-case name="functx-functx-insert-string-all" result="pass"/><test-case name="functx-functx-is-absolute-uri-1" result="pass"/><test-case name="functx-functx-is-absolute-uri-2" result="pass"/><test-case name="functx-functx-is-absolute-uri-3" result="pass"/><test-case name="functx-functx-is-absolute-uri-4" result="pass"/><test-case name="functx-functx-is-absolute-uri-5" result="pass"/><test-case name="functx-functx-is-absolute-uri-all" result="pass"/><test-case name="functx-functx-is-ancestor-1" result="pass"/><test-case name="functx-functx-is-ancestor-2" result="pass"/><test-case name="functx-functx-is-ancestor-3" result="pass"/><test-case name="functx-functx-is-ancestor-4" result="pass"/><test-case name="functx-functx-is-ancestor-all" result="pass"/><test-case name="functx-functx-is-a-number-1" result="pass"/><test-case name="functx-functx-is-a-number-2" result="pass"/><test-case name="functx-functx-is-a-number-3" result="pass"/><test-case name="functx-functx-is-a-number-4" result="pass"/><test-case name="functx-functx-is-a-number-5" result="pass"/><test-case name="functx-functx-is-a-number-6" result="pass"/><test-case name="functx-functx-is-a-number-7" result="pass"/><test-case name="functx-functx-is-a-number-8" result="pass"/><test-case name="functx-functx-is-a-number-all" result="pass"/><test-case name="functx-functx-is-descendant-1" result="pass"/><test-case name="functx-functx-is-descendant-2" result="pass"/><test-case name="functx-functx-is-descendant-3" result="pass"/><test-case name="functx-functx-is-descendant-4" result="pass"/><test-case name="functx-functx-is-descendant-all" result="pass"/><test-case name="functx-functx-is-leap-year-1" result="pass"/><test-case name="functx-functx-is-leap-year-2" result="pass"/><test-case name="functx-functx-is-leap-year-3" result="pass"/><test-case name="functx-functx-is-leap-year-all" result="pass"/><test-case name="functx-functx-is-node-among-descendants-deep-equal-1" result="pass"/><test-case name="functx-functx-is-node-among-descendants-deep-equal-2" result="pass"/><test-case name="functx-functx-is-node-among-descendants-deep-equal-3" result="pass"/><test-case name="functx-functx-is-node-among-descendants-deep-equal-4" result="pass"/><test-case name="functx-functx-is-node-among-descendants-deep-equal-all" result="pass"/><test-case name="functx-functx-is-node-among-descendants-1" result="pass"/><test-case name="functx-functx-is-node-among-descendants-2" result="pass"/><test-case name="functx-functx-is-node-among-descendants-3" result="fail"/><test-case name="functx-functx-is-node-among-descendants-4" result="pass"/><test-case name="functx-functx-is-node-among-descendants-all" result="fail"/><test-case name="functx-functx-is-node-in-sequence-deep-equal-1" result="pass"/><test-case name="functx-functx-is-node-in-sequence-deep-equal-2" result="pass"/><test-case name="functx-functx-is-node-in-sequence-deep-equal-3" result="pass"/><test-case name="functx-functx-is-node-in-sequence-deep-equal-all" result="pass"/><test-case name="functx-functx-is-node-in-sequence-1" result="pass"/><test-case name="functx-functx-is-node-in-sequence-2" result="pass"/><test-case name="functx-functx-is-node-in-sequence-3" result="pass"/><test-case name="functx-functx-is-node-in-sequence-all" result="pass"/><test-case name="functx-functx-is-value-in-sequence-1" result="pass"/><test-case name="functx-functx-is-value-in-sequence-2" result="pass"/><test-case name="functx-functx-is-value-in-sequence-3" result="pass"/><test-case name="functx-functx-is-value-in-sequence-all" result="pass"/><test-case name="functx-functx-last-day-of-month-1" result="pass"/><test-case name="functx-functx-last-day-of-month-2" result="pass"/><test-case name="functx-functx-last-day-of-month-3" result="pass"/><test-case name="functx-functx-last-day-of-month-all" result="pass"/><test-case name="functx-functx-last-day-of-year-1" result="pass"/><test-case name="functx-functx-last-day-of-year-2" result="pass"/><test-case name="functx-functx-last-day-of-year-3" result="pass"/><test-case name="functx-functx-last-day-of-year-all" result="pass"/><test-case name="functx-functx-last-node-1" result="pass"/><test-case name="functx-functx-last-node-2" result="pass"/><test-case name="functx-functx-last-node-all" result="pass"/><test-case name="functx-functx-leaf-elements-1" result="pass"/><test-case name="functx-functx-leaf-elements-2" result="pass"/><test-case name="functx-functx-leaf-elements-all" result="pass"/><test-case name="functx-functx-left-trim-1" result="pass"/><test-case name="functx-functx-left-trim-2" result="pass"/><test-case name="functx-functx-left-trim-3" result="pass"/><test-case name="functx-functx-left-trim-all" result="pass"/><test-case name="functx-functx-line-count-1" result="pass"/><test-case name="functx-functx-line-count-2" result="pass"/><test-case name="functx-functx-line-count-all" result="pass"/><test-case name="functx-functx-lines-1" result="pass"/><test-case name="functx-functx-lines-2" result="pass"/><test-case name="functx-functx-lines-all" result="pass"/><test-case name="functx-functx-max-depth-1" result="pass"/><test-case name="functx-functx-max-depth-2" result="pass"/><test-case name="functx-functx-max-depth-all" result="pass"/><test-case name="functx-functx-max-determine-type-1" result="pass"/><test-case name="functx-functx-max-determine-type-2" result="pass"/><test-case name="functx-functx-max-determine-type-3" result="pass"/><test-case name="functx-functx-max-determine-type-all" result="pass"/><test-case name="functx-functx-max-line-length-1" result="pass"/><test-case name="functx-functx-max-line-length-2" result="pass"/><test-case name="functx-functx-max-line-length-all" result="pass"/><test-case name="functx-functx-max-node-1" result="fail"/><test-case name="functx-functx-max-string-1" result="pass"/><test-case name="functx-functx-max-string-2" result="pass"/><test-case name="functx-functx-max-string-all" result="pass"/><test-case name="functx-functx-min-determine-type-1" result="pass"/><test-case name="functx-functx-min-determine-type-2" result="pass"/><test-case name="functx-functx-min-determine-type-3" result="pass"/><test-case name="functx-functx-min-determine-type-all" result="pass"/><test-case name="functx-functx-min-node-1" result="pass"/><test-case name="functx-functx-min-non-empty-string-1" result="pass"/><test-case name="functx-functx-min-string-1" result="pass"/><test-case name="functx-functx-min-string-2" result="pass"/><test-case name="functx-functx-min-string-all" result="pass"/><test-case name="functx-functx-mmddyyyy-to-date-1" result="pass"/><test-case name="functx-functx-mmddyyyy-to-date-2" result="pass"/><test-case name="functx-functx-mmddyyyy-to-date-3" result="pass"/><test-case name="functx-functx-mmddyyyy-to-date-all" result="pass"/><test-case name="functx-functx-month-abbrev-en-1" result="pass"/><test-case name="functx-functx-month-abbrev-en-2" result="pass"/><test-case name="functx-functx-month-abbrev-en-3" result="pass"/><test-case name="functx-functx-month-abbrev-en-all" result="pass"/><test-case name="functx-functx-month-name-en-1" result="pass"/><test-case name="functx-functx-month-name-en-2" result="pass"/><test-case name="functx-functx-month-name-en-3" result="pass"/><test-case name="functx-functx-month-name-en-all" result="pass"/><test-case name="functx-functx-namespaces-in-use-1" result="pass"/><test-case name="functx-functx-name-test-1" result="pass"/><test-case name="functx-functx-name-test-2" result="pass"/><test-case name="functx-functx-name-test-3" result="pass"/><test-case name="functx-functx-name-test-4" result="pass"/><test-case name="functx-functx-name-test-5" result="pass"/><test-case name="functx-functx-name-test-all" result="pass"/><test-case name="functx-functx-next-day-1" result="pass"/><test-case name="functx-functx-next-day-2" result="pass"/><test-case name="functx-functx-next-day-all" result="pass"/><test-case name="functx-functx-node-kind-1" result="pass"/><test-case name="functx-functx-node-kind-2" result="pass"/><test-case name="functx-functx-node-kind-3" result="pass"/><test-case name="functx-functx-node-kind-4" result="pass"/><test-case name="functx-functx-node-kind-5" result="pass"/><test-case name="functx-functx-node-kind-6" result="pass"/><test-case name="functx-functx-node-kind-all" result="pass"/><test-case name="functx-functx-non-distinct-values-1" result="pass"/><test-case name="functx-functx-non-distinct-values-2" result="fail"/><test-case name="functx-functx-non-distinct-values-3" result="pass"/><test-case name="functx-functx-non-distinct-values-all" result="fail"/><test-case name="functx-functx-number-of-matches-1" result="pass"/><test-case name="functx-functx-number-of-matches-2" result="fail"/><test-case name="functx-functx-number-of-matches-3" result="fail"/><test-case name="functx-functx-number-of-matches-all" result="fail"/><test-case name="functx-functx-ordinal-number-en-1" result="pass"/><test-case name="functx-functx-ordinal-number-en-2" result="pass"/><test-case name="functx-functx-ordinal-number-en-all" result="pass"/><test-case name="functx-functx-pad-integer-to-length-1" result="pass"/><test-case name="functx-functx-pad-integer-to-length-2" result="pass"/><test-case name="functx-functx-pad-integer-to-length-3" result="pass"/><test-case name="functx-functx-pad-integer-to-length-all" result="pass"/><test-case name="functx-functx-pad-string-to-length-1" result="pass"/><test-case name="functx-functx-pad-string-to-length-2" result="pass"/><test-case name="functx-functx-pad-string-to-length-3" result="pass"/><test-case name="functx-functx-pad-string-to-length-all" result="pass"/><test-case name="functx-functx-path-to-node-with-pos-1" result="pass"/><test-case name="functx-functx-path-to-node-with-pos-2" result="pass"/><test-case name="functx-functx-path-to-node-with-pos-all" result="pass"/><test-case name="functx-functx-path-to-node-1" result="pass"/><test-case name="functx-functx-path-to-node-2" result="pass"/><test-case name="functx-functx-path-to-node-all" result="pass"/><test-case name="functx-functx-precedes-not-ancestor-1" result="pass"/><test-case name="functx-functx-precedes-not-ancestor-2" result="pass"/><test-case name="functx-functx-precedes-not-ancestor-3" result="pass"/><test-case name="functx-functx-precedes-not-ancestor-all" result="pass"/><test-case name="functx-functx-previous-day-1" result="pass"/><test-case name="functx-functx-previous-day-2" result="pass"/><test-case name="functx-functx-previous-day-all" result="pass"/><test-case name="functx-functx-remove-attributes-deep-1" result="pass"/><test-case name="functx-functx-remove-attributes-deep-2" result="fail"/><test-case name="functx-functx-remove-attributes-deep-3" result="fail"/><test-case name="functx-functx-remove-attributes-deep-all" result="fail"/><test-case name="functx-functx-remove-attributes-1" result="pass"/><test-case name="functx-functx-remove-attributes-2" result="fail"/><test-case name="functx-functx-remove-attributes-3" result="pass"/><test-case name="functx-functx-remove-attributes-4" result="fail"/><test-case name="functx-functx-remove-attributes-all" result="fail"/><test-case name="functx-functx-remove-elements-deep-1" result="pass"/><test-case name="functx-functx-remove-elements-deep-2" result="pass"/><test-case name="functx-functx-remove-elements-deep-3" result="pass"/><test-case name="functx-functx-remove-elements-deep-4" result="pass"/><test-case name="functx-functx-remove-elements-deep-all" result="pass"/><test-case name="functx-functx-remove-elements-not-contents-1" result="pass"/><test-case name="functx-functx-remove-elements-not-contents-2" result="pass"/><test-case name="functx-functx-remove-elements-not-contents-3" result="pass"/><test-case name="functx-functx-remove-elements-not-contents-4" result="pass"/><test-case name="functx-functx-remove-elements-not-contents-all" result="pass"/><test-case name="functx-functx-remove-elements-1" result="fail"/><test-case name="functx-functx-remove-elements-2" result="fail"/><test-case name="functx-functx-remove-elements-3" result="fail"/><test-case name="functx-functx-remove-elements-all" result="fail"/><test-case name="functx-functx-repeat-string-1" result="pass"/><test-case name="functx-functx-repeat-string-2" result="pass"/><test-case name="functx-functx-repeat-string-all" result="pass"/><test-case name="functx-functx-replace-beginning-1" result="fail"/><test-case name="functx-functx-replace-beginning-2" result="fail"/><test-case name="functx-functx-replace-beginning-3" result="fail"/><test-case name="functx-functx-replace-beginning-4" result="fail"/><test-case name="functx-functx-replace-beginning-all" result="fail"/><test-case name="functx-functx-replace-element-values-1" result="pass"/><test-case name="functx-functx-replace-element-values-2" result="pass"/><test-case name="functx-functx-replace-element-values-all" result="pass"/><test-case name="functx-functx-replace-first-1" result="fail"/><test-case name="functx-functx-replace-first-2" result="fail"/><test-case name="functx-functx-replace-first-3" result="fail"/><test-case name="functx-functx-replace-first-4" result="fail"/><test-case name="functx-functx-replace-first-5" result="fail"/><test-case name="functx-functx-replace-first-all" result="fail"/><test-case name="functx-functx-replace-multi-1" result="pass"/><test-case name="functx-functx-reverse-string-1" result="pass"/><test-case name="functx-functx-reverse-string-2" result="pass"/><test-case name="functx-functx-reverse-string-all" result="pass"/><test-case name="functx-functx-right-trim-1" result="pass"/><test-case name="functx-functx-right-trim-2" result="pass"/><test-case name="functx-functx-right-trim-3" result="pass"/><test-case name="functx-functx-right-trim-all" result="pass"/><test-case name="functx-functx-scheme-from-uri-1" result="pass"/><test-case name="functx-functx-scheme-from-uri-2" result="pass"/><test-case name="functx-functx-scheme-from-uri-3" result="pass"/><test-case name="functx-functx-scheme-from-uri-4" result="pass"/><test-case name="functx-functx-scheme-from-uri-5" result="pass"/><test-case name="functx-functx-scheme-from-uri-all" result="pass"/><test-case name="functx-functx-sequence-deep-equal-1" result="pass"/><test-case name="functx-functx-sequence-deep-equal-2" result="pass"/><test-case name="functx-functx-sequence-deep-equal-3" result="pass"/><test-case name="functx-functx-sequence-deep-equal-all" result="pass"/><test-case name="functx-functx-sequence-node-equal-any-order-1" result="pass"/><test-case name="functx-functx-sequence-node-equal-any-order-2" result="pass"/><test-case name="functx-functx-sequence-node-equal-any-order-3" result="pass"/><test-case name="functx-functx-sequence-node-equal-any-order-all" result="pass"/><test-case name="functx-functx-sequence-node-equal-1" result="pass"/><test-case name="functx-functx-sequence-node-equal-2" result="pass"/><test-case name="functx-functx-sequence-node-equal-3" result="pass"/><test-case name="functx-functx-sequence-node-equal-all" result="pass"/><test-case name="functx-functx-sequence-type-1" result="fail"/><test-case name="functx-functx-sequence-type-2" result="fail"/><test-case name="functx-functx-sequence-type-3" result="fail"/><test-case name="functx-functx-sequence-type-4" result="fail"/><test-case name="functx-functx-sequence-type-5" result="fail"/><test-case name="functx-functx-sequence-type-6" result="fail"/><test-case name="functx-functx-sequence-type-7" result="fail"/><test-case name="functx-functx-sequence-type-8" result="fail"/><test-case name="functx-functx-sequence-type-9" result="fail"/><test-case name="functx-functx-sequence-type-10" result="fail"/><test-case name="functx-functx-sequence-type-11" result="fail"/><test-case name="functx-functx-sequence-type-all" result="fail"/><test-case name="functx-functx-siblings-same-name-1" result="pass"/><test-case name="functx-functx-siblings-same-name-2" result="pass"/><test-case name="functx-functx-siblings-same-name-all" result="pass"/><test-case name="functx-functx-siblings-1" result="pass"/><test-case name="functx-functx-siblings-2" result="pass"/><test-case name="functx-functx-siblings-all" result="pass"/><test-case name="functx-functx-sort-as-numeric-1" result="pass"/><test-case name="functx-functx-sort-as-numeric-2" result="pass"/><test-case name="functx-functx-sort-as-numeric-all" result="pass"/><test-case name="functx-functx-sort-case-insensitive-1" result="pass"/><test-case name="functx-functx-sort-case-insensitive-2" result="pass"/><test-case name="functx-functx-sort-case-insensitive-all" result="pass"/><test-case name="functx-functx-sort-document-order-1" result="pass"/><test-case name="functx-functx-sort-1" result="pass"/><test-case name="functx-functx-sort-2" result="pass"/><test-case name="functx-functx-sort-all" result="pass"/><test-case name="functx-functx-substring-after-if-contains-1" result="pass"/><test-case name="functx-functx-substring-after-if-contains-2" result="pass"/><test-case name="functx-functx-substring-after-if-contains-all" result="pass"/><test-case name="functx-functx-substring-after-last-match-1" result="pass"/><test-case name="functx-functx-substring-after-last-match-2" result="pass"/><test-case name="functx-functx-substring-after-last-match-3" result="pass"/><test-case name="functx-functx-substring-after-last-match-all" result="pass"/><test-case name="functx-functx-substring-after-last-1" result="pass"/><test-case name="functx-functx-substring-after-last-2" result="pass"/><test-case name="functx-functx-substring-after-last-3" result="pass"/><test-case name="functx-functx-substring-after-last-all" result="pass"/><test-case name="functx-functx-substring-after-match-1" result="fail"/><test-case name="functx-functx-substring-after-match-2" result="fail"/><test-case name="functx-functx-substring-after-match-3" result="fail"/><test-case name="functx-functx-substring-after-match-all" result="fail"/><test-case name="functx-functx-substring-before-if-contains-1" result="pass"/><test-case name="functx-functx-substring-before-if-contains-2" result="pass"/><test-case name="functx-functx-substring-before-if-contains-all" result="pass"/><test-case name="functx-functx-substring-before-last-match-1" result="pass"/><test-case name="functx-functx-substring-before-last-match-2" result="pass"/><test-case name="functx-functx-substring-before-last-match-3" result="pass"/><test-case name="functx-functx-substring-before-last-match-all" result="pass"/><test-case name="functx-functx-substring-before-last-1" result="pass"/><test-case name="functx-functx-substring-before-last-2" result="pass"/><test-case name="functx-functx-substring-before-last-3" result="pass"/><test-case name="functx-functx-substring-before-last-all" result="pass"/><test-case name="functx-functx-substring-before-match-1" result="pass"/><test-case name="functx-functx-substring-before-match-2" result="pass"/><test-case name="functx-functx-substring-before-match-3" result="pass"/><test-case name="functx-functx-substring-before-match-all" result="pass"/><test-case name="functx-functx-time-1" result="pass"/><test-case name="functx-functx-time-2" result="pass"/><test-case name="functx-functx-time-all" result="pass"/><test-case name="functx-functx-timezone-from-duration-1" result="pass"/><test-case name="functx-functx-timezone-from-duration-2" result="pass"/><test-case name="functx-functx-timezone-from-duration-3" result="pass"/><test-case name="functx-functx-timezone-from-duration-all" result="pass"/><test-case name="functx-functx-total-days-from-duration-1" result="pass"/><test-case name="functx-functx-total-days-from-duration-2" result="pass"/><test-case name="functx-functx-total-days-from-duration-3" result="pass"/><test-case name="functx-functx-total-days-from-duration-4" result="pass"/><test-case name="functx-functx-total-days-from-duration-all" result="pass"/><test-case name="functx-functx-total-hours-from-duration-1" result="pass"/><test-case name="functx-functx-total-hours-from-duration-2" result="pass"/><test-case name="functx-functx-total-hours-from-duration-3" result="pass"/><test-case name="functx-functx-total-hours-from-duration-4" result="pass"/><test-case name="functx-functx-total-hours-from-duration-5" result="pass"/><test-case name="functx-functx-total-hours-from-duration-all" result="pass"/><test-case name="functx-functx-total-minutes-from-duration-1" result="pass"/><test-case name="functx-functx-total-minutes-from-duration-2" result="pass"/><test-case name="functx-functx-total-minutes-from-duration-3" result="pass"/><test-case name="functx-functx-total-minutes-from-duration-4" result="pass"/><test-case name="functx-functx-total-minutes-from-duration-all" result="pass"/><test-case name="functx-functx-total-months-from-duration-1" result="pass"/><test-case name="functx-functx-total-months-from-duration-2" result="pass"/><test-case name="functx-functx-total-months-from-duration-3" result="pass"/><test-case name="functx-functx-total-months-from-duration-all" result="pass"/><test-case name="functx-functx-total-seconds-from-duration-1" result="pass"/><test-case name="functx-functx-total-seconds-from-duration-2" result="pass"/><test-case name="functx-functx-total-seconds-from-duration-3" result="pass"/><test-case name="functx-functx-total-seconds-from-duration-4" result="pass"/><test-case name="functx-functx-total-seconds-from-duration-all" result="pass"/><test-case name="functx-functx-total-years-from-duration-1" result="pass"/><test-case name="functx-functx-total-years-from-duration-2" result="pass"/><test-case name="functx-functx-total-years-from-duration-3" result="pass"/><test-case name="functx-functx-total-years-from-duration-all" result="pass"/><test-case name="functx-functx-trim-1" result="pass"/><test-case name="functx-functx-trim-2" result="pass"/><test-case name="functx-functx-trim-3" result="pass"/><test-case name="functx-functx-trim-all" result="pass"/><test-case name="functx-functx-update-attributes-1" result="pass"/><test-case name="functx-functx-update-attributes-2" result="pass"/><test-case name="functx-functx-update-attributes-3" result="pass"/><test-case name="functx-functx-update-attributes-4" result="pass"/><test-case name="functx-functx-update-attributes-all" result="pass"/><test-case name="functx-functx-value-except-1" result="pass"/><test-case name="functx-functx-value-except-2" result="pass"/><test-case name="functx-functx-value-except-3" result="pass"/><test-case name="functx-functx-value-except-4" result="pass"/><test-case name="functx-functx-value-except-all" result="pass"/><test-case name="functx-functx-value-intersect-1" result="pass"/><test-case name="functx-functx-value-intersect-2" result="pass"/><test-case name="functx-functx-value-intersect-3" result="pass"/><test-case name="functx-functx-value-intersect-4" result="pass"/><test-case name="functx-functx-value-intersect-all" result="pass"/><test-case name="functx-functx-value-union-1" result="pass"/><test-case name="functx-functx-value-union-2" result="pass"/><test-case name="functx-functx-value-union-3" result="pass"/><test-case name="functx-functx-value-union-4" result="pass"/><test-case name="functx-functx-value-union-all" result="pass"/><test-case name="functx-functx-word-count-1" result="pass"/><test-case name="functx-functx-word-count-2" result="pass"/><test-case name="functx-functx-word-count-3" result="pass"/><test-case name="functx-functx-word-count-all" result="pass"/><test-case name="functx-functx-words-to-camel-case-1" result="pass"/><test-case name="functx-functx-words-to-camel-case-2" result="pass"/><test-case name="functx-functx-words-to-camel-case-all" result="pass"/><test-case name="functx-functx-wrap-values-in-elements-1" result="pass"/><test-case name="functx-functx-wrap-values-in-elements-2" result="pass"/><test-case name="functx-functx-wrap-values-in-elements-3" result="pass"/><test-case name="functx-functx-wrap-values-in-elements-4" result="pass"/><test-case name="functx-functx-wrap-values-in-elements-all" result="pass"/><test-case name="functx-functx-yearMonthDuration-1" result="pass"/><test-case name="functx-functx-yearMonthDuration-2" result="pass"/><test-case name="functx-functx-yearMonthDuration-3" result="pass"/><test-case name="functx-functx-yearMonthDuration-4" result="pass"/><test-case name="functx-functx-yearMonthDuration-5" result="pass"/><test-case name="functx-functx-yearMonthDuration-6" result="pass"/><test-case name="functx-functx-yearMonthDuration-7" result="pass"/><test-case name="functx-functx-yearMonthDuration-all" result="pass"/><test-case name="functx-functx-yyyyddmm-to-date-1" result="pass"/><test-case name="functx-functx-yyyyddmm-to-date-2" result="pass"/><test-case name="functx-functx-yyyyddmm-to-date-3" result="pass"/><test-case name="functx-functx-yyyyddmm-to-date-all" result="pass"/><test-case name="functx-functx-yyyymmdd-to-date-1" result="pass"/><test-case name="functx-functx-yyyymmdd-to-date-2" result="pass"/><test-case name="functx-functx-yyyymmdd-to-date-3" result="pass"/><test-case name="functx-functx-yyyymmdd-to-date-all" result="pass"/><test-case name="Catalog001" result="pass"/><test-case name="Catalog002" result="pass"/><test-case name="Catalog003" result="pass"/></test-suite-result> \ No newline at end of file
diff --git a/tests/auto/xmlpatternsxqts/TODO b/tests/auto/xmlpatternsxqts/TODO
new file mode 100644
index 0000000..d25a6a3
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/TODO
@@ -0,0 +1,241 @@
+Various issues/ideas
+--------------------
+
+Regressions due to erratas:
+
+ K2-ComputeConAttr-42
+ K2-ComputeConAttr-43
+ K2-CopyNamespacesProlog-9
+ combiningnodeseqexcepthc5
+
+Public API:
+ - Have overloads for attribute() etc which take StringRefs?
+ - Test reusing the context and change bindings each time. Rebind the predefined namespace bindings fn, xs, xml, and use them again in a subsequent query.
+ - Check properties in the static & dynamic context, that they actually propagate through(and with changes). For instance, static base URI.
+ - Change StandardPrefixes/etc to be namespaces instead of classes.
+ - Test that prefixes doesn't affect name lookups.
+ - You need to decide on how `patternist' should treat non-wellformedness.
+ - Changefrom QList to QVector. Maybe add a toFooVector() to QAbstractForwardIterator, so we can use a custom vector class in the future.
+
+- Tons of tests are missing for serialization. Go through all the error codes, ERE0003 for instance.
+- Trigger toList in DeduplicateIterator.
+
+- Rewrite/test descendant-or-sel::node-type() (etc) from a node which isn't the node type. This can be rewritten to descendant::node-type()
+- Preceding/following axis selects always nothing from a root node.
+- No tests for ordering empty sequence when the decl. is not global. Also several sort keys.
+- Check PlainSharedPtr for thread safety. Switch to Qt's one.
+- Add weird scheme for doc-available/doc(). ftp, ssh, unknown scheme.
+- Forward/Reverse iterators on top level nodes with "siblings".
+- Let UserFunctionCallsite return DisableTypingDeduction instead of doing hackery in ExpressionSequence.
+- Add exceptions support explicitly to the pro files.
+- Maybe we can merge ArgumenentReference and ExpressionVariableReference?
+- ArgumenentReference does not implement evaluateToSequenceReceiver()
+- Let VariableReference store the whole VariableDeclaration instead
+- EvaluationCache.cpp:189: return m_operand->properties() & (DisableElimination | IsEvaluated | DisableTypingDeduction); should probably use
+ deepProperties(), no? Try to trigger it and fix it.
+- It turns out VariableDeclaration::ExternalVariable was actually needed. Currently we use an ExpressionReference to an External reference which is a double layer.
+- It seems that for each Literal, a new Literal is created in Expression::constantPropagate.
+- Trigger bug: newMe should be returned, not Expression::Ptr(this) in AndExpression.
+- Trigger all the paths in Expression::constantPropagate() for error reporting.
+- Type inference in K2-Axes-2 doesn't work very well. ItemVerifiers are inserted.
+- Write test of the public API that the static/dynamic context in one query compilation doesn't affect in another one.
+- Maybe "$foo, $foo" can be handled with a content receiver that doubles events, somehow?
+- If you use weird EOLs in namespace bindings in direct attrs, one get bugs, because attributeAsRaw() doesn't do EOL normalization.
+- Aren't we doing too aggressive caching in UserFunctionCallsite::setSource()?
+- 4763
+- We wrap the context item with an evaluation cache, because it's considered creative, probably. But is the cache really necessary? Huge slowdown..
+- If a type is declared as exactly one for an external variable, evaluateSequence() gets called anyway. A problem?
+- Search for use of QString::isSpace(), write tests, and check if it really is intentioonal to check for the separartor group, as opposed the dead old ASCII whitespace characters. fn:normalize-space() and fn:normalize-unicode() are characters.
+- Write test, xmlns.xml, for checking basic namespace handling. xmlns.xml contained:
+ <?xml version="1.0" encoding="UTF-8"?>
+ <anElement xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:space="preserve"/>
+- Pass SourceLocationReflection to Boolean::evaluateEBV()
+- Factor out the C++ code in createReportContext.xsl into a template
+- I'm afraid that setting/using the type of the context item is not thoroughly tested; LetClause.
+- Preallocate like a maniac in AccelTree
+- Write tests for 4621
+- In return tokenAndChangeState(t->token... is it really safe to deref t? Write tests..
+- Use all weird numeric literals chars in char refs and num literals to get rid of locale dependent parsing.
+- 1. Grep sources for trimmed(), simplified(), isSpace(), as well as home written versions(typeswitches over chars)
+ 2. Find out what the spec says regarding weird Unicode whitespace. For instance, hair space, U+200A (8202 decimal), THIN SPACE. Non breaking space is another case.
+ 3. Write tests triggering all current cases
+ 4. Make the tests pass
+- Write function decl that use all types(for parsing)
+- trigger if(m_pos == m_length)
+ return END_OF_FILE; in ignoreComment()
+
+- Use actual qnames("p:a") in all branches of for/let
+- Make Token's ctors explcit
+- Trigger the bugs the tokenizer have by using QChar::cell().
+- Add http://forums.oracle.com/forums/thread.jspa?messageID=1570246& to test cases.
+- Look at the TreeModelCompleter, and steal code to Patternist View.
+- Consider/test extracting EBV from a sorted, possibly mixed sequence.
+- Move FunctionCall to expr/
+- Can RequiresFocus and RequiresContextItem be merged?
+- Move janitors/* to expr/
+- Check that ItemSequenceCache is tested with StackContextBase
+- It is imperative to optimize x[last()]
+- Apply fn:count() to CachingIterator.
+- Test cache for booleans.
+- Write test that use all XML 1.0 characters.
+- Fixed: 4462 4460
+- Add test where AxisStep::evaluateSingleton() gets called with no initialized focus.
+- Attribute normalization.. <e attr=" "/>
+- Node::namespaceBindings() doesn't discuss uniqueness.
+- Move common.pri to src/..
+- Write tests for node test source in attribute foo.
+- Isn't end-of-line handling applied to text nodes in direct ctors? Yupp, it does. The whole freakin' query: A.2.3 End-of-Line Handling.
+- Write tests for cardinalities in let & for.
+- Write test for invalud anyURI in xmlns attr that is extr. with namespace-uri().
+- is nameToElements in AccelTree used/needed?
+- Overflow is not captured when going from abs(unsignedLong(largeNNN)) and between all the other aggregate functions. avg() as well..
+- Turn NamespaceResolver::Bindings into NamespaceBinding::Vector ffs.
+- Property IsNodeConstructor isn't used, right?
+- Write tests for things like function-available that depend on tricky namespace contexts. Especially the default element in the typeCheck stage().
+- Gather all functions that stores the namespace context, and ensure they get it right with element constructors, of all its kinds.
+- Add tests for where the local name is xmlns, in attrs.
+- Implement AxisStep::evaluateEBV()
+- One can reduce the three type/*NameTest classes to one probably, by passing in two template parameters: a mask(prefix, ns, zero), and the type
+ of the comparator(prefix, ns, ln) to store.
+- How are axis steps without tests handled?
+- Convert the NamespaceResolver to use the NamePool
+- Write tests for deep-equal() involving different trees. Spectacular things can happen there with the AccelTree...
+- Ask Andreas on file:/, file://, file:///
+- Secure up on brain damage in DelegateQDomNode.cpp#430.
+- Apply reverse() to all axes.
+- Dump all qHash(QUrl) functions when we have switched to Qt 4.3.
+- Rename retrieveFunctionSignature to retieveSignature() or just signature(). Same with functionSignatures().
+- Don't use toLexical() in Serializer. It triggers unnecessary heap allocations,
+- Replace SequenceReceiver::processingInstruction(QName) with QName::LocalNameCode.
+- Delete DoubledNodeTest
+- Replace allocateQName(QString() with StandardNamespaces::empty
+- TODO http://www.pms.ifi.lmu.de/forschung/xpath-eval.html
+- Write tests that test whitespace normalization in URI/namespace declarations.
+- Tests: use namespace-uri-for-prefix with prefix "xml" and supply a node( can const fold)
+- Add tests to resolve-uri() for invalid xs:anyURI values
+- Make sure that xml:base affects the static context. Or?
+- We need a systematic way to convert QUrl to xs:string instances. Same goes for static inline String::Ptr fromValue(const QUrl &value)
+- QUrl can't handle empty strings:
+ K-CondExpr-9
+ K-LogicExpr-10
+ K-LogicExpr-11
+ K-LogicExpr-35
+ K-LogicExpr-36
+ K-NodeNamespaceURIFunc-3
+ K-NotFunc-8
+ K-SeqBooleanFunc-8
+ K-SeqExprCast-1373
+ K-WhereExpr-11
+
+- It's very important that the auto tests for the public API tests different features:
+ - fn:trace()
+ - external variables
+ - node constructors
+ - that node building happens, as opposed to just node events
+ - warnings/errors
+ - file loading: fn:doc()
+ - fn:collection()
+ - serialization error
+
+- Should SeqReceiver::attribute() really be passed a QString? Shouldn't it be an Item::Ptr since
+ it may be typed? Or should we use overloads somehow?
+- base-URI-8 has an interesting problem with evaluation mode..? No idea what it is.
+- base-URI-24: we should be normalizing, not trimming whitespace.
+- xs:anyURI("http://www.example.org/%20%20examples") should output the percentage signs. base-uri-25
+- base-URI-21, base-URI-15 because QUrl transform htpp://A to a.
+- fn-nilled-2 regressed for unknown reason, probably related to paths.
+- TODO How are we to handle empty string URIs?
+- Write one test for each time URILiteral is used in the grammar, and pass in an invalid URI. XQST0046.
+- Someone creates a StackContextBase at compile time, gr..
+- Follow up on the "Computed attributes: 'xmlns' with non-empty namespace" topic.
+- Write tests for root() while using the context item.
+- UserFunctionCallsite::staticType() is quite broken, and needs thinking, followed by writing test cases to triggers
+ its faults.
+- Write tests for:
+"certain characters MUST be output as character references, to ensure that
+they survive the round trip through serialization and parsing. Specifically,
+CR, NEL and LINE SEPARATOR characters in text nodes MUST be output
+respectively as "&#xD;", "&#x85;", and "&#x2028;", or their equivalents;".
+- Write test for XQST0093
+- Write tests for where NameChar is used.
+- Optimize (a = b) where a and b are of type xs:string of any length, by putting the values into QMaps?
+- Perhaps add tests that ensure locale-specific integer parsing isn't used? Read QChar::isDigit() to find out.
+- Add assert in DerivedInteger
+- It looks like the type is incorrectly inferred for min/max(), see Aggregator.*.
+ * Add tests that trigger this
+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1552670&group_id=29872&atid=397617
+- Regression in the function refactoring: The Function Signatures View only show
+ the constructor functions, the F&O stuff doesn't show up. The reason for this is that with the
+ recent refactoring the ability to retrieve all signatures was lost. A signature is first inserted
+ into m_signatures when a matching function call has been asked for. The regression in Patternist View is not
+ very important but if we want to do things like displaying signatures that "almost" match etc, we will need to
+ get back the "give me all signatures in a list"-feature. We need to regression test this:
+ Q_VERIFY(FunctionFactoryCollection::xpath20Factory().signatures().count(), N);
+- Would it be an optimization to apply the cardinality verifier before the untyped atomic converter?
+- Document in Mainpage.h to not use capturing paranteses, and review existing code.
+- Find invalid use of ElementName in .ypp and write tests
+- Rewrite SubsequenceFN::staticType/compress(). It's really weird. Take advantage
+ of the new Cardinality class.
+- Get rid of AtomicValue::hasError() in favor of returning null..
+- ResourceLoader::announceDocument() should return an ItemType?
+- ResourceLoader::announceUnparsedText() should return false/true? E.g, always be a string? Nope, bad idea..
+- rename xdtTypeMatches to isOfType() -- much cleaner. Finally found a good name for that
+ function. Stolen from XQJ. Or perhaps also isInstanceOf()..
+- Optimize Decimal/AbstractFloat::stringValue() by using QByteArray and QByteArray::fromRawData().
+- TODO ComparisonPlatform:
+ * prepareComparison is pretty pointless. My idea is that it should do all the operator lookup. For
+ example, CastingPlatform::prepareCasting() actually do something and provide convenience.
+
+- Actually make ParentNodeAxis::create() do what it says(return singleton)
+- Think about base URI for Node
+- Fix doxygen @file warnings, pending: http://bugzilla.gnome.org/show_bug.cgi?id=345481
+- 'case 0:' in XQueryTokenizer.cpp will break
+- TruthPredicate::map() is never called because of regression in the Iterator refactoring.
+ GenericPredicate's members are called instead. This is a performance regression.
+- Perhaps provide suitable default implementation of expectedOperandTypes in *Container classes?
+- Make And/OrExpression a template class.
+- Reduce UserFunctionCallsite object size by storing arity&name as a FunctionSignature that
+ is replaced by the real one.
+- Perhaps one of the error codes in QNameConstructor::expandQName can be used(the same in each case.)
+- Move FunctionCall to expr/
+- The scanner has problem with Unicode characters. Have a look at the tests
+ in functions-assemblestring.xml.
+- When converting to KDOM's WebCore names, also camel case the CommonSequenceTypes::* names.
+- For namespace nodes implementation, see: http://lists.w3.org/Archives/Public/www-ql/2003OctDec/0001.html
+- XPathExpression::evaluate() is supposed to return a
+ DOMObject, but currently returns an XPathResult.
+- String/Float conversion:
+ - For return "Decimal::fromValue(this->toDecimal())->stringValue();" for AF.cpp: perhaps a static toString should be added to Decimal that both AbstractFloat and Decimal calls. It would avoid allocating Decimal when calling stringValue().
+- data/AnyURI, the implementation of xs:anyURI, is halfy complete, and needs attention. Error
+ handling with casting needs a look as well.
+- Investigate nilled PSVI
+
+
+KXQTS
+--------------------
+* Rename TestSuite::testResult(); it's not exactly a getter
+* Grr, rename identifiers and files from *BaseLine* into *Baseline*.
+* Speed up --run-outofprocess by keeping patternistrunsuite running as long as possible.
+* Make text fields in test case view, selectable. Same with AST view.
+
+- Code cleaning commands:
+ * Find cases where stuff looks like "const Foo& var" instead of "const Foo &var":
+ `grep -nHR "\& .*,"` *
+ * Convert modeline:
+ sed -i -e 's+// vim:ts=4:noet+// vim: et:ts=4:sw=4:sts=4+g' `find -name "*.cpp" -or -name "*.h"`
+ * Bump copyright year:
+ sed -i -e 's/2005/2006/g' `find -name "*.h" -or -name "*.cpp"`
+
+ grep "if ([[:space:]]*[[:alnum:]]*[[:space:]]*=[[:space:]]*[[:alnum:]]"
+ * Find and remove whitespace after lines:
+ sed -i -e 's/[ \t]\+$//' `find -name "*.cpp" -or -name "*.h" -or -name "*.ypp" -or -name "*.pri" -or -name "*.pro"`
+
+- The new suite runner should:
+ - Be completely in process
+ - QTestLib based
+ - Baseline the final AST
+ - Baseline messages
+ - Be stream based
+ - Consider to what degree it should replace all the old code in sdk/lib. There's so much old, obsolete code.
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp b/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp
new file mode 100644
index 0000000..a9aeb39
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ASTItem.cpp
@@ -0,0 +1,202 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QList>
+#include <QPointer>
+#include <QVariant>
+
+#include "ASTItem.h"
+
+using namespace QPatternistSDK;
+
+/**
+ * This is what the AST rendering is indented with.
+ */
+static const QLatin1String astIndent(" ");
+// STATIC DATA
+
+ASTItem::ASTItem(ASTItem *p,
+ const QString &name,
+ const QString &details,
+ const QString &staticType,
+ const QString &reqType) : m_name(name),
+ m_details(details),
+ m_reqType(reqType),
+ m_staticType(staticType),
+ m_parent(p)
+{
+}
+
+ASTItem::~ASTItem()
+{
+ qDeleteAll(m_children);
+}
+
+QString ASTItem::toString() const
+{
+ /* The first ASTItem* is a virtual root node, so skip "this". */
+ Q_ASSERT(m_children.count() == 1);
+ TreeItem *treeChild = m_children.first();
+ Q_ASSERT(treeChild);
+
+ ASTItem *astChild = static_cast<ASTItem *>(treeChild);
+
+ return astChild->toString(QString());
+}
+
+QString ASTItem::toString(const QString &indent) const
+{
+ QString retval;
+
+ retval += indent;
+ retval += m_name;
+ retval += QLatin1Char('(');
+ retval += m_details;
+ retval += QLatin1String(")\n");
+
+ const TreeItem::List::const_iterator end(m_children.constEnd());
+
+ for(TreeItem::List::const_iterator it(m_children.constBegin()); it != end; ++it)
+ {
+ TreeItem *treeChild = *it; /* Cast away the QPointer with its casting operator. */
+ ASTItem *astChild = static_cast<ASTItem *>(treeChild);
+
+ retval += astChild->toString(indent + astIndent);
+ }
+
+ return retval;
+}
+
+QVariant ASTItem::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role != Qt::DisplayRole)
+ return QVariant();
+
+ switch(column)
+ {
+ case 0:
+ return m_name;
+ case 1:
+ return m_details;
+ case 2:
+ return m_staticType;
+ case 3:
+ return m_reqType;
+ default:
+ {
+ Q_ASSERT(false);
+ return QVariant();
+ }
+ }
+}
+
+int ASTItem::columnCount() const
+{
+ return 4;
+}
+
+TreeItem::List ASTItem::children() const
+{
+ return m_children;
+}
+
+void ASTItem::appendChild(TreeItem *item)
+{
+ m_children.append(item);
+}
+
+TreeItem *ASTItem::child(const unsigned int rowP) const
+{
+ return m_children.value(rowP);
+}
+
+unsigned int ASTItem::childCount() const
+{
+ return m_children.count();
+}
+
+TreeItem *ASTItem::parent() const
+{
+ return m_parent;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ASTItem.h b/tests/auto/xmlpatternsxqts/lib/ASTItem.h
new file mode 100644
index 0000000..7d72db7
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ASTItem.h
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ASTItem_H
+#define PatternistSDK_ASTItem_H
+
+#include <QList>
+#include <QString>
+
+#include "TreeItem.h"
+#include "Global.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Is a node in a ASTItem tree; each ASTItem contains
+ * debug information about an QPatternist::Expression.
+ *
+ * ASTItem, by implementing TreeItem, leverages debug data about QPatternist::Expression
+ * instances into Qt's model/view framework.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ASTItem : public TreeItem
+ {
+ public:
+ virtual ~ASTItem();
+ ASTItem(ASTItem *parent,
+ const QString &name,
+ const QString &details = QString(),
+ const QString &staticType = QString(),
+ const QString &reqType = QString());
+
+ virtual void appendChild(TreeItem *item);
+ virtual TreeItem *child(const unsigned int row) const;
+ virtual unsigned int childCount() const;
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+ virtual TreeItem::List children() const;
+ virtual TreeItem *parent() const;
+ int columnCount() const;
+
+ /**
+ * Returns a string representation of this AST node, recursively including
+ * children. For example, the query <tt>1 eq number()</tt> would result in the string:
+ *
+@verbatim
+ValueComparison(eq)
+ xs:integer(0)
+ FunctionCall(fn:number)
+ ContextItem
+@endverbatim
+ */
+ QString toString() const;
+
+ private:
+ QString toString(const QString &indent) const;
+
+ const QString m_name;
+ const QString m_details;
+ const QString m_reqType;
+ const QString m_staticType;
+ TreeItem::List m_children;
+ TreeItem *m_parent;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp
new file mode 100644
index 0000000..888c14f
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.cpp
@@ -0,0 +1,305 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QStringList>
+#include <QVariant>
+#include <QtDebug>
+#include <QXmlNamePool>
+
+#include "qfunctionfactorycollection_p.h"
+
+#include "ASTItem.h"
+#include "ExpressionInfo.h"
+#include "ExpressionNamer.h"
+#include "Global.h"
+
+#include "DebugExpressionFactory.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+static const QPatternist::ExpressionVisitor::Ptr namer(new ExpressionNamer());
+
+QStringList DebugExpressionFactory::availableFunctionSignatures()
+{
+ const QPatternist::FunctionFactory::Ptr factory(QPatternist::FunctionFactoryCollection::xpath20Factory(Global::namePool()));
+ const QPatternist::FunctionSignature::Hash signs(factory->functionSignatures());
+ const QPatternist::FunctionSignature::Hash::const_iterator end(signs.constEnd());
+ QPatternist::FunctionSignature::Hash::const_iterator it(signs.constBegin());
+ QStringList retval;
+
+ while(it != end)
+ {
+ retval << it.value()->displayName(Global::namePool());
+ ++it;
+ }
+
+ return retval;
+}
+
+ASTItem *DebugExpressionFactory::buildASTTree(const QPatternist::Expression::Ptr &expr,
+ ASTItem *parent,
+ const QPatternist::SequenceType::Ptr &reqType)
+{
+ Q_ASSERT(expr);
+ const QPatternist::ExpressionVisitorResult::Ptr exprInfo(expr->accept(namer));
+ Q_ASSERT(exprInfo);
+ const ExpressionInfo *const constExprInfo = static_cast<const ExpressionInfo *>(exprInfo.data());
+ const QString name(constExprInfo->first);
+ const QString details(constExprInfo->second);
+ const QString rType(reqType ? reqType->displayName(Global::namePool()) : QLatin1String("Not specified"));
+
+ /* ---------- Handle its staticType() -------- */
+ const QPatternist::SequenceType::Ptr type(expr->staticType());
+ QString seqType;
+
+ if(type)
+ seqType = type->displayName(Global::namePool());
+ else
+ seqType = QLatin1String("no type, null pointer returned");
+ /* ------------------------------------------- */
+
+ ASTItem *const node = new ASTItem(parent, name, details, seqType, rType);
+
+ /* ------------ Handle child nodes ----------- */
+ const QPatternist::Expression::List children(expr->operands());
+ QPatternist::Expression::List::const_iterator it(children.constBegin());
+ const QPatternist::Expression::List::const_iterator end(children.constEnd());
+
+ const QPatternist::SequenceType::List reqTypes(expr->expectedOperandTypes());
+ const QPatternist::SequenceType::List::const_iterator typeEnd(reqTypes.constEnd());
+ QPatternist::SequenceType::List::const_iterator typeIt(reqTypes.constBegin());
+ QPatternist::SequenceType::Ptr t;
+
+ for(; it != end; ++it)
+ {
+ if(typeIt != typeEnd)
+ {
+ t = *typeIt;
+ ++typeIt;
+ }
+
+ node->appendChild(buildASTTree(*it, node, t));
+ }
+ /* ------------------------------------------- */
+
+ return node;
+}
+
+QPatternist::Expression::Ptr
+DebugExpressionFactory::createExpression(QIODevice *const expr,
+ const QPatternist::StaticContext::Ptr &context,
+ const QXmlQuery::QueryLanguage lang,
+ const QPatternist::SequenceType::Ptr &requiredType,
+ const QUrl &baseURI,
+ const QXmlName &initialTemplateName)
+{
+ /* Create the root node. */
+ m_ast = new ASTItem(0, QString());
+
+ return ExpressionFactory::createExpression(expr, context, lang, requiredType, baseURI, initialTemplateName);
+}
+
+void DebugExpressionFactory::processTreePass(const QPatternist::Expression::Ptr &expr,
+ const CompilationStage stage)
+{
+ ASTItem *newChild = 0;
+
+ switch(stage)
+ {
+ case QueryBodyInitial:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("Initial Build"));
+ break;
+ }
+ case QueryBodyTypeCheck:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("Type Check"));
+ break;
+ }
+ case QueryBodyCompression:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("Compression"));
+ break;
+ }
+ case UserFunctionTypeCheck:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("User Function Type Check"));
+ break;
+ }
+ case UserFunctionCompression:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("User Function Compression"));
+ break;
+ }
+ case GlobalVariableTypeCheck:
+ {
+ newChild = new ASTItem(m_ast, QLatin1String("Global Variable Type Check"));
+ break;
+ }
+ }
+
+ Q_ASSERT(newChild);
+ m_ast->appendChild(newChild);
+ newChild->appendChild(buildASTTree(expr, newChild, QPatternist::SequenceType::Ptr()));
+}
+
+void DebugExpressionFactory::processTemplateRule(const Expression::Ptr &body,
+ const TemplatePattern::Ptr &pattern,
+ const QXmlName &mode,
+ const TemplateCompilationStage stage)
+{
+ const char * title;
+
+ switch(stage)
+ {
+ case TemplateInitial:
+ {
+ title = "Initial Build";
+ break;
+ }
+ case TemplateTypeCheck:
+ {
+ title = "Type Check";
+ break;
+ }
+ case TemplateCompress:
+ {
+ title = "Compression";
+ break;
+ }
+ }
+
+ const QString modeName(Global::namePool()->displayName(mode));
+ Q_ASSERT(title);
+ ASTItem *const newChild = new ASTItem(m_ast, QLatin1String("T-Rule ")
+ + QLatin1String(title)
+ + QLatin1String(" mode: ")
+ + modeName
+ + QLatin1String(" priority: ")
+ + QString::number(pattern->priority()));
+ m_ast->appendChild(newChild);
+
+ newChild->appendChild(buildASTTree(pattern->matchPattern(), newChild, QPatternist::SequenceType::Ptr()));
+ newChild->appendChild(buildASTTree(body, newChild, QPatternist::SequenceType::Ptr()));
+}
+
+void DebugExpressionFactory::processNamedTemplate(const QXmlName &name,
+ const Expression::Ptr &body,
+ const TemplateCompilationStage stage)
+{
+ const char * title;
+
+ switch(stage)
+ {
+ case TemplateInitial:
+ {
+ title = "Named Template Initial Build";
+ break;
+ }
+ case TemplateTypeCheck:
+ {
+ title = "Named Template Type Check";
+ break;
+ }
+ case TemplateCompress:
+ {
+ title = "Named Template Compression";
+ break;
+ }
+ }
+
+ Q_ASSERT(title);
+ ASTItem *const newChild = new ASTItem(m_ast, QLatin1String(title)
+ + QLatin1String(": ")
+ + Global::namePool()->displayName(name));
+
+ m_ast->appendChild(newChild);
+ newChild->appendChild(buildASTTree(body, newChild, QPatternist::SequenceType::Ptr()));
+}
+
+ASTItem *DebugExpressionFactory::astTree() const
+{
+ return m_ast;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h
new file mode 100644
index 0000000..235e936
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/DebugExpressionFactory.h
@@ -0,0 +1,169 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_DebugExpressionFactory_H
+#define PatternistSDK_DebugExpressionFactory_H
+
+#include "Global.h"
+#include "qexpressionfactory_p.h"
+#include "qfunctionfactory_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ class ASTItem;
+
+ /**
+ * @short Is a QPatternist::ExpressionFactory, with the
+ * difference that it provides the hooks for building from a tree of
+ * debug data from the compiled expression.
+ *
+ * This tree can be retrieved via astTree(). The astTree() function
+ * returns the AST built the last time createExpression() was called.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT DebugExpressionFactory : public QPatternist::ExpressionFactory
+ {
+ public:
+ DebugExpressionFactory() : m_ast(0)
+ {
+ }
+
+ typedef QExplicitlySharedDataPointer<DebugExpressionFactory> Ptr;
+ /**
+ * Identical to ExpressionFactory::createExpression() with the difference
+ * that it builds an ASTItem tree which can be accessed via astTree().
+ */
+ virtual QPatternist::Expression::Ptr createExpression(QIODevice *const expr,
+ const QPatternist::StaticContext::Ptr &context,
+ const QXmlQuery::QueryLanguage lang,
+ const QPatternist::SequenceType::Ptr &requiredType,
+ const QUrl &queryURI,
+ const QXmlName &initialTemplateName);
+
+ /**
+ * @returns an ASTItem tree built for the last created expression,
+ * via createExpression().
+ */
+ virtual ASTItem *astTree() const;
+
+ /**
+ * @returns a list containing string representations of all available
+ * functions in Patternist. Each QString in the returned QStringList
+ * is a function synopsis for human consumption.
+ */
+ static QStringList availableFunctionSignatures();
+
+ protected:
+ /**
+ * Performs the ASTItem tree building.
+ */
+ virtual void processTreePass(const QPatternist::Expression::Ptr &tree,
+ const CompilationStage stage);
+
+ void processTemplateRule(const QPatternist::Expression::Ptr &body,
+ const QPatternist::TemplatePattern::Ptr &pattern,
+ const QXmlName &mode,
+ const TemplateCompilationStage stage);
+
+ void processNamedTemplate(const QXmlName &name,
+ const QPatternist::Expression::Ptr &body,
+ const TemplateCompilationStage stage);
+ private:
+ static ASTItem *buildASTTree(const QPatternist::Expression::Ptr &expr,
+ ASTItem *const parent,
+ const QPatternist::SequenceType::Ptr &reqType);
+ ASTItem *m_ast;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp
new file mode 100644
index 0000000..35d7b74
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.cpp
@@ -0,0 +1,207 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <cstdio>
+
+#include <QBuffer>
+#include <QStringList>
+#include <QtDebug>
+#include <QtTest>
+#include <QtGlobal>
+#include <QXmlQuery>
+#include <QXmlResultItems>
+
+#include "ErrorHandler.h"
+
+using namespace QPatternistSDK;
+
+ErrorHandler *ErrorHandler::handler = 0;
+
+void qMessageHandler(QtMsgType type, const char *description)
+{
+ if(type == QtDebugMsg)
+ {
+ std::fprintf(stderr, "%s\n", description);
+ return;
+ }
+
+ QtMsgType t;
+
+ switch(type)
+ {
+ case QtWarningMsg:
+ {
+ t = QtWarningMsg;
+ break;
+ }
+ case QtCriticalMsg:
+ {
+ t = QtFatalMsg;
+ break;
+ }
+ case QtFatalMsg:
+ {
+ /* We can't swallow Q_ASSERTs, we need to fail the hard way here.
+ * But maybe not: when run from "patternistrunsingle" it could be an idea
+ * to actually try to record it(but nevertheless fail somehow) such
+ * that it gets reported. */
+ std::fprintf(stderr, "Fatal error: %s\n", description);
+ t = QtFatalMsg; /* Dummy, to silence a bogus compiler warning. */
+ return;
+ }
+ case QtDebugMsg: /* This enum is handled above in the if-clause. */
+ /* Fallthrough. */
+ default:
+ {
+ Q_ASSERT(false);
+ return;
+ }
+ }
+
+ Q_ASSERT(ErrorHandler::handler);
+ /* This message is hacky. Ideally, we should do it the same way
+ * ReportContext::error() constructs messages, but this is just testing
+ * code. */
+ ErrorHandler::handler->message(t, QLatin1String("<p>") + QPatternist::escape(QLatin1String(description)) + QLatin1String("</p>"));
+}
+
+void ErrorHandler::installQtMessageHandler(ErrorHandler *const h)
+{
+ handler = h;
+
+ if(h)
+ qInstallMsgHandler(qMessageHandler);
+ else
+ qInstallMsgHandler(0);
+}
+
+void ErrorHandler::handleMessage(QtMsgType type,
+ const QString &description,
+ const QUrl &identifier,
+ const QSourceLocation &)
+{
+ /* Don't use pDebug() in this function, it results in infinite
+ * recursion. Talking from experience.. */
+
+ Message msg;
+ msg.setType(type);
+ msg.setIdentifier(identifier);
+
+ /* Let's remove all the XHTML markup. */
+ QBuffer buffer;
+ buffer.setData(description.toLatin1());
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlQuery query;
+ query.bindVariable(QLatin1String("desc"), &buffer);
+ query.setQuery(QLatin1String("string(doc($desc))"));
+
+ QStringList result;
+ const bool success = query.evaluateTo(&result);
+
+ if(!description.startsWith(QLatin1String("\"Test-suite harness error:")))
+ {
+ const QString msg(QString::fromLatin1("Invalid description: %1").arg(description));
+ QVERIFY2(success, qPrintable(msg));
+
+ if(!success)
+ QTextStream(stderr) << msg;
+ }
+
+
+ if(!result.isEmpty())
+ msg.setDescription(result.first());
+
+ m_messages.append(msg);
+}
+
+ErrorHandler::Message::List ErrorHandler::messages() const
+{
+ return m_messages;
+}
+
+void ErrorHandler::reset()
+{
+ m_messages.clear();
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h
new file mode 100644
index 0000000..150a522
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ErrorHandler.h
@@ -0,0 +1,190 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ErrorHandler_H
+#define PatternistSDK_ErrorHandler_H
+
+#include "Global.h"
+#include "qabstractmessagehandler.h"
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+template<typename T> class QList;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short A MessageHandler which
+ * accumulates all its received ErrorHandler::Message instances
+ * in a list, retrievable via messages().
+ *
+ * Thus, ErrorHandler does not report errors, but collects them
+ * and allows easy access to them.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ErrorHandler : public QAbstractMessageHandler
+ {
+ public:
+ class Message
+ {
+ public:
+ typedef QList<Message> List;
+
+ QString description() const
+ {
+ return m_description;
+ }
+
+ void setDescription(const QString &desc)
+ {
+ m_description = desc;
+ }
+
+ void setIdentifier(const QUrl &newId)
+ {
+ m_identifier = newId;
+ }
+
+ QUrl identifier() const
+ {
+ return m_identifier;
+ }
+
+ QtMsgType type() const
+ {
+ return m_type;
+ }
+
+ void setType(const QtMsgType t)
+ {
+ m_type = t;
+ }
+
+ private:
+ QUrl m_identifier;
+ QtMsgType m_type;
+ QString m_description;
+ };
+
+ /**
+ * Clears all accumulated errors.
+ */
+ void reset();
+
+ Message::List messages() const;
+
+ /**
+ * Calling this function causes all Qt's internal debug messages to be
+ * sent to @p handler. If @p handler is @c null, Qt's default message
+ * handler is re-installed. In other words, via an internal proxy function,
+ * it installs @p handler as Qt's message handler.
+ *
+ * If @p handler is heap allocated, it will be leaked.
+ *
+ * @see qInstallMsgHandler()
+ */
+ static void installQtMessageHandler(ErrorHandler *const handler);
+
+ static ErrorHandler *handler;
+
+ protected:
+ virtual void handleMessage(QtMsgType type,
+ const QString &description,
+ const QUrl &identifier = QUrl(),
+ const QSourceLocation &sourceLocation = QSourceLocation());
+
+ private:
+ ErrorHandler::Message::List m_messages;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp b/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp
new file mode 100644
index 0000000..955e261
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ErrorItem.cpp
@@ -0,0 +1,183 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QList>
+#include <QPointer>
+#include <QVariant>
+
+#include "qreportcontext_p.h"
+#include "qcommonnamespaces_p.h"
+
+#include "ErrorItem.h"
+
+using namespace QPatternistSDK;
+
+QString ErrorItem::toString(const QtMsgType type)
+{
+ switch(type)
+ {
+ case QtWarningMsg:
+ return QLatin1String("Warning");
+ case QtFatalMsg:
+ return QLatin1String("Error");
+ default:
+ {
+ Q_ASSERT(false);
+ return QString();
+ }
+ }
+}
+
+ErrorItem::ErrorItem(const ErrorHandler::Message &error,
+ ErrorItem *p) : m_message(error),
+ m_parent(p)
+{
+}
+
+ErrorItem::~ErrorItem()
+{
+ qDeleteAll(m_children);
+}
+
+int ErrorItem::columnCount() const
+{
+ return 3;
+}
+
+QVariant ErrorItem::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role != Qt::DisplayRole)
+ return QVariant();
+
+ switch(column)
+ {
+ case 0:
+ return toString(m_message.type());
+ case 1:
+ {
+ if(!m_message.type()) /* It's a warning, likely. */
+ return QString();
+
+ QString ns;
+ const QString code(QPatternist::ReportContext::codeFromURI(m_message.identifier().toString(), ns));
+
+ if(ns == QPatternist::CommonNamespaces::XPERR)
+ return code;
+ else /* Do the full version. */
+ return m_message.type();
+ }
+ case 2:
+ return m_message.description();
+ default:
+ {
+ Q_ASSERT(false);
+ return QVariant();
+ }
+ }
+}
+
+TreeItem::List ErrorItem::children() const
+{
+ return m_children;
+}
+
+void ErrorItem::appendChild(TreeItem *item)
+{
+ m_children.append(item);
+}
+
+TreeItem *ErrorItem::child(const unsigned int rowP) const
+{
+ return m_children.value(rowP);
+}
+
+unsigned int ErrorItem::childCount() const
+{
+ return m_children.count();
+}
+
+TreeItem *ErrorItem::parent() const
+{
+ return m_parent;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ErrorItem.h b/tests/auto/xmlpatternsxqts/lib/ErrorItem.h
new file mode 100644
index 0000000..fe0602d
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ErrorItem.h
@@ -0,0 +1,135 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ErrorItem_H
+#define PatternistSDK_ErrorItem_H
+
+#include <QList>
+
+#include "ErrorHandler.h"
+#include "Global.h"
+#include "TreeItem.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Delegates a ErrorHandler::Message through the interface
+ * exposed by TreeItem, such that errors from DOM related code
+ * can be displayed/used in Qt's model/view framework.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ErrorItem : public TreeItem
+ {
+ public:
+ ErrorItem(const ErrorHandler::Message &error, ErrorItem *parent);
+ virtual ~ErrorItem();
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+
+ virtual void appendChild(TreeItem *item);
+ virtual TreeItem *child(const unsigned int row) const;
+ virtual unsigned int childCount() const;
+ virtual TreeItem::List children() const;
+ virtual TreeItem *parent() const;
+ int columnCount() const;
+
+ private:
+ static QString toString(const QtMsgType sev);
+
+ const ErrorHandler::Message m_message;
+ ErrorItem * m_parent;
+ TreeItem::List m_children;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExitCode.h b/tests/auto/xmlpatternsxqts/lib/ExitCode.h
new file mode 100644
index 0000000..a419796
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExitCode.h
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ExitCode_H
+#define PatternistSDK_ExitCode_H
+
+#include "Global.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Houses program exit codes for PatternistSDK utilities.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ExitCode
+ {
+ public:
+ /**
+ * Exit codes for programs part of PatternistSDK. The values for the enums are specified
+ * to make it easily understandable what number a symbol corresponds to.
+ */
+ enum Code
+ {
+ Success = 0,
+ InvalidArgCount = 1,
+ InvalidArgs = 2,
+
+ /**
+ * Used in @c patternistrunsuite
+ */
+ InvalidCatalogFile = 3,
+ FileNotExists = 4,
+ OpenError = 5,
+ WriteError = 6,
+
+ /**
+ * Used in the test program used for comparing files on the byte level.
+ */
+ NotEqual = 7,
+ UnevenTestCount = 8,
+ InternalError = 9,
+ Regression = 10
+ };
+
+ private:
+ /**
+ * This constructor is private and has no implementation, because this
+ * class is not supposed to be instantiated.
+ */
+ inline ExitCode();
+
+ Q_DISABLE_COPY(ExitCode)
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp
new file mode 100644
index 0000000..a9137ba
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.cpp
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "ExpressionInfo.h"
+
+using namespace QPatternistSDK;
+
+ExpressionInfo::ExpressionInfo(const QString &name,
+ const QString &details) : QPair<QString, QString>(name, details)
+{
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h
new file mode 100644
index 0000000..a48cfbe
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExpressionInfo.h
@@ -0,0 +1,121 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ExpressionInfo_H
+#define PatternistSDK_ExpressionInfo_H
+
+#include "Global.h"
+#include "qexpressiondispatch_p.h"
+
+#include <QPair>
+#include <QString>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Houses debug information about an QPatternist::Expression instance.
+ *
+ * An Expression's name, typically its class name, can be retrieved
+ * via the member variable first, and additional data, for example its string
+ * value or operator, can be retrieved via the member variable second.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ExpressionInfo : public QPatternist::ExpressionVisitorResult
+ , public QPair<QString, QString>
+ {
+ public:
+ ExpressionInfo(const QString &name, const QString &details);
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp
new file mode 100644
index 0000000..0286366
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.cpp
@@ -0,0 +1,357 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "qabstractfloat_p.h"
+#include "qandexpression_p.h"
+#include "qanyuri_p.h"
+#include "qapplytemplate_p.h"
+#include "qargumentreference_p.h"
+#include "qarithmeticexpression_p.h"
+#include "qatomicstring_p.h"
+#include "qatomizer_p.h"
+#include "qattributeconstructor_p.h"
+#include "qattributenamevalidator_p.h"
+#include "qaxisstep_p.h"
+#include "qbase64binary_p.h"
+#include "qboolean_p.h"
+#include "qcardinalityverifier_p.h"
+#include "qcastableas_p.h"
+#include "qcastas_p.h"
+#include "qcombinenodes_p.h"
+#include "qcontextitem_p.h"
+#include "qdate_p.h"
+#include "qdecimal_p.h"
+#include "qdynamiccontextstore_p.h"
+#include "qelementconstructor_p.h"
+#include "qemptysequence_p.h"
+#include "qevaluationcache_p.h"
+#include "qexpressionsequence_p.h"
+#include "qexpressionvariablereference_p.h"
+#include "qfirstitempredicate_p.h"
+#include "qforclause_p.h"
+#include "qfunctioncall_p.h"
+#include "qgday_p.h"
+#include "qgeneralcomparison_p.h"
+#include "qgenericpredicate_p.h"
+#include "qgmonthday_p.h"
+#include "qgmonth_p.h"
+#include "qgyearmonth_p.h"
+#include "qgyear_p.h"
+#include "qhexbinary_p.h"
+#include "qifthenclause_p.h"
+#include "qinstanceof_p.h"
+#include "qinteger_p.h"
+#include "qitem_p.h"
+#include "qitemverifier_p.h"
+#include "qliteral_p.h"
+#include "qnamespaceconstructor_p.h"
+#include "qncnameconstructor_p.h"
+#include "qnodecomparison_p.h"
+#include "qorexpression_p.h"
+#include "qpath_p.h"
+#include "qpositionalvariablereference_p.h"
+#include "qqnameconstructor_p.h"
+#include "qqnamevalue_p.h"
+#include "qquantifiedexpression_p.h"
+#include "qrangeexpression_p.h"
+#include "qrangevariablereference_p.h"
+#include "qschemadatetime_p.h"
+#include "qschematime_p.h"
+#include "qsimplecontentconstructor_p.h"
+#include "qtreatas_p.h"
+#include "qtruthpredicate_p.h"
+#include "quntypedatomicconverter_p.h"
+#include "quntypedatomic_p.h"
+#include "quserfunctioncallsite_p.h"
+#include "qvalidationerror_p.h"
+#include "qvaluecomparison_p.h"
+
+#include "ExpressionInfo.h"
+#include "Global.h"
+
+#include "ExpressionNamer.h"
+
+using namespace QPatternistSDK;
+
+/* Simple ones, they have no additional data. */
+#define implClass(cls) \
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *) const \
+{ \
+ return QPatternist::ExpressionVisitorResult::Ptr \
+ (new ExpressionInfo(QLatin1String(#cls), QString())); \
+}
+
+implClass(AndExpression)
+implClass(ArgumentConverter)
+implClass(Atomizer)
+implClass(AttributeConstructor)
+implClass(AttributeNameValidator)
+implClass(CallTemplate)
+implClass(CardinalityVerifier)
+implClass(CollationChecker)
+implClass(CommentConstructor)
+implClass(ComputedNamespaceConstructor)
+implClass(ContextItem)
+implClass(CopyOf)
+implClass(CurrentItemStore)
+implClass(DocumentConstructor)
+implClass(DynamicContextStore)
+implClass(EBVExtractor)
+implClass(ElementConstructor)
+implClass(EmptySequence)
+implClass(ExpressionSequence)
+implClass(ExternalVariableReference)
+implClass(FirstItemPredicate)
+implClass(ForClause)
+implClass(GenericPredicate)
+implClass(IfThenClause)
+implClass(ItemVerifier)
+implClass(LetClause)
+implClass(LiteralSequence)
+implClass(NCNameConstructor)
+implClass(NodeSortExpression)
+implClass(OrderBy)
+implClass(OrExpression)
+implClass(ParentNodeAxis)
+implClass(ProcessingInstructionConstructor)
+implClass(QNameConstructor)
+implClass(RangeExpression)
+implClass(ReturnOrderBy)
+implClass(SimpleContentConstructor)
+implClass(StaticBaseURIStore)
+implClass(StaticCompatibilityStore)
+implClass(TemplateParameterReference)
+implClass(TextNodeConstructor)
+implClass(TreatAs)
+implClass(TruthPredicate)
+implClass(UnresolvedVariableReference)
+implClass(UntypedAtomicConverter)
+implClass(UserFunctionCallsite)
+implClass(ValidationError)
+#undef implClass
+
+/** Variable references. */
+#define implVarRef(name) \
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::name *i) const \
+{ \
+ return QPatternist::ExpressionVisitorResult::Ptr \
+ (new ExpressionInfo(QLatin1String(#name), \
+ QString(QLatin1String("Slot: %1")).arg(i->slot()))); \
+}
+implVarRef(RangeVariableReference)
+implVarRef(ArgumentReference)
+implVarRef(ExpressionVariableReference)
+implVarRef(PositionalVariableReference)
+#undef implVarRef
+
+/* Type related classes which have a targetType() function. */
+#define implTypeClass(cls) \
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
+{ \
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
+ i->targetType()->displayName(Global::namePool()))); \
+}
+
+implTypeClass(InstanceOf)
+implTypeClass(CastableAs)
+#undef implTypeClass
+
+/* Type related classes which have a targetType() function. */
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::CastAs *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("CastAs"),
+ i->targetSequenceType()->displayName(Global::namePool())));
+}
+
+/* Classes which represent operators. */
+#define implOPClass(cls, compClass) \
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
+{ \
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
+ QPatternist::compClass::displayName(i->operatorID()))); \
+}
+
+implOPClass(ArithmeticExpression, AtomicMathematician)
+implOPClass(NodeComparison, NodeComparison)
+implOPClass(QuantifiedExpression, QuantifiedExpression)
+implOPClass(CombineNodes, CombineNodes)
+#undef implOPClass
+
+/* Classes which represent operators. */
+#define implCompClass(cls, type) \
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::cls *i) const \
+{ \
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String(#cls), \
+ QPatternist::AtomicComparator::displayName(i->operatorID(), \
+ QPatternist::AtomicComparator::type))); \
+}
+
+implCompClass(GeneralComparison, AsGeneralComparison)
+implCompClass(ValueComparison, AsValueComparison)
+#undef implCompClass
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::FunctionCall *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr
+ (new ExpressionInfo(QLatin1String("FunctionCall"),
+ Global::namePool()->displayName(i->signature()->name())));
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::Literal *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(
+ i->item().type()->displayName(Global::namePool()),
+ i->item().stringValue()));
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::AxisStep *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("AxisStep"),
+ QPatternist::AxisStep::axisName(i->axis()) +
+ QLatin1String("::") +
+ i->nodeTest()->displayName(Global::namePool())));
+
+}
+
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::EvaluationCache<true> *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("EvaluationCache<IsForGlobal=true>"),
+ QLatin1String("Slot: ") + QString::number(i->slot())));
+
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::EvaluationCache<false> *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("EvaluationCache<IsForGlobal=false>"),
+ QLatin1String("Slot: ") + QString::number(i->slot())));
+
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::NamespaceConstructor *i) const
+{
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("NamespaceConstructor"),
+ Global::namePool()->stringForPrefix(i->namespaceBinding().prefix()) +
+ QLatin1Char('=') +
+ Global::namePool()->stringForNamespace(i->namespaceBinding().namespaceURI())));
+
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::Path *path) const
+{
+
+ QPatternist::Path::Kind k = path->kind();
+ QString type;
+
+ switch(k)
+ {
+ case QPatternist::Path::XSLTForEach:
+ {
+ type = QLatin1String("XSLTForEach");
+ break;
+ }
+ case QPatternist::Path::RegularPath:
+ {
+ type = QLatin1String("RegularPath");
+ break;
+ }
+ case QPatternist::Path::ForApplyTemplate:
+ {
+ type = QLatin1String("ForApplyTemplate");
+ break;
+ }
+ }
+
+ return QPatternist::ExpressionVisitorResult::Ptr(new ExpressionInfo(QLatin1String("Path"), type));
+}
+
+QPatternist::ExpressionVisitorResult::Ptr ExpressionNamer::visit(const QPatternist::ApplyTemplate *path) const
+{
+ const QPatternist::TemplateMode::Ptr mode(path->mode());
+ return QPatternist::ExpressionVisitorResult::Ptr
+ (new ExpressionInfo(QLatin1String("ApplyTemplate"), mode ? Global::namePool()->displayName(mode->name()) : QString::fromLatin1("#current")));
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h
new file mode 100644
index 0000000..1fb44d3
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExpressionNamer.h
@@ -0,0 +1,322 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ExpressionNamer_H
+#define PatternistSDK_ExpressionNamer_H
+
+#include "Global.h"
+#include "qexpressiondispatch_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Extracts debug information from a QPatternist::Expression tree.
+ *
+ * This data is the name of the AST node(typically the class name),
+ * and additional data such as the value, type of operator, and so forth. The result
+ * is returned(from visit()), is an ExpressionInfo instance.
+ *
+ * @see ExpressionInfo
+ * @see ASTItem
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ExpressionNamer : public QPatternist::ExpressionVisitor
+ {
+ public:
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::AndExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ApplyTemplate *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ArgumentReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ArithmeticExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::Atomizer *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::AttributeConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::AttributeNameValidator *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CallTemplate *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CardinalityVerifier *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CastAs *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CastableAs *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CollationChecker *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CombineNodes *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ComputedNamespaceConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CommentConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ContextItem *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CopyOf *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::CurrentItemStore *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::DocumentConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::DynamicContextStore *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::EBVExtractor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ElementConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::EmptySequence *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ExpressionSequence *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ExpressionVariableReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ExternalVariableReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::EvaluationCache<true> *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::EvaluationCache<false> *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::FirstItemPredicate *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ForClause *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::FunctionCall *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::GeneralComparison *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::GenericPredicate *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::IfThenClause *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::InstanceOf *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ItemVerifier *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::LetClause *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::Literal *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::LiteralSequence *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::NCNameConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::NodeComparison *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::NodeSortExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::OrderBy *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::OrExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ParentNodeAxis *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::Path *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::PositionalVariableReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ProcessingInstructionConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::QNameConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::QuantifiedExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::RangeExpression *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::RangeVariableReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ReturnOrderBy *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::SimpleContentConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::StaticBaseURIStore *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::StaticCompatibilityStore *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::AxisStep *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::TemplateParameterReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::TextNodeConstructor *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::TreatAs *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::TruthPredicate *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::UntypedAtomicConverter *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::UnresolvedVariableReference *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ArgumentConverter *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::UserFunctionCallsite *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ValidationError *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::ValueComparison *) const;
+
+ virtual QPatternist::ExpressionVisitorResult::Ptr
+ visit(const QPatternist::NamespaceConstructor *) const;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp
new file mode 100644
index 0000000..5d62889
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.cpp
@@ -0,0 +1,181 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QCoreApplication>
+#include <QFile>
+#include <QtDebug>
+#include <QXmlResultItems>
+#include <QXmlNamePool>
+
+#include "Global.h"
+
+#include "qcommonsequencetypes_p.h"
+#include "qdebug_p.h"
+#include "qatomicstring_p.h"
+
+#include "ExternalSourceLoader.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+ExternalSourceLoader::ExternalSourceLoader(const VariableMap &varMap,
+ const QPatternist::ResourceLoader::Ptr &r) : m_variableMap(varMap)
+ , m_resourceLoader(r)
+ , m_query(Global::namePoolAsPublic())
+{
+ Q_ASSERT(m_resourceLoader);
+}
+
+QPatternist::SequenceType::Ptr
+ExternalSourceLoader::announceExternalVariable(const QXmlName name,
+ const QPatternist::SequenceType::Ptr &declaredType)
+{
+ pDebug() << "ExternalSourceLoader::announceExternalVariable()";
+ Q_ASSERT(!name.isNull());
+ Q_ASSERT(declaredType);
+ Q_UNUSED(declaredType); /* Needed when bulding in release mode. */
+
+ if(name.namespaceURI() == QPatternist::StandardNamespaces::empty)
+ {
+ const VariableValue variable(m_variableMap.value(Global::namePool()->stringForLocalName(name.localName())));
+
+ if(variable.first.isEmpty())
+ return QPatternist::SequenceType::Ptr();
+ else
+ {
+ /* If announceDocument() can't load a document for uriForVar, it will return
+ * null, which we will too, which is fine, since we can't supply a value for
+ * this variable then. */
+ if(variable.second == Document)
+ return m_resourceLoader->announceDocument(variable.first, QPatternist::ResourceLoader::WillUse);
+ else if(variable.second == URI)
+ {
+ return QPatternist::CommonSequenceTypes::ExactlyOneString;
+ }
+ else
+ {
+ /* The type is Query, and we don't pre-load
+ * them. No particular reason, just not worth it. */
+ return QPatternist::CommonSequenceTypes::ZeroOrMoreItems;
+ }
+ }
+ }
+ else
+ return QPatternist::SequenceType::Ptr();
+}
+
+QPatternist::Item
+ExternalSourceLoader::evaluateSingleton(const QXmlName name,
+ const QPatternist::DynamicContext::Ptr &context)
+{
+ Q_ASSERT(!name.isNull());
+ const VariableValue variable(m_variableMap.value(Global::namePool()->stringForLocalName(name.localName())));
+
+ if(variable.second == Document)
+ {
+ Q_ASSERT_X(QFile::exists(variable.first.toLocalFile()), Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("The file %1 doesn't exist").arg(variable.first.toLocalFile())));
+ Q_ASSERT_X(m_resourceLoader->openDocument(variable.first, context), Q_FUNC_INFO,
+ "We're supposed to have the value. If not, an error should have been issued at query compile time.");
+
+ return m_resourceLoader->openDocument(variable.first, context);
+ }
+ else if(variable.second == Query)
+ {
+ /* Well, here we open the file and execute it. */
+ m_query.setQuery(QUrl::fromLocalFile(variable.first.toLocalFile()));
+ Q_ASSERT(m_query.isValid());
+
+ QXmlResultItems result;
+ m_query.evaluateTo(&result);
+
+ return QPatternist::Item::fromPublic(result.next());
+ }
+ else
+ {
+ Q_ASSERT(variable.second == URI);
+ return QPatternist::AtomicString::fromValue(variable.first.toString());
+ }
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h
new file mode 100644
index 0000000..802f5b4
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ExternalSourceLoader.h
@@ -0,0 +1,178 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ExternalSourceLoader_H
+#define PatternistSDK_ExternalSourceLoader_H
+
+#include <QHash>
+#include <QUrl>
+#include <QXmlQuery>
+
+#include "qdynamiccontext_p.h"
+#include "qresourceloader_p.h"
+#include "qexternalvariableloader_p.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Handles external variables in XQTS queries, such as <tt>$input-context</tt>,
+ * by loading appropriate XML source files.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT ExternalSourceLoader : public QPatternist::ExternalVariableLoader
+ {
+ public:
+ enum TargetOfURI
+ {
+ /**
+ * Identifies @c input-file.
+ */
+ Document,
+
+ /**
+ * Identifies @c input-URI.
+ */
+ URI,
+
+ /**
+ * Identifies @c input-query.
+ */
+ Query
+ };
+
+ /**
+ * The first is the complete, absolute, final URI to the file to be loaded,
+ * and the second is the type of source found at that URI.
+ */
+ typedef QPair<QUrl, TargetOfURI> VariableValue;
+
+ /**
+ * In the XQTSCatalog.xml each source file in each test is referred to
+ * by a key, which can be fully looked up in the @c sources element. This QHash
+ * maps the keys to absolute URIs pointing to the source file.
+ */
+ typedef QHash<QString, QUrl> SourceMap;
+
+ /**
+ * The first value is the variable name, and the second is the URI identifying
+ * the XML source file that's supposed to be loaded as a document.
+ *
+ * This is one for every test case, except for @c rdb-queries-results-q5,
+ * @c rdb-queries-results-q17 and @c rdb-queries-results-q18(at least in XQTS 1.0).
+ */
+ typedef QHash<QString, VariableValue> VariableMap;
+
+ ExternalSourceLoader(const VariableMap &varMap,
+ const QPatternist::ResourceLoader::Ptr &resourceLoader);
+
+ virtual QPatternist::SequenceType::Ptr
+ announceExternalVariable(const QXmlName name,
+ const QPatternist::SequenceType::Ptr &declaredType);
+
+ virtual QPatternist::Item
+ evaluateSingleton(const QXmlName name,
+ const QPatternist::DynamicContext::Ptr &context);
+
+ VariableMap variableMap() const
+ {
+ return m_variableMap;
+ }
+
+ private:
+ const VariableMap m_variableMap;
+ const QPatternist::ResourceLoader::Ptr m_resourceLoader;
+ QXmlQuery m_query;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Global.cpp b/tests/auto/xmlpatternsxqts/lib/Global.cpp
new file mode 100644
index 0000000..b5aa189
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/Global.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QXmlNamePool>
+
+#include "Global.h"
+
+using namespace QPatternistSDK;
+
+const QString Global::xqtsCatalogNS (QLatin1String("http://www.w3.org/2005/02/query-test-XQTSCatalog"));
+const QString Global::xqtsResultNS (QLatin1String("http://www.w3.org/2005/02/query-test-XQTSResult"));
+const QString Global::xsltsCatalogNS (QLatin1String("http://www.w3.org/2005/05/xslt20-test-catalog"));
+const QString Global::organizationName (QLatin1String("Patternist Team"));
+const qint16 Global::versionNumber (0x01);
+
+static QXmlNamePool s_namePool;
+
+QPatternist::NamePool::Ptr Global::namePool()
+{
+ return s_namePool.d;
+}
+
+QXmlNamePool Global::namePoolAsPublic()
+{
+ return s_namePool;
+}
+
+bool Global::readBoolean(const QString &value)
+{
+ const QString normd(value.simplified());
+
+ if(normd == QLatin1String("true") ||
+ normd == QLatin1String("1"))
+ return true;
+ else if(normd.isEmpty() ||
+ normd == QLatin1String("false") ||
+ normd == QLatin1String("0"))
+ return false;
+
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ "The lexical representation of xs:boolean was invalid");
+ return false;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Global.h b/tests/auto/xmlpatternsxqts/lib/Global.h
new file mode 100644
index 0000000..640ca32
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/Global.h
@@ -0,0 +1,169 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_Global_H
+#define PatternistSDK_Global_H
+
+#include <QString>
+
+#include "private/qitem_p.h"
+#include "private/qnamepool_p.h"
+
+#ifdef Q_WS_WIN
+# ifdef Q_PATTERNISTSDK_BUILDING
+ #define Q_PATTERNISTSDK_EXPORT __declspec(dllexport)
+ #else
+ #define Q_PATTERNISTSDK_EXPORT __declspec(dllimport)
+ #endif
+#else
+ #define Q_PATTERNISTSDK_EXPORT
+#endif
+
+/**
+ * @short Contains testing utilities for Patternist, interfacing W3C's XQuery Test Suite.
+ *
+ * @see <a href="http://www.w3.org/XML/Query/test-suite/">XML Query Test Suite</a>
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Contains global constants.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT Global
+ {
+ public:
+
+ /**
+ * The namespace which the XQTS test case catalog(specified by Catalog.xsd)
+ * is in. The namespace is: <tt>http://www.w3.org/2005/02/query-test-XQTSCatalog</tt>
+ */
+ static const QString xqtsCatalogNS;
+
+ /**
+ * The namespace which the XQTS test results collection(specified by XQTSResult.xsd)
+ * is in. The namespace is: <tt>http://www.w3.org/2005/02/query-test-XQTSResult</tt>
+ */
+ static const QString xqtsResultNS;
+
+ /**
+ * The organization which created PatternistSDK. It say something
+ * in the direction of "Patternist Team", and is used for QSettings and the like.
+ */
+ static const QString organizationName;
+
+ /**
+ * The namespace which W3C's XSL-T test suite resides in.
+ */
+ static const QString xsltsCatalogNS;
+
+ /**
+ * The version of PatternistSDK. The value has currently no other
+ * meaning than that larger means older. This version information is supplied to
+ * QMainWindow::restoreState() and QMainWindow::saveState().
+ */
+ static const qint16 versionNumber;
+
+ /**
+ * Parses the lexical space of @c xs:boolean,
+ * with the exception that the empty string is considered @c false.
+ */
+ static bool readBoolean(const QString &lexicalSpace);
+
+ static QPatternist::NamePool::Ptr namePool();
+ static QXmlNamePool namePoolAsPublic();
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp b/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp
new file mode 100644
index 0000000..44dc8a2
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ResultThreader.cpp
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QEventLoop>
+
+#include "ResultThreader.h"
+
+using namespace QPatternistSDK;
+
+ResultThreader::ResultThreader(QEventLoop &ev,
+ QFile *file,
+ const Type t,
+ QObject *p) : QThread(p)
+ , m_file(file)
+ , m_type(t)
+ , m_eventLoop(ev)
+{
+ Q_ASSERT_X(p, Q_FUNC_INFO, "Should have a parent");
+ Q_ASSERT_X(file, Q_FUNC_INFO, "Should have a valid file");
+ Q_ASSERT(m_type == Baseline || m_type == Result);
+}
+
+void ResultThreader::run()
+{
+ QXmlSimpleReader reader;
+ reader.setContentHandler(this);
+
+ QXmlInputSource source(m_file);
+ reader.parse(source);
+ m_file->close();
+}
+
+ResultThreader::Type ResultThreader::type() const
+{
+ return m_type;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/ResultThreader.h b/tests/auto/xmlpatternsxqts/lib/ResultThreader.h
new file mode 100644
index 0000000..8c511a8
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/ResultThreader.h
@@ -0,0 +1,151 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_ResultThreader_H
+#define PatternistSDK_ResultThreader_H
+
+#include <QFile>
+#include <QFileInfo>
+#include <QThread>
+
+#include "TestResultHandler.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QEventLoop;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Reads XML in the @c XQTSResult.xsd format, as a thread, allowing
+ * multiple parses to be done simultaneously.
+ *
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup PatternistSDK
+ */
+ class Q_PATTERNISTSDK_EXPORT ResultThreader : public QThread
+ , public TestResultHandler
+ {
+ public:
+ enum Type
+ {
+ Baseline = 1,
+ Result
+ };
+
+ /**
+ * Creates a ResultThreader that will read @p file when run() is called.
+ */
+ ResultThreader(QEventLoop &ev,
+ QFile *file,
+ const Type type,
+ QObject *parent);
+
+ /**
+ * Parses the file passed in this class's constructor with this ResultHandlerTH::Item::LisT
+ * as the QXmlContentHandler, and returns.
+ */
+ virtual void run();
+
+ /**
+ * @note Do not reimplement this function.
+ * @returns whether this ResultThreader handles the baseline or the result.
+ */
+ Type type() const;
+
+ private:
+ Q_DISABLE_COPY(ResultThreader)
+
+ QFile *const m_file;
+ const Type m_type;
+ QEventLoop & m_eventLoop;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
new file mode 100644
index 0000000..b699ead
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp
@@ -0,0 +1,545 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QDomDocument>
+#include <QFile>
+#include <QFileInfo>
+#include <QRegExp>
+#include <QtDebug>
+#include <QUrl>
+#include <QXmlAttributes>
+#include <QXmlSimpleReader>
+
+#include "qdebug_p.h"
+#include "XMLWriter.h"
+
+#include "TestBaseLine.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+Q_GLOBAL_STATIC_WITH_ARGS(QRegExp, errorRegExp, (QLatin1String("[A-Z]{4}[0-9]{4}")))
+
+TestBaseLine::TestBaseLine(const Type t) : m_type(t)
+{
+ Q_ASSERT(errorRegExp()->isValid());
+}
+
+TestResult::Status TestBaseLine::scan(const QString &serialized,
+ const TestBaseLine::List &lines)
+{
+ Q_ASSERT_X(lines.count() >= 1, Q_FUNC_INFO,
+ "At least one base line must be passed, otherwise there's nothing "
+ "to compare to.");
+
+ const TestBaseLine::List::const_iterator end(lines.constEnd());
+ TestBaseLine::List::const_iterator it(lines.constBegin());
+ for(; it != end; ++it)
+ {
+ const TestResult::Status retval((*it)->verify(serialized));
+
+ if(retval == TestResult::Pass || retval == TestResult::NotTested)
+ return retval;
+ }
+
+ return TestResult::Fail;
+}
+
+TestResult::Status TestBaseLine::scanErrors(const ErrorHandler::Message::List &errors,
+ const TestBaseLine::List &lines)
+{
+ pDebug() << "TestBaseLine::scanErrors()";
+
+ /* 1. Find the first error in @p errors that's a Patternist
+ * error(not warning and not from Qt) and extract the error code. */
+ QString errorCode;
+
+ const ErrorHandler::Message::List::const_iterator end(errors.constEnd());
+ ErrorHandler::Message::List::const_iterator it(errors.constBegin());
+ for(; it != end; ++it)
+ {
+ if((*it).type() != QtFatalMsg)
+ continue;
+
+ errorCode = QUrl((*it).identifier()).fragment();
+
+ pDebug() << "ERR:" << (*it).description();
+ /* This is hackish. We have no way of determining whether a Message
+ * is actually issued from Patternist, so we try to narrow it down like this. */
+ if(errorRegExp()->exactMatch(errorCode))
+ break; /* It's an error code. */
+ else
+ errorCode.clear();
+ }
+
+ pDebug() << "Got error code: " << errorCode;
+ /* 2. Loop through @p lines, and for the first base line
+ * which is of type ExpectedError and which matches @p errorCode
+ * return Pass, otherwise Fail. */
+ const TestBaseLine::List::const_iterator blend(lines.constEnd());
+ TestBaseLine::List::const_iterator blit(lines.constBegin());
+ for(; blit != blend; ++blit)
+ {
+ const Type t = (*blit)->type();
+
+ if(t == TestBaseLine::ExpectedError)
+ {
+ const QString d((*blit)->details());
+ if(d == errorCode || d == QChar::fromLatin1('*'))
+ return TestResult::Pass;
+ }
+ }
+
+ return TestResult::Fail;
+}
+
+void TestBaseLine::toXML(XMLWriter &receiver) const
+{
+ switch(m_type)
+ {
+ case XML: /* Fallthrough. */
+ case Fragment: /* Fallthrough. */
+ case Text:
+ {
+ QXmlAttributes inspectAtts;
+ inspectAtts.append(QLatin1String("role"), QString(),
+ QLatin1String("role"), QLatin1String("principal"));
+ inspectAtts.append(QLatin1String("compare"), QString(),
+ QLatin1String("compare"), displayName(m_type));
+ receiver.startElement(QLatin1String("output-file"), inspectAtts);
+ receiver.characters(m_details);
+ receiver.endElement(QLatin1String("output-file"));
+ return;
+ }
+ case Ignore:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Serializing 'Ignore' is not implemented.");
+ return;
+ }
+ case Inspect:
+ {
+ QXmlAttributes inspectAtts;
+ inspectAtts.append(QLatin1String("role"), QString(),
+ QLatin1String("role"), QLatin1String("principal"));
+ inspectAtts.append(QLatin1String("compare"), QString(),
+ QLatin1String("compare"), QLatin1String("Inspect"));
+ receiver.startElement(QLatin1String("output-file"), inspectAtts);
+ receiver.characters(m_details);
+ receiver.endElement(QLatin1String("output-file"));
+ return;
+ }
+ case ExpectedError:
+ {
+ receiver.startElement(QLatin1String("expected-error"));
+ receiver.characters(m_details);
+ receiver.endElement(QLatin1String("expected-error"));
+ return;
+ }
+ }
+}
+
+bool TestBaseLine::isChildrenDeepEqual(const QDomNodeList &cl1, const QDomNodeList &cl2)
+{
+ const unsigned int len = cl1.length();
+
+ if(len == cl2.length())
+ {
+ for(unsigned int i = 0; i < len; ++i)
+ {
+ if(!isDeepEqual(cl1.at(i), cl2.at(i)))
+ return false;
+ }
+
+ return true;
+ }
+ else
+ return false;
+}
+
+bool TestBaseLine::isAttributesEqual(const QDomNamedNodeMap &cl1, const QDomNamedNodeMap &cl2)
+{
+ const unsigned int len = cl1.length();
+ pDebug() << "LEN:" << len;
+
+ if(len == cl2.length())
+ {
+ for(unsigned int i1 = 0; i1 < len; ++i1)
+ {
+ const QDomNode attr1(cl1.item(i1));
+ Q_ASSERT(!attr1.isNull());
+
+ /* This is set if attr1 cannot be found at all in cl2. */
+ bool earlyExit = false;
+
+ for(unsigned int i2 = 0; i2 < len; ++i2)
+ {
+ const QDomNode attr2(cl2.item(i2));
+ Q_ASSERT(!attr2.isNull());
+ pDebug() << "ATTR1:" << attr1.localName() << attr1.namespaceURI() << attr1.prefix() << attr1.nodeName();
+ pDebug() << "ATTR2:" << attr2.localName() << attr2.namespaceURI() << attr2.prefix() << attr2.nodeName();
+
+ if(attr1.localName() == attr2.localName() &&
+ attr1.namespaceURI() == attr2.namespaceURI() &&
+ attr1.prefix() == attr2.prefix() &&
+ attr1.nodeName() == attr2.nodeName() && /* Yes, needed in addition to all the other. */
+ attr1.nodeValue() == attr2.nodeValue())
+ {
+ earlyExit = true;
+ break;
+ }
+ }
+
+ if(!earlyExit)
+ {
+ /* An attribute was found that doesn't exist in the other list so exit. */
+ return false;
+ }
+ }
+
+ return true;
+ }
+ else
+ return false;
+}
+
+bool TestBaseLine::isDeepEqual(const QDomNode &n1, const QDomNode &n2)
+{
+ if(n1.nodeType() != n2.nodeType())
+ return false;
+
+ switch(n1.nodeType())
+ {
+ case QDomNode::CommentNode:
+ /* Fallthrough. */
+ case QDomNode::TextNode:
+ {
+ return static_cast<const QDomCharacterData &>(n1).data() ==
+ static_cast<const QDomCharacterData &>(n2).data();
+ }
+ case QDomNode::ProcessingInstructionNode:
+ {
+ return n1.nodeName() == n2.nodeName() &&
+ n1.nodeValue() == n2.nodeValue();
+ }
+ case QDomNode::DocumentNode:
+ return isChildrenDeepEqual(n1.childNodes(), n2.childNodes());
+ case QDomNode::ElementNode:
+ {
+ return n1.localName() == n2.localName() &&
+ n1.namespaceURI() == n2.namespaceURI() &&
+ n1.nodeName() == n2.nodeName() && /* Yes, this one is needed in addition to localName(). */
+ isAttributesEqual(n1.attributes(), n2.attributes()) &&
+ isChildrenDeepEqual(n1.childNodes(), n2.childNodes());
+ }
+ /* Fallthrough all these. */
+ case QDomNode::EntityReferenceNode:
+ case QDomNode::CDATASectionNode:
+ case QDomNode::EntityNode:
+ case QDomNode::DocumentTypeNode:
+ case QDomNode::DocumentFragmentNode:
+ case QDomNode::NotationNode:
+ case QDomNode::BaseNode:
+ case QDomNode::CharacterDataNode:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ "An unsupported node type was encountered.");
+ return false;
+ }
+ case QDomNode::AttributeNode:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ "This should never happen. QDom doesn't allow us to compare DOM attributes "
+ "properly.");
+ return false;
+ }
+ default:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Unhandled QDom::NodeType value.");
+ return false;
+ }
+ }
+}
+
+TestResult::Status TestBaseLine::verify(const QString &serializedInput) const
+{
+ switch(m_type)
+ {
+ case Text:
+ {
+ if(serializedInput == details())
+ return TestResult::Pass;
+ else
+ return TestResult::Fail;
+ }
+ case Fragment:
+ /* Fall through. */
+ case XML:
+ {
+ /* Read the baseline and the serialized input into two QDomDocuments, and compare
+ * them deeply. We wrap fragments in a root node such that it is well-formed XML.
+ */
+
+ QDomDocument output;
+ {
+ /* The reason we put things into a QByteArray and then parse it through QXmlSimpleReader, is that
+ * QDomDocument does whitespace stripping when calling setContent(QString). In other words,
+ * this workarounds a bug. */
+
+ QXmlInputSource source;
+ source.setData((m_type == XML ? serializedInput : QLatin1String("<r>") +
+ serializedInput +
+ QLatin1String("</r>")).toUtf8());
+
+ QString outputReadingError;
+
+ QXmlSimpleReader reader;
+ reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true);
+
+ const bool success = output.setContent(&source,
+ &reader,
+ &outputReadingError);
+
+ if(!success)
+ return TestResult::Fail;
+
+ Q_ASSERT(success);
+ }
+
+ QDomDocument baseline;
+ {
+ QXmlInputSource source;
+ source.setData((m_type == XML ? details() : QLatin1String("<r>") +
+ details() +
+ QLatin1String("</r>")).toUtf8());
+ QString baselineReadingError;
+
+ QXmlSimpleReader reader;
+ reader.setFeature(QLatin1String("http://xml.org/sax/features/namespace-prefixes"), true);
+
+ const bool success = baseline.setContent(&source,
+ &reader,
+ &baselineReadingError);
+
+ if(!success)
+ return TestResult::Fail;
+
+ /* This piece of code workaround a bug in QDom, which treats XML prologs as processing
+ * instructions and make them available in the tree as so. */
+ if(m_type == XML)
+ {
+ /* $doc/r/node() */
+ const QDomNodeList children(baseline.childNodes());
+ const int len = children.length();
+
+ for(int i = 0; i < len; ++i)
+ {
+ const QDomNode &child = children.at(i);
+ if(child.isProcessingInstruction() && child.nodeName() == QLatin1String("xml"))
+ {
+ baseline.removeChild(child);
+ break;
+ }
+ }
+ }
+
+ Q_ASSERT_X(baselineReadingError.isNull(), Q_FUNC_INFO,
+ qPrintable((QLatin1String("Reading the baseline failed: ") + baselineReadingError)));
+ }
+
+ if(isDeepEqual(output, baseline))
+ return TestResult::Pass;
+ else
+ {
+ pDebug() << "FAILURE:" << output.toString() << "is NOT IDENTICAL to(baseline):" << baseline.toString();
+ return TestResult::Fail;
+ }
+ }
+ case Ignore:
+ return TestResult::Pass;
+ case Inspect:
+ return TestResult::NotTested;
+ case ExpectedError:
+ {
+ /* This function is only called for Text/XML/Fragment tests. */
+ return TestResult::Fail;
+ }
+ }
+ Q_ASSERT(false);
+ return TestResult::Fail;
+}
+
+TestBaseLine::Type TestBaseLine::identifierFromString(const QString &string)
+{
+ /* "html-output: Using an ad hoc tool, it must assert that the document obeys the HTML
+ * Output Method as defined in the Serialization specification and section
+ * 20 of the XSLT 2.0 specification." We treat it as XML for now, same with
+ * xhtml-output. */
+ if(string.compare(QLatin1String("XML"), Qt::CaseInsensitive) == 0 ||
+ string == QLatin1String("html-output") ||
+ string == QLatin1String("xml-output") ||
+ string == QLatin1String("xhtml-output"))
+ return XML;
+ else if(string == QLatin1String("Fragment") || string == QLatin1String("xml-frag"))
+ return Fragment;
+ else if(string.compare(QLatin1String("Text"), Qt::CaseInsensitive) == 0)
+ return Text;
+ else if(string == QLatin1String("Ignore"))
+ return Ignore;
+ else if(string.compare(QLatin1String("Inspect"), Qt::CaseInsensitive) == 0)
+ return Inspect;
+ else
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("Invalid string representation for a comparation type: %1").arg(string)));
+
+ return Ignore; /* Silence GCC. */
+ }
+}
+
+QString TestBaseLine::displayName(const Type id)
+{
+ switch(id)
+ {
+ case XML:
+ return QLatin1String("XML");
+ case Fragment:
+ return QLatin1String("Fragment");
+ case Text:
+ return QLatin1String("Text");
+ case Ignore:
+ return QLatin1String("Ignore");
+ case Inspect:
+ return QLatin1String("Inspect");
+ case ExpectedError:
+ return QLatin1String("ExpectedError");
+ }
+
+ Q_ASSERT(false);
+ return QString();
+}
+
+QString TestBaseLine::details() const
+{
+ if(m_type == Ignore) /* We're an error code. */
+ return QString();
+ if(m_type == ExpectedError) /* We're an error code. */
+ return m_details;
+
+ if(m_details.isEmpty())
+ return m_details;
+
+ /* m_details is a file name, we open it and return the result. */
+ QFile file(QUrl(m_details).toLocalFile());
+
+ QString retval;
+ if(!file.exists())
+ retval = QString::fromLatin1("%1 does not exist.").arg(file.fileName());
+ else if(!QFileInfo(file.fileName()).isFile())
+ retval = QString::fromLatin1("%1 is not a file, cannot display it.").arg(file.fileName());
+ else if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ retval = QString::fromLatin1("Could not open %1. Likely a permission error.").arg(file.fileName());
+
+ if(retval.isNull())
+ {
+ /* Scary, we assume the query/baseline is in UTF-8. */
+ return QString::fromUtf8(file.readAll());
+ }
+ else
+ {
+ /* We had a file error. */
+ retval.prepend(QLatin1String("Test-suite harness error: "));
+ qCritical() << retval;
+ return retval;
+ }
+}
+
+TestBaseLine::Type TestBaseLine::type() const
+{
+ return m_type;
+}
+
+void TestBaseLine::setDetails(const QString &detailsP)
+{
+ m_details = detailsP;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
new file mode 100644
index 0000000..577c4b1
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestBaseLine.h
@@ -0,0 +1,246 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestBaseLine_H
+#define PatternistSDK_TestBaseLine_H
+
+#include <QString>
+
+#include "Global.h"
+#include "TestResult.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QDomNamedNodeMap;
+class QDomNode;
+class QDomNodeList;
+template<typename T> class QList;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Represents an expected test result for a test case.
+ *
+ * TestBaseLine represents a valid outcome for a test case,
+ * the "base line". A XQTS test case can have many different valid
+ * base lines, and one TestBaseLine instance represents on of them.
+ *
+ * Of highest interest, TestBaseLine have the function scan() and
+ * scanErrors(), which allows serialized output to be
+ * compared to the base line.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestBaseLine
+ {
+ public:
+ typedef QList<TestBaseLine *> List;
+
+ /**
+ * Identifies what kind of comparator to use. The documentation
+ * for each enumerator is copied from
+ * <a href="http://www.w3.org/XML/Query/test-suite/Guidelines
+ * for Running the XML Query Test Suite.html">Guidelines
+ * for Running the XML Query Test Suite</a>
+ */
+ enum Type
+ {
+ /**
+ * The test harness must canonicalize both, the actual result
+ * and the expected result according to the "Canonical XML" recommendation [2],
+ * which refers to a number of open-source implementations. Byte-comparison can
+ * then be applied to the resulting XML documents. If the test harness does
+ * this process in a different manner, it must be documented.
+ */
+ XML,
+
+ /**
+ * For XML fragments, the same root node must be created for both,
+ * implementation result and test suite result. The resulting XML
+ * can be compared using XML comparison.
+ */
+ Fragment,
+
+ /**
+ * Text (that has been produced by XML serialization) is compared
+ * using byte-comparison.
+ */
+ Text,
+
+ /**
+ * No comparison needs to be applied; the result is always @c true if
+ * the implementation successfully executes the test case.
+ */
+ Ignore,
+
+ /**
+ * A human is required to make the call about correctness of the result
+ * according to the description in the test case.
+ */
+ Inspect,
+
+ /**
+ * The expected result of the test case is an error, identified as an
+ * eight-character error code (e.g., XPST0003). The result of a test is
+ * @c true, if the implementation raises an error. However, raising an error
+ * because an implementation does not support the feature is not
+ * considered a correct result.
+ */
+ ExpectedError
+ };
+
+ /**
+ * Takes a string identifying a comparator either in the XSL-T or the
+ * XQuery test suite, and returns an enum value for it.
+ *
+ * If the value is unknown, the code asserts.
+ */
+ static Type identifierFromString(const QString &string);
+
+ /**
+ * @returns a display name for @p id. For example, if Inspect was passed, "Inspect"
+ * would be returned.
+ */
+ static QString displayName(const Type id);
+
+ /**
+ * Compares @p items(typically the result of an evaluation) against
+ * the base lines @p lines.
+ *
+ * @returns the status of the first base line which passes,
+ * otherwise TestResult::Fail.
+ */
+ static TestResult::Status scan(const QString &serialized,
+ const TestBaseLine::List &lines);
+
+ static TestResult::Status scanErrors(const ErrorHandler::Message::List &errors,
+ const TestBaseLine::List &lines);
+
+ /**
+ * Constructs a TestBaseLine of type @p type.
+ */
+ TestBaseLine(const Type type);
+
+ /**
+ * What @p details contains depends on the type(). If the type() is ExpectedError,
+ * @p details contains the relevant error code. If the type() is one which compares
+ * result against a base line, it is a filename locating the baseline.
+ */
+ void setDetails(const QString &details);
+
+ Type type() const;
+
+ QString details() const;
+
+ void toXML(XMLWriter &receiver) const;
+
+ protected:
+ TestResult::Status verify(const QString &serializedInput) const;
+
+ private:
+ static bool isDeepEqual(const QDomNode &n1, const QDomNode &n2);
+
+ /**
+ * @returns @c true if the nodes in @p cl1 are equal to @p cl2, by calling isDeepEqual()
+ * for each pair.
+ */
+ static bool isChildrenDeepEqual(const QDomNodeList &cl1, const QDomNodeList &cl2);
+
+ /**
+ * Considers @p cl1 and @p cl2 to be lists containing attributes. The list are equal
+ * if they contain attributes by same value and name, but regardless of order.
+ */
+ static bool isAttributesEqual(const QDomNamedNodeMap &cl1, const QDomNamedNodeMap &cl2);
+ const Type m_type;
+ QString m_details;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestCase.cpp b/tests/auto/xmlpatternsxqts/lib/TestCase.cpp
new file mode 100644
index 0000000..0dc23dd
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestCase.cpp
@@ -0,0 +1,480 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QBuffer>
+#include <QUrl>
+#include <QXmlAttributes>
+#include <QXmlQuery>
+#include <QXmlResultItems>
+#include <QXmlSerializer>
+#include <qxmlquery_p.h>
+
+#include "DebugExpressionFactory.h"
+#include "ExternalSourceLoader.h"
+#include "Global.h"
+#include "TestSuite.h"
+#include "XMLWriter.h"
+
+#include "TestCase.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+// STATIC DATA
+static const DebugExpressionFactory::Ptr s_exprFact(new DebugExpressionFactory());
+
+TestCase::TestCase() : m_result(0)
+{
+}
+
+TestCase::~TestCase()
+{
+ delete m_result;
+}
+
+TestResult::List TestCase::execute(const ExecutionStage stage,
+ TestSuite *)
+{
+ if(name() == QLatin1String("Constr-cont-document-3"))
+ {
+ TestResult::List result;
+ result.append(createTestResult(TestResult::Fail, QLatin1String("Skipped this test, because we loop infinitely on it.")));
+ return result;
+ }
+ else if(name() == QLatin1String("Axes089"))
+ {
+ TestResult::List result;
+ result.append(createTestResult(TestResult::Fail, QLatin1String("Skipped this test, we crash on it.")));
+ return result;
+ }
+
+ qDebug() << "Running test case: " << name();
+
+ return execute(stage);
+
+ Q_ASSERT(false);
+ return TestResult::List();
+}
+
+TestResult *TestCase::createTestResult(const TestResult::Status status,
+ const QString &comment) const
+{
+ TestResult *const result = new TestResult(name(),
+ status,
+ 0 /* We don't have an AST. */,
+ ErrorHandler::Message::List(),
+ QPatternist::Item::List(),
+ QString());
+ result->setComment(comment);
+ return result;
+}
+
+TestResult::List TestCase::execute(const ExecutionStage stage)
+{
+ ErrorHandler errHandler;
+ ErrorHandler::installQtMessageHandler(&errHandler);
+
+ pDebug() << "TestCase::execute()";
+ delete m_result;
+
+ QXmlQuery query(language(), Global::namePoolAsPublic());
+
+ query.d->setExpressionFactory(s_exprFact);
+ query.setInitialTemplateName(initialTemplateName());
+
+ QXmlQuery openDoc(query.namePool());
+
+ if(contextItemSource().isValid())
+ {
+ openDoc.setQuery(QString::fromLatin1("doc('") + contextItemSource().toString() + QLatin1String("')"));
+ Q_ASSERT(openDoc.isValid());
+ QXmlResultItems result;
+
+ openDoc.evaluateTo(&result);
+ const QXmlItem item(result.next());
+ Q_ASSERT(!item.isNull());
+ query.setFocus(item);
+ }
+
+ TestResult::List retval;
+
+ const Scenario scen(scenario());
+ TestResult::Status resultStatus = TestResult::Unknown;
+
+ bool ok = false;
+ const QString queryString(sourceCode(ok));
+
+ if(!ok)
+ {
+ /* Loading the query file failed, or similar. */
+ resultStatus = TestResult::Fail;
+
+ m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
+ errHandler.messages(), QPatternist::Item::List(), QString());
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+ }
+
+ query.setMessageHandler(&errHandler);
+ QXmlNamePool namePool(query.namePool());
+
+ /* Bind variables. */
+ QPatternist::ExternalVariableLoader::Ptr loader(externalVariableLoader());
+ if(loader)
+ {
+ Q_ASSERT(loader);
+ const ExternalSourceLoader::VariableMap vMap(static_cast<const ExternalSourceLoader *>(loader.data())->variableMap());
+ const QStringList variables(vMap.keys());
+
+ for(int i = 0; i < variables.count(); ++i)
+ {
+ const QXmlName name(namePool, variables.at(i));
+ const QXmlItem val(QPatternist::Item::toPublic(loader->evaluateSingleton(name, QPatternist::DynamicContext::Ptr())));
+ query.bindVariable(name, val);
+ }
+ }
+
+ /* We pass in the testCasePath(), such that the base URI is correct fort
+ * XSL-T stylesheets. */
+ query.setQuery(queryString, testCasePath());
+
+ if(!query.isValid())
+ {
+ pDebug() << "Got compilation exception.";
+ resultStatus = TestBaseLine::scanErrors(errHandler.messages(), baseLines());
+
+ Q_ASSERT(resultStatus != TestResult::Unknown);
+ m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
+ errHandler.messages(), QPatternist::Item::List(), QString());
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+ }
+
+ if(stage == CompileOnly)
+ {
+ m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
+ errHandler.messages(), QPatternist::Item::List(), QString());
+ retval.append(m_result);
+ return retval;
+ }
+
+ Q_ASSERT(stage == CompileAndRun);
+
+ if(scen == ParseError) /* We're supposed to have received an error
+ at this point. */
+ {
+ m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
+ errHandler.messages(), QPatternist::Item::List(), QString());
+ ErrorHandler::installQtMessageHandler(0);
+ retval.append(m_result);
+ changed(this);
+ return retval;
+ }
+
+ QPatternist::Item::List itemList;
+
+ QByteArray output;
+ QBuffer buffer(&output);
+ buffer.open(QIODevice::WriteOnly);
+
+ QXmlSerializer serializer(query, &buffer);
+
+ pDebug() << "-------------------------- evaluateToPushCallback() ---------------------------- ";
+ const bool success = query.evaluateTo(&serializer);
+ pDebug() << "------------------------------------------------------------------------------------ ";
+
+ buffer.close();
+
+ const QString serialized(QString::fromUtf8(output.constData(), output.size()));
+
+ if(!success)
+ {
+ resultStatus = TestBaseLine::scanErrors(errHandler.messages(), baseLines());
+
+ Q_ASSERT(resultStatus != TestResult::Unknown);
+ m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
+ errHandler.messages(), QPatternist::Item::List(), serialized);
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+ }
+
+ /* It's a regular test. */
+ Q_ASSERT(scen == Standard || scen == RuntimeError);
+
+ resultStatus = TestBaseLine::scan(serialized, baseLines());
+ Q_ASSERT(resultStatus != TestResult::Unknown);
+
+ /* Check that errHandler()->messages() at most only contains
+ * warnings, since it shouldn't have errors at this point. */
+ const ErrorHandler::Message::List errors (errHandler.messages());
+ const ErrorHandler::Message::List::const_iterator end(errors.constEnd());
+ ErrorHandler::Message::List::const_iterator it(errors.constBegin());
+
+ for(; it != end; ++it)
+ {
+ const QtMsgType type = (*it).type();
+ if(type == QtFatalMsg)
+ {
+ m_result = new TestResult(name(), TestResult::Fail, s_exprFact->astTree(),
+ errHandler.messages(), itemList, serialized);
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+ }
+ }
+
+ m_result = new TestResult(name(), resultStatus, s_exprFact->astTree(),
+ errHandler.messages(), itemList, serialized);
+ retval.append(m_result);
+ ErrorHandler::installQtMessageHandler(0);
+ changed(this);
+ return retval;
+}
+
+TestCase::Scenario TestCase::scenarioFromString(const QString &string)
+{
+ if(string == QLatin1String("standard"))
+ return Standard;
+ else if(string == QLatin1String("parse-error"))
+ return ParseError;
+ else if(string == QLatin1String("runtime-error"))
+ return RuntimeError;
+ else if(string == QLatin1String("trivial"))
+ return Trivial;
+ else
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("Invalid string representation for the scenario-enum: %1").arg(string)));
+ return ParseError; /* Silence GCC. */
+ }
+}
+
+void TestCase::toXML(XMLWriter &receiver) const
+{
+ /* <test-case> */
+ QXmlAttributes test_caseAtts;
+ test_caseAtts.append(QLatin1String("is-XPath2"), QString(),
+ QLatin1String("is-XPath2"), isXPath() ? QLatin1String("true")
+ : QLatin1String("false"));
+ test_caseAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), name());
+ test_caseAtts.append(QLatin1String("creator"), QString(), QLatin1String("creator"), creator());
+ QString scen;
+ switch(scenario())
+ {
+ case Standard:
+ {
+ scen = QLatin1String("standard");
+ break;
+ }
+ case ParseError:
+ {
+ scen = QLatin1String("parse-error");
+ break;
+ }
+ case RuntimeError:
+ {
+ scen = QLatin1String("runtime-error");
+ break;
+ }
+ case Trivial:
+ {
+ scen = QLatin1String("trivial");
+ break;
+ }
+ default: /* includes 'AnyError' */
+ Q_ASSERT(false);
+ }
+ test_caseAtts.append(QLatin1String("scenario"), QString(), QLatin1String("scenario"), scen);
+ test_caseAtts.append(QLatin1String(QLatin1String("FilePath")), QString(),
+ QLatin1String("FilePath"), QString());
+ receiver.startElement(QLatin1String("test-case"), test_caseAtts);
+
+ /* <description> */
+ receiver.startElement(QLatin1String("description"), test_caseAtts);
+ receiver.characters(description());
+
+ /* </description> */
+ receiver.endElement(QLatin1String("description"));
+
+ /* <query> */
+ QXmlAttributes queryAtts;
+ queryAtts.append(QLatin1String("date"), QString(), QLatin1String("date"), /* This date is a dummy. */
+ QDate::currentDate().toString(Qt::ISODate));
+ queryAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), testCasePath().toString());
+ receiver.startElement(QLatin1String("query"), queryAtts);
+
+ /* </query> */
+ receiver.endElement(QLatin1String("query"));
+
+ /* Note: this is invalid, we don't add spec-citation. */
+ TestBaseLine::List bls(baseLines());
+ const TestBaseLine::List::const_iterator end(bls.constEnd());
+ TestBaseLine::List::const_iterator it(bls.constBegin());
+
+ for(; it != end; ++it)
+ (*it)->toXML(receiver);
+
+ /* </test-case> */
+ receiver.endElement(QLatin1String("test-case"));
+}
+
+QString TestCase::displayName(const Scenario scen)
+{
+ switch(scen)
+ {
+ case Standard:
+ return QLatin1String("Standard");
+ case ParseError:
+ return QLatin1String("Parse Error");
+ case RuntimeError:
+ return QLatin1String("Runtime Error");
+ case Trivial:
+ return QLatin1String("Trivial");
+ case AnyError:
+ {
+ Q_ASSERT(false);
+ return QString();
+ }
+ }
+
+ Q_ASSERT(false);
+ return QString();
+}
+
+TestItem::ResultSummary TestCase::resultSummary() const
+{
+ if(m_result)
+ return ResultSummary(m_result->status() == TestResult::Pass ? 1 : 0,
+ 1);
+
+ return ResultSummary(0, 1);
+}
+
+void TestCase::appendChild(TreeItem *)
+{
+ Q_ASSERT_X(false, Q_FUNC_INFO, "Makes no sense to call appendChild() for TestCase.");
+}
+
+TreeItem *TestCase::child(const unsigned int) const
+{
+ return 0; /* Silence GCC */
+}
+
+TreeItem::List TestCase::children() const
+{
+ return TreeItem::List();
+}
+
+unsigned int TestCase::childCount() const
+{
+ return 0;
+}
+
+TestResult *TestCase::testResult() const
+{
+ return m_result;
+}
+
+bool TestCase::isFinalNode() const
+{
+ return true;
+}
+
+QXmlQuery::QueryLanguage TestCase::language() const
+{
+ return QXmlQuery::XQuery10;
+}
+
+QXmlName TestCase::initialTemplateName() const
+{
+ return QXmlName();
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/TestCase.h b/tests/auto/xmlpatternsxqts/lib/TestCase.h
new file mode 100644
index 0000000..14d4a48
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestCase.h
@@ -0,0 +1,297 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestCase_H
+#define PatternistSDK_TestCase_H
+
+#include <QtXmlPatterns/QXmlQuery>
+
+#include "qexternalvariableloader_p.h"
+
+#include "ErrorHandler.h"
+#include "TestBaseLine.h"
+#include "Global.h"
+
+#include "TestItem.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QDate;
+class QString;
+class QUrl;
+
+namespace QPatternistSDK
+{
+ class XMLWriter;
+
+ /**
+ * @short A generic abstract base class for test cases.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestCase : public TestItem
+ {
+ public:
+ /**
+ * Corresponds to the simpleType test:scenarios-enum
+ */
+ enum Scenario
+ {
+ /**
+ * The test case should evaluate normally and that the output
+ * should match the supplied base line.
+ */
+ Standard = 1,
+
+ /**
+ * The test case should result in a static error, a parser error.
+ */
+ ParseError = 2,
+
+ /**
+ * The test case should result in a dynamic error, a runtime error.
+ */
+ RuntimeError = 4,
+
+ Trivial = 8,
+
+ /**
+ * ParseError and RuntimeError OR'd.
+ */
+ AnyError = RuntimeError | ParseError
+
+ };
+
+ TestCase();
+ virtual ~TestCase();
+
+ /**
+ * Executes the test, and returns the result. The returned list
+ * will always contain exactly one TestResult.
+ *
+ * @p stage is ignored when running out-of-process.
+ */
+ virtual TestResult::List execute(const ExecutionStage stage,
+ TestSuite *ts);
+
+ /**
+ * Determines the corresponding Scenario enumerator from the string
+ * representation @p string.
+ *
+ * The following mappings are in effect:
+ * @arg @c Standard "standard"
+ * @arg @c ParseError "parse-error"
+ * @arg @c RuntimeError "runtime-error"
+ */
+ static Scenario scenarioFromString(const QString &string);
+
+ /**
+ * @return always @c true
+ */
+ virtual bool isFinalNode() const;
+
+ /**
+ * Calling this function makes no sense, so it always
+ * performs an Q_ASSERT check.
+ */
+ virtual void appendChild(TreeItem *);
+
+ /**
+ * Calling this function makes no sense, so it always
+ * performs an Q_ASSERT check.
+ */
+ virtual TreeItem *child(const unsigned int) const;
+
+ /**
+ * @return always zero
+ */
+ virtual unsigned int childCount() const;
+
+ /**
+ * @return always an empty list.
+ */
+ virtual TreeItem::List children() const;
+
+ /**
+ * A description of the test case for human consumption.
+ */
+ virtual QString description() const = 0;
+
+ /**
+ * The title of the test. This can be the identifier of the test, for example.
+ */
+ virtual QString title() const = 0;
+
+ /**
+ * Whether this test case only make use of XPath features.
+ *
+ * @returns @c false if the test case exercises any XQuery feature
+ * which is not available in XPath 2.0.
+ */
+ virtual bool isXPath() const = 0;
+
+ /**
+ * The full name of the creator of the test case. For example, "Frans Englich".
+ */
+ virtual QString creator() const = 0;
+
+ /**
+ * The date of when the test case was created or last modified.
+ */
+ virtual QDate lastModified() const = 0;
+
+ /**
+ * The test's source code. That is, the XPath/XQuery code for the test.
+ *
+ * @param ok the function sets this value to @c false if loading the query
+ * failed, and returns a description of the error for human consumption. If
+ * everything went ok, @p ok is set to @c true, and the query is returned.
+ */
+ virtual QString sourceCode(bool &ok) const = 0;
+
+ /**
+ * The path to the file containing the code of the test case.
+ */
+ virtual QUrl testCasePath() const = 0;
+
+ /**
+ * The test case's identifier. For example, "Literals001".
+ */
+ virtual QString name() const = 0;
+
+ /**
+ * What kind of test this is. For example, whether the test case
+ * should result in a parser error or should evaluate without errors.
+ *
+ * The vast common case is that one Scenario is returned; the bit signifiance
+ * is for the TestCase sub-class UserTestCase.
+ */
+ virtual Scenario scenario() const = 0;
+
+ static QString displayName(const Scenario scen);
+
+ /**
+ * @returns the valid test baselines for this test case. If only
+ * one outcome is valid, the returned list only contains
+ * that baseline.
+ */
+ virtual TestBaseLine::List baseLines() const = 0;
+
+ virtual TestResult *testResult() const;
+
+ virtual ResultSummary resultSummary() const;
+
+ void toXML(XMLWriter &receiver) const;
+
+ virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const = 0;
+
+ /**
+ * @short The XML document that should be used as focus. If none should
+ * be used, and hence the focus be undefined, a default constructed
+ * QUrl is returned.
+ */
+ virtual QUrl contextItemSource() const = 0;
+
+ /**
+ * Returns by default QXmlQuery::XQuery10.
+ */
+ virtual QXmlQuery::QueryLanguage language() const;
+
+ virtual QXmlName initialTemplateName() const;
+ private:
+ TestResult::List execute(const ExecutionStage stage);
+ TestResult *createTestResult(const TestResult::Status status,
+ const QString &comment) const;
+
+ QPointer<TestResult> m_result;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp b/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp
new file mode 100644
index 0000000..b0a7c36
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestContainer.cpp
@@ -0,0 +1,192 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QPair>
+#include <QtDebug>
+
+#include "TestContainer.h"
+
+using namespace QPatternistSDK;
+
+TestContainer::TestContainer() : m_deleteChildren(true)
+{
+}
+
+TestContainer::~TestContainer()
+{
+ if(m_deleteChildren)
+ qDeleteAll(m_children);
+}
+
+TestResult::List TestContainer::execute(const ExecutionStage stage,
+ TestSuite *ts)
+{
+ Q_ASSERT(ts);
+ const unsigned int c = m_children.count();
+ TestResult::List result;
+
+ for(unsigned int i = 0; i != c; ++i)
+ result += static_cast<TestItem *>(child(i))->execute(stage, ts);
+
+ return result;
+}
+
+TestItem::ResultSummary TestContainer::resultSummary() const
+{
+ const int c = childCount();
+ int total = 0;
+ int pass = 0;
+
+ for(int i = 0; i != c; ++i)
+ {
+ TestItem *t = static_cast<TestItem *>(child(i));
+ const ResultSummary sum(t->resultSummary());
+ pass += sum.first;
+ total += sum.second;
+ }
+
+ return ResultSummary(pass, total);
+}
+
+TreeItem::List TestContainer::children() const
+{
+ return m_children;
+}
+
+void TestContainer::appendChild(TreeItem *item)
+{
+ /* When one of our children changes, we changes. */
+ connect(item, SIGNAL(changed(TreeItem *)), SIGNAL(changed(TreeItem *)));
+ m_children.append(item);
+}
+
+TreeItem *TestContainer::child(const unsigned int rowP) const
+{
+ return m_children.value(rowP);
+}
+
+unsigned int TestContainer::childCount() const
+{
+ return m_children.count();
+}
+
+void TestContainer::setTitle(const QString &titleP)
+{
+ m_title = titleP;
+}
+
+QString TestContainer::title() const
+{
+ return m_title;
+}
+
+bool TestContainer::isFinalNode() const
+{
+ return false;
+}
+
+int TestContainer::columnCount() const
+{
+ return 4;
+}
+
+QString TestContainer::description() const
+{
+ return m_description;
+}
+
+void TestContainer::setDescription(const QString &desc)
+{
+ m_description = desc;
+}
+
+void TestContainer::setDeleteChildren(const bool val)
+{
+ m_deleteChildren = val;
+}
+
+void TestContainer::removeLast()
+{
+ m_children.removeLast();
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestContainer.h b/tests/auto/xmlpatternsxqts/lib/TestContainer.h
new file mode 100644
index 0000000..5cea0ba
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestContainer.h
@@ -0,0 +1,164 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestContainer_H
+#define PatternistSDK_TestContainer_H
+
+#include "Global.h"
+#include "TestItem.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short an abstract base class, containing
+ * an appropriate implementation of TestItem for sub-classes
+ * which can contain other TestItem instances.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestContainer : public TestItem
+ {
+ public:
+ virtual ~TestContainer();
+ virtual void appendChild(TreeItem *item);
+ virtual TreeItem *child(const unsigned int row) const;
+ virtual unsigned int childCount() const;
+
+ /**
+ * @returns the TestResults of this TestContainer's children.
+ */
+ virtual TestResult::List execute(const ExecutionStage stage,
+ TestSuite *ts);
+
+ QString title() const;
+ void setTitle(const QString &title);
+
+ virtual TreeItem::List children() const;
+
+ /**
+ * @return always 2
+ */
+ virtual int columnCount() const;
+
+ virtual bool isFinalNode() const;
+
+ virtual ResultSummary resultSummary() const;
+ virtual QString description() const;
+ virtual void setDescription(const QString &desc);
+
+ /**
+ * Determines whether TestContainer will delete its children upon
+ * destruction. By default, it will.
+ */
+ void setDeleteChildren(const bool val);
+
+ /**
+ * Removes the last appended child.
+ */
+ void removeLast();
+
+ protected:
+ /**
+ * Constructor, protected. TestContainer is an abstract class,
+ * and is not ment to be instantiated, but sub classed.
+ */
+ TestContainer();
+
+ private:
+ TreeItem::List m_children;
+ QString m_title;
+ QString m_description;
+ bool m_deleteChildren;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp b/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
new file mode 100644
index 0000000..060f993
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestGroup.cpp
@@ -0,0 +1,180 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QColor>
+#include <QPair>
+#include <QVariant>
+
+#include "TestGroup.h"
+
+using namespace QPatternistSDK;
+
+TestGroup::TestGroup(TreeItem *p) : m_parent(p)
+{
+}
+
+QVariant TestGroup::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role != Qt::DisplayRole && role != Qt::BackgroundRole)
+ return QVariant();
+
+ /* In ResultSummary, the first is the amount of passes and the second is the total. */
+ const ResultSummary sum(resultSummary());
+ const int failures = sum.second - sum.first;
+
+ switch(role)
+ {
+ case Qt::DisplayRole:
+ {
+
+ switch(column)
+ {
+ case 0:
+ return title();
+ case 1:
+ /* Passes. */
+ return QString::number(sum.first);
+ case 2:
+ /* Failures. */
+ return QString::number(failures);
+ case 3:
+ /* Total. */
+ return QString::number(sum.second);
+ default:
+ {
+ Q_ASSERT(false);
+ return QString();
+ }
+ }
+ }
+ case Qt::BackgroundRole:
+ {
+ switch(column)
+ {
+ case 1:
+ {
+ if(sum.first)
+ {
+ /* Pass. */
+ return Qt::green;
+ }
+ else
+ return QVariant();
+ }
+ case 2:
+ {
+ if(failures)
+ {
+ /* Failure. */
+ return Qt::red;
+ }
+ else
+ return QVariant();
+ }
+ default:
+ return QVariant();
+ }
+ }
+ default:
+ {
+ Q_ASSERT_X(false, Q_FUNC_INFO, "This shouldn't be reached");
+ return QVariant();
+ }
+ }
+}
+
+void TestGroup::setNote(const QString &n)
+{
+ m_note = n;
+}
+
+QString TestGroup::note() const
+{
+ return m_note;
+}
+
+TreeItem *TestGroup::parent() const
+{
+ return m_parent;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestGroup.h b/tests/auto/xmlpatternsxqts/lib/TestGroup.h
new file mode 100644
index 0000000..bfa9468
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestGroup.h
@@ -0,0 +1,134 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestGroup_H
+#define PatternistSDK_TestGroup_H
+
+#include <QString>
+
+#include "TestContainer.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Groups test groups and test cases into a group.
+ *
+ * TestGroup corresponds to the @c test-group element in XQTSCatalog.xsd.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestGroup : public TestContainer
+ {
+ public:
+ TestGroup(TreeItem *parent);
+
+ /**
+ * @returns the parent of this group. Is either another group, or
+ * the TestSuite instance governing this tree.
+ */
+ virtual TreeItem *parent() const;
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+
+ QString note() const;
+
+ void setName(const QString &name);
+ void setNote(const QString &note);
+
+ private:
+ QString m_name;
+ QString m_note;
+ TreeItem *m_parent;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestItem.h b/tests/auto/xmlpatternsxqts/lib/TestItem.h
new file mode 100644
index 0000000..ec373ab
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestItem.h
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestItem_H
+#define PatternistSDK_TestItem_H
+
+#include "TestResult.h"
+#include "TreeItem.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+template<typename A, typename B> struct QPair;
+
+namespace QPatternistSDK
+{
+ class XMLWriter;
+ class TestSuite;
+
+ /**
+ * @short base class for all classes which
+ * represent an element in an XQuery Test Suite catalog.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestItem : public TreeItem
+ {
+ public:
+
+ /**
+ * Determines how far an test case execution should go.
+ */
+ enum ExecutionStage
+ {
+ /**
+ * The query will not be run. It will only go through the (whole) compilation stage.
+ */
+ CompileOnly = 1,
+
+ /**
+ * The query will be compiled and run, as ordinary.
+ */
+ CompileAndRun
+ };
+
+ /**
+ * Represents a summary of test results for a collection
+ * of tests. QPair::first contains the amount of
+ * passed tests; QPair::second contains the count of
+ * all tests. For example TestCase::summary() returns
+ * ResultSummary(0, 1) or ResultSummary(1, 1) depending
+ * on whether the TestCase have succeeded or not.
+ */
+ typedef QPair<int, int> ResultSummary;
+
+ /**
+ * Executes the test case(s) this TestItem represents,
+ * and return the TestResult. For example, the TestGroup
+ * returns the result of its children concatenated, while
+ * TestCase always returns a list containing one
+ * TestResult(what it evaluated to).
+ */
+ virtual TestResult::List execute(const ExecutionStage stage,
+ TestSuite *ts) = 0;
+
+ /**
+ * @todo Rename this function. Perhaps create a type() hierarchy
+ * instead.
+ */
+ virtual bool isFinalNode() const = 0;
+
+ /**
+ * @returns a ResultSummary for this TestItem.
+ */
+ virtual ResultSummary resultSummary() const = 0;
+
+ /**
+ * Serializes into the corresponding elements attributes
+ * specified in XQTSCatalog.xsd.
+ *
+ * @note Sub-classes must assume the XQTSCatalog namespace
+ * is the default namespace, and not add any namespace declarations.
+ */
+ //virtual void toXML(XMLWriter &receiver) const = 0;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResult.cpp b/tests/auto/xmlpatternsxqts/lib/TestResult.cpp
new file mode 100644
index 0000000..ae4fd07
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestResult.cpp
@@ -0,0 +1,199 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QXmlAttributes>
+#include <QtDebug>
+
+#include "qdebug_p.h"
+#include "Global.h"
+#include "XMLWriter.h"
+
+#include "TestResult.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+QString TestResult::displayName(const TestResult::Status stat)
+{
+ switch(stat)
+ {
+ case Pass:
+ return QLatin1String("pass");
+ case Fail:
+ return QLatin1String("fail");
+ case NotTested:
+ return QLatin1String("not tested");
+ case Unknown:
+ Q_ASSERT(false);
+ }
+
+ Q_ASSERT(false);
+ return QString();
+}
+
+TestResult::Status TestResult::statusFromString(const QString &string)
+{
+ if(string == QLatin1String("pass"))
+ return Pass;
+ else if(string == QLatin1String("fail"))
+ return Fail;
+ else if(string == QLatin1String("not tested"))
+ return NotTested;
+ else
+ {
+ Q_ASSERT(false);
+ return Fail;
+ }
+}
+
+TestResult::TestResult(const QString &n,
+ const Status s,
+ ASTItem *tree,
+ const ErrorHandler::Message::List &ers,
+ const QPatternist::Item::List &itemsP,
+ const QString &serialized) : m_status(s),
+ m_messages(ers),
+ m_astTree(tree),
+ m_testName(n),
+ m_items(itemsP),
+ m_asSerialized(serialized)
+{
+ Q_ASSERT(!n.isEmpty());
+ Q_ASSERT(s != 0);
+}
+
+TestResult::~TestResult()
+{
+ delete m_astTree;
+}
+
+void TestResult::toXML(XMLWriter &receiver) const
+{
+ QXmlAttributes atts;
+ atts.append(QLatin1String("name"), QString(), QLatin1String("name"), m_testName);
+ atts.append(QLatin1String("result"), QString(), QLatin1String("result"), displayName(m_status));
+
+ if(!m_comment.isEmpty())
+ atts.append(QLatin1String("comment"), QString(), QLatin1String("comment"), m_comment);
+
+ receiver.startElement(QLatin1String("test-case"), atts);
+ receiver.endElement(QLatin1String("test-case"));
+}
+
+void TestResult::setComment(const QString &comm)
+{
+ m_comment = comm;
+}
+
+TestResult::Status TestResult::status() const
+{
+ return m_status;
+}
+
+QString TestResult::comment() const
+{
+ return m_comment;
+}
+
+ASTItem *TestResult::astTree() const
+{
+ return m_astTree;
+}
+
+ErrorHandler::Message::List TestResult::messages() const
+{
+ return m_messages;
+}
+
+QPatternist::Item::List TestResult::items() const
+{
+ return m_items;
+}
+
+QString TestResult::asSerialized() const
+{
+ pDebug() << "asSerialized: " << m_asSerialized;
+ return m_asSerialized;
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResult.h b/tests/auto/xmlpatternsxqts/lib/TestResult.h
new file mode 100644
index 0000000..078f495
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestResult.h
@@ -0,0 +1,220 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestResult_H
+#define PatternistSDK_TestResult_H
+
+#include <QList>
+#include <QObject>
+#include <QPointer>
+#include <QString>
+
+#include <QtXmlPatterns/private/qitem_p.h>
+#include "ErrorHandler.h"
+
+#include "ASTItem.h"
+
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ class ASTItem;
+ class XMLWriter;
+
+ /**
+ * @short represents the result produced by running a test case.
+ *
+ * This information TestResult houses is:
+ *
+ * - The result status() of the run. Whether the test case succeeded or not, for example.
+ * - The astTree() which reflects the compiled test case
+ * - The messages issued when compiling and running the test case, retrievable via messages()
+ * - The data -- XPath Data Model items() -- the test case evaluated to, if any.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestResult : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ enum Status
+ {
+ /**
+ * Used when the status is unknown.
+ */
+ Unknown = 0,
+
+ /**
+ * The test case passed.
+ */
+ Pass,
+
+ /**
+ * The test case failed.
+ */
+ Fail,
+
+ /**
+ * The test was not run. Similar to "SKIP".
+ */
+ NotTested
+ };
+
+ /**
+ * A list of TestResult instances.
+ */
+ typedef QList<QPointer<TestResult> > List;
+
+ /**
+ * Constructs a TestResult.
+ *
+ * @param testName the name of the test. For example, @c Literal-001.
+ * @param astTree may be @c null, signalling no AST being available, or point to one.
+ * @param status the result status of running the test-case. Whether the test-case
+ * passed or failed, and so forth.
+ * @param errors the errors and warnings that were reported while running the test-case
+ * @param items the XDM items that were outputted, if any
+ * @param serialized the output when serialized
+ */
+ TestResult(const QString &testName,
+ const Status status,
+ ASTItem *astTree,
+ const ErrorHandler::Message::List &errors,
+ const QPatternist::Item::List &items,
+ const QString &serialized);
+
+ virtual ~TestResult();
+
+ Status status() const;
+
+ QString comment() const;
+ void setComment(const QString &comment);
+
+ QPatternist::Item::List items() const;
+
+ ErrorHandler::Message::List messages() const;
+
+ /**
+ * Serializes itself to @p receiver, into a test-case element,
+ * as per @c XQTSResult.xsd.
+ */
+ void toXML(XMLWriter &receiver) const;
+
+ ASTItem *astTree() const;
+
+ /**
+ * @returns a string representation for @p status, as per the anonymous
+ * type inside the type test-case, in @c XQTSResult.xsd. For example, if @p status
+ * is NotTested, is "not tested" returned.
+ */
+ static QString displayName(const TestResult::Status status);
+
+ static Status statusFromString(const QString &string);
+
+ /**
+ * @returns the output of this test result(if any) as when
+ * being serialized.
+ */
+ QString asSerialized() const;
+
+ private:
+ const Status m_status;
+ QString m_comment;
+ const ErrorHandler::Message::List m_messages;
+ QPointer<ASTItem> m_astTree;
+ QString m_testName;
+ const QPatternist::Item::List m_items;
+ const QString m_asSerialized;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp
new file mode 100644
index 0000000..1816dd8
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.cpp
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "Global.h"
+
+#include "TestResultHandler.h"
+
+using namespace QPatternistSDK;
+
+TestResultHandler::TestResultHandler()
+{
+ /* Fifteen thousand. When finished, we squeeze them. */
+ m_result.reserve(15000);
+ m_comments.reserve(1000); /* Comments are only used for stuff that crash, more or less. */
+}
+
+bool TestResultHandler::startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &,
+ const QXmlAttributes &atts)
+{
+ /* We only care about 'test-case', ignore everything else. */
+ if(localName != QLatin1String("test-case") ||
+ namespaceURI != Global::xqtsResultNS)
+ return true;
+
+ /* The 'comments' attribute is optional. */
+ Q_ASSERT_X(atts.count() == 2 || atts.count() == 3, Q_FUNC_INFO,
+ "The input appears to not conform to XQTSResult.xsd");
+
+ Q_ASSERT_X(!m_result.contains(atts.value(QLatin1String("name"))),
+ Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("A test result for test case %1 has "
+ "already been read(duplicate entry it seems).").arg(atts.value(QLatin1String("name")))));
+
+ m_result.insert(atts.value(0), TestResult::statusFromString(atts.value(QLatin1String("result"))));
+
+ return true;
+}
+
+bool TestResultHandler::endDocument()
+{
+ m_result.squeeze();
+ m_comments.squeeze();
+ return true;
+}
+
+TestResultHandler::Hash TestResultHandler::result() const
+{
+ return m_result;
+}
+
+TestResultHandler::CommentHash TestResultHandler::comments() const
+{
+ return m_comments;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h
new file mode 100644
index 0000000..d738c4c
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestResultHandler.h
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestResultHandler_H
+#define PatternistSDK_TestResultHandler_H
+
+#include <QHash>
+#include <QString>
+#include <QtXml/QXmlDefaultHandler>
+
+#include "TestResult.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Reads XML in the @c XQTSResult.xsd format, and provides access to
+ * the reported results.
+ *
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup PatternistSDK
+ */
+ class Q_PATTERNISTSDK_EXPORT TestResultHandler : public QXmlDefaultHandler
+ {
+ public:
+ /**
+ * A hash where the key is the class's name, that is <tt>test-case/@@name</tt>,
+ * and the value the test's result status.
+ */
+ typedef QHash<QString, TestResult::Status> Hash;
+
+ /**
+ * A hash mapping test-case names to their' comments.
+ */
+ typedef QHash<QString, QString> CommentHash;
+
+ /**
+ * Creates a TestResultHandler that will read @p file when run() is called.
+ */
+ TestResultHandler();
+
+ /**
+ * Performs finalization.
+ */
+ virtual bool endDocument();
+
+ /**
+ * Reads the <tt>test-case</tt> element and its attributes, everything else is ignored.
+ */
+ virtual bool startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName,
+ const QXmlAttributes &atts);
+ /**
+ * @note Do not reimplement this function.
+ * @returns the result obtained from reading the XML file.
+ */
+ Hash result() const;
+
+ CommentHash comments() const;
+
+ private:
+ Q_DISABLE_COPY(TestResultHandler)
+ Hash m_result;
+ CommentHash m_comments;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
new file mode 100644
index 0000000..3bca281
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuite.cpp
@@ -0,0 +1,302 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QFileInfo>
+#include <QVariant>
+#include <QXmlInputSource>
+#include <QXmlSimpleReader>
+#include <QtDebug>
+
+#include "Global.h"
+#include "TestSuiteHandler.h"
+#include "TestSuiteResult.h"
+#include "XMLWriter.h"
+#include "XSLTTestSuiteHandler.h"
+#include "qdebug_p.h"
+
+#include "TestSuite.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+TestSuite::TestSuite()
+{
+}
+
+QVariant TestSuite::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role != Qt::DisplayRole)
+ return QVariant();
+
+ switch(column)
+ {
+ case 0:
+ return title();
+ case 1:
+ return QString();
+ default:
+ {
+ Q_ASSERT(false);
+ return QString();
+ }
+ }
+}
+
+TestSuiteResult *TestSuite::runSuite()
+{
+ const QDate date(QDate::currentDate());
+ TestResult::List result(execute(CompileAndRun, this));
+
+ return new TestSuiteResult(version(), date, result);
+}
+
+TestSuite *TestSuite::openCatalog(const QUrl &catalogURI,
+ QString &errorMsg,
+ const bool useExclusionList,
+ const bool isXSLTCatalog)
+{
+ pDebug() << "Opening catalog:" << catalogURI.toString();
+ QFile ts(catalogURI.toLocalFile());
+ Q_ASSERT(catalogURI.isValid());
+
+ if(!ts.exists())
+ {
+ errorMsg = QString::fromLatin1("The test suite catalog \"%1\" could not be found.\n")
+ .arg(ts.fileName());
+ return 0;
+ }
+
+ const QFileInfo info(ts);
+
+ if(!info.isReadable())
+ {
+ errorMsg = QString::fromLatin1("Cannot read the test suite catalog.\n");
+ return 0;
+ }
+ else if(!info.isFile())
+ {
+ errorMsg = QString::fromLatin1("The specified test suite catalog \"%1\" is not a file. "
+ "The test suite catalog must be a file, it cannot be "
+ "a directory, for example.\n")
+ .arg(ts.fileName());
+ return 0;
+ }
+ else if(!ts.open(QIODevice::ReadOnly | QIODevice::Text))
+ {
+ errorMsg = QString::fromLatin1("Failed to open the test suite catalog, \"%1\".\n")
+ .arg(ts.fileName());
+ return 0;
+ }
+
+ return openCatalog(&ts, errorMsg, catalogURI, useExclusionList, isXSLTCatalog);
+}
+
+TestSuite *TestSuite::openCatalog(QIODevice *input,
+ QString &errorMsg,
+ const QUrl &fileName,
+ const bool useExclusionList,
+ const bool isXSLTCatalog)
+{
+ Q_ASSERT(input);
+
+ QXmlSimpleReader reader;
+ typedef QPatternist::AutoPtr<QXmlDefaultHandler> HandlerPtr;
+
+ HandlerPtr loader;
+
+ if(isXSLTCatalog)
+ loader = HandlerPtr(new XSLTTestSuiteHandler(fileName));
+ else
+ loader = HandlerPtr(new TestSuiteHandler(fileName, useExclusionList));
+
+ reader.setContentHandler(loader.data());
+
+ QXmlInputSource source(input);
+
+ if(!reader.parse(source))
+ {
+ errorMsg = QString::fromLatin1("Couldn't parse %1").arg(fileName.toString());
+ return 0;
+ }
+
+ TestSuite *const suite = isXSLTCatalog ? static_cast<XSLTTestSuiteHandler *>(loader.data())->testSuite()
+ : static_cast<TestSuiteHandler *>(loader.data())->testSuite();
+
+ if(suite)
+ return suite;
+
+ errorMsg = QString::fromLatin1("Failed to load \"%1\". "
+ "It appears to have no test-suite element.\n").arg(fileName.toString());
+ return 0;
+}
+
+void TestSuite::toXML(XMLWriter &receiver, TestCase *const tc) const
+{
+ // TODO startElement() endElement() calls can be simplified.
+
+ Q_ASSERT(tc);
+
+ receiver.startDocument();
+ /* <test-suite> */
+ QXmlAttributes test_suiteAtts;
+ test_suiteAtts.append(QLatin1String("CatalogDesignDate"), QString(),
+ QLatin1String("CatalogDesignDate"), m_designDate.toString(Qt::ISODate));
+ test_suiteAtts.append(QLatin1String("version"), QString(),
+ QLatin1String("version"), m_version);
+ test_suiteAtts.append(QLatin1String("SourceOffsetPath"), QString(),
+ QLatin1String("SourceOffsetPath"), QString());
+ test_suiteAtts.append(QLatin1String("ResultOffsetPath"), QString(),
+ QLatin1String("ResultOffsetPath"), QString());
+ test_suiteAtts.append(QLatin1String("XQueryQueryOffsetPath"), QString(),
+ QLatin1String("XQueryQueryOffsetPath"), QString());
+ test_suiteAtts.append(QLatin1String("QueryXQueryOffsetPath"), QString(),
+ QLatin1String("QueryXQueryOffsetPath"), QString());
+ test_suiteAtts.append(QLatin1String("XQueryFileExtension"), QString(),
+ QLatin1String("XQueryFileExtension"), QString());
+ test_suiteAtts.append(QLatin1String("XQueryXFileExtension"), QString(),
+ QLatin1String("XQueryXFileExtension"), QString());
+
+ receiver.startPrefixMapping(QString(), Global::xqtsCatalogNS);
+ receiver.startElement(QLatin1String("test-suite"), test_suiteAtts);
+ receiver.endPrefixMapping(QString());
+
+ /* <test-group> */
+ QXmlAttributes test_groupAtts;
+ test_groupAtts.append(QLatin1String("GeneratedGroupByPatternistSDKRunSuite"), QString(),
+ QLatin1String("GeneratedGroupByPatternistSDKRunSuite"), QString());
+ receiver.startElement(QLatin1String("test-group"), test_groupAtts);
+
+ /* <GroupInfo> */
+ receiver.startElement(QLatin1String("GroupInfo"), test_groupAtts);
+
+ /* <title> */
+ receiver.startElement(QLatin1String("title"), test_groupAtts);
+ receiver.characters(QLatin1String("Contains the test case generated by PatternistSDKRunSuite."));
+
+ /* </title> */
+ receiver.endElement(QLatin1String("title"));
+
+ /* <description> */
+ receiver.startElement(QLatin1String("description"), test_groupAtts);
+ /* </description> */
+ receiver.endElement(QLatin1String("description"));
+
+ /* </GroupInfo> */
+ receiver.endElement(QLatin1String("GroupInfo"));
+
+ /* <test-case> */
+ tc->toXML(receiver);
+ /* </test-case> */
+
+ /* </test-group> */
+ receiver.endElement(QLatin1String("test-group"));
+
+ /* </test-suite> */
+ receiver.endElement(QLatin1String("test-suite"));
+}
+
+QString TestSuite::version() const
+{
+ return m_version;
+}
+
+QDate TestSuite::designDate() const
+{
+ return m_designDate;
+}
+
+void TestSuite::setVersion(const QString &ver)
+{
+ m_version = ver;
+}
+
+void TestSuite::setDesignDate(const QDate &date)
+{
+ m_designDate = date;
+}
+
+TestContainer *TestSuite::parent() const
+{
+ return 0;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuite.h b/tests/auto/xmlpatternsxqts/lib/TestSuite.h
new file mode 100644
index 0000000..cdd511f
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuite.h
@@ -0,0 +1,191 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestSuite_H
+#define PatternistSDK_TestSuite_H
+
+#include <QDate>
+#include <QString>
+
+#include "TestContainer.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QIODevice;
+class QUrl;
+class QVariant;
+
+namespace QPatternistSDK
+{
+ class TestCase;
+ class TestSuiteResult;
+
+ /**
+ * @short Represents a test suite in the W3C XML Query Test Suite format.
+ *
+ * TestSuite contains the test suite's test cases and meta data.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestSuite : public TestContainer
+ {
+ public:
+ TestSuite();
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+
+ /**
+ * The version of the catalog test suite. For example, "0.8.0".
+ */
+ QString version() const;
+
+ /**
+ * When the catalog was designed, last modified.
+ */
+ QDate designDate() const;
+
+ void setVersion(const QString &version);
+ void setDesignDate(const QDate &version);
+
+ /**
+ * @return always @c null
+ */
+ virtual TestContainer *parent() const;
+
+ /**
+ * Creates and returns a pointer to a TestSuite instance, which
+ * was instantiated from the XQuery Test Suite catalog file @p catalogFile.
+ *
+ * If loading went wrong, @c null is returned and @p errorMsg is set with a
+ * human readable message string. However, @p catalogFile is not validated;
+ * if the XML file is not valid against the XQTS task force's W3C XML Schema, the
+ * behavior and result for this function is undefined.
+ *
+ * This function blocks. Currently is only local files supported.
+ */
+ static TestSuite *openCatalog(const QUrl &catalogFile,
+ QString &errorMsg,
+ const bool useExclusionList,
+ const bool isXSLTCatalog = false);
+
+ void toXML(XMLWriter &receiver, TestCase *const tc) const;
+
+ /**
+ * Evaluates all the test cases in this TestSuite, and returns
+ * it all in a TestSuiteResult.
+ */
+ TestSuiteResult *runSuite();
+
+ private:
+ /**
+ * Essentially similar to open(const QUrl &, QString &errorMsg),
+ * with the difference that it takes directly a QIODevice as input,
+ * as opposed to a file name locating the catalog file to read.
+ *
+ * @param input the test suite catalog
+ * @param fileName this URI is used for resolving relative paths inside
+ * the catalog file into absolute.
+ * @param errorMsg if an error occurs, this QString is set to contain the message.
+ * Whether an error occurred can therefore be determined by checking if this variable
+ * still is @c null after the call
+ * @param useExclusionList whether the excludeTestGroups.txt file should be used
+ * to exclude test groups for this catalog
+ */
+ static TestSuite *openCatalog(QIODevice *input,
+ QString &errorMsg,
+ const QUrl &fileName,
+ const bool useExclusionList,
+ const bool isXSLTCatalog);
+ QString m_version;
+ QDate m_designDate;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp
new file mode 100644
index 0000000..a87eeaa
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.cpp
@@ -0,0 +1,353 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "qacceltreeresourceloader_p.h"
+#include "qnetworkaccessdelegator_p.h"
+
+#include "Global.h"
+#include "TestBaseLine.h"
+#include "TestGroup.h"
+
+#include "TestSuiteHandler.h"
+
+using namespace QPatternistSDK;
+
+QNetworkAccessManager s_networkManager;
+
+TestSuiteHandler::TestSuiteHandler(const QUrl &catalogFile,
+ const bool useEList) : m_ts(0)
+ , m_container(0)
+ , m_tc(0)
+ , m_baseLine(0)
+ , m_catalogFile(catalogFile)
+ , m_exclusionList(readExclusionList(useEList))
+ , m_isExcluding(false)
+{
+ Q_ASSERT(!m_catalogFile.isRelative());
+}
+
+QStringList TestSuiteHandler::readExclusionList(const bool useExclusionList) const
+{
+ if(!useExclusionList)
+ return QStringList();
+
+ QStringList avoid;
+
+ /* These test groups are for features we don't support.
+ *
+ * Originally these were stored in a text file pulled in with Qt resources, but
+ * it was not possible to get it to link on some HP-UX and Intel-icc platforms. */
+
+ avoid << "SchemaImport"; // The schema import feature
+ avoid << "SchemaValidation"; // The validate expression(requires schema import)
+ avoid << "StaticTyping"; // Pessimistic static typing checking
+ avoid << "TrivialEmbedding"; // XQueryX inside XQuery
+ avoid << "XMark"; // We're currently too buggy for running these tests.
+
+ return avoid;
+}
+
+bool TestSuiteHandler::startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/,
+ const QXmlAttributes &atts)
+{
+ if(namespaceURI != Global::xqtsCatalogNS)
+ return true;
+ else if(m_isExcluding)
+ {
+ if(localName == QLatin1String("test-group"))
+ {
+ m_testGroupName.push(atts.value(QLatin1String("name")));
+ return true;
+ }
+ else
+ return true;
+ }
+
+ /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
+ if(localName == QLatin1String("test-case"))
+ {
+ XQTSTestCase *const c = new XQTSTestCase(
+ TestCase::scenarioFromString(atts.value(QLatin1String("scenario"))), m_container);
+
+ c->setName(atts.value(QLatin1String("name")));
+ c->setCreator(atts.value(QLatin1String("Creator")));
+ c->setIsXPath(Global::readBoolean(atts.value(QLatin1String("is-XPath2"))));
+ c->setLastModified(QDate::fromString(atts.value(QLatin1String("version-drop")), Qt::ISODate));
+ Q_ASSERT(c->lastModified().isNull() || c->lastModified().isValid());
+
+ m_currentQueryPath = m_queryOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
+ m_currentBaselinePath = m_baselineOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
+
+ m_container->appendChild(c);
+ m_tc = c;
+ }
+ else if(localName == QLatin1String("query"))
+ {
+ m_tc->setQueryPath(m_currentQueryPath.resolved(atts.value(QLatin1String("name")) +
+ m_xqueryFileExtension));
+ }
+ else if(localName == QLatin1String("input-file") ||
+ localName == QLatin1String("input-URI"))
+ {
+ m_currentInputVariable = atts.value(QLatin1String("variable"));
+ }
+ else if(localName == QLatin1String("output-file"))
+ {
+ m_baseLine = new TestBaseLine(TestBaseLine::identifierFromString(atts.value(QLatin1String("compare"))));
+ }
+ else if(localName == QLatin1String("expected-error"))
+ {
+ m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
+ }
+ else if(localName == QLatin1String("test-group"))
+ {
+ m_testGroupName.push(atts.value(QLatin1String("name")));
+
+ if(m_exclusionList.contains(m_testGroupName.top()))
+ {
+ /* Ok, this group is supposed to be excluded, we don't
+ * insert it into the tree. */
+ m_isExcluding = true;
+ return true;
+ }
+ else
+ {
+ Q_ASSERT(m_container);
+ TestGroup *const newGroup = new TestGroup(m_container);
+ m_container->appendChild(newGroup);
+ m_container = newGroup;
+ }
+ }
+ else if(localName == QLatin1String("source"))
+ {
+ m_sourceMap.insert(atts.value(QLatin1String("ID")),
+ m_sourceOffset.resolved(QUrl(atts.value(QLatin1String("FileName")))));
+ }
+ else if(localName == QLatin1String("test-suite"))
+ {
+ m_ts = new TestSuite();
+ m_ts->setVersion(atts.value(QLatin1String("version")));
+ m_ts->setDesignDate(QDate::fromString(atts.value(QLatin1String("CatalogDesignDate")), Qt::ISODate));
+ Q_ASSERT(m_ts->designDate().isValid());
+ m_container = m_ts;
+
+ m_xqueryFileExtension = atts.value(QLatin1String("XQueryFileExtension"));
+ m_queryOffset = m_catalogFile.resolved(atts.value(QLatin1String("XQueryQueryOffsetPath")));
+ m_baselineOffset = m_catalogFile.resolved(atts.value(QLatin1String("ResultOffsetPath")));
+ m_sourceOffset = m_catalogFile.resolved(atts.value(QLatin1String("SourceOffsetPath")));
+ }
+ else if(localName == QLatin1String("input-query"))
+ {
+ m_tcSourceInputs.insert(atts.value(QLatin1String("variable")),
+ ExternalSourceLoader::VariableValue(m_currentQueryPath.resolved(atts.value(QLatin1String("name")) + m_xqueryFileExtension),
+ ExternalSourceLoader::Query));
+ }
+
+ return true;
+}
+
+bool TestSuiteHandler::endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/)
+{
+ if(namespaceURI != Global::xqtsCatalogNS)
+ return true;
+
+ if(m_isExcluding)
+ {
+ if(localName == QLatin1String("test-group"))
+ {
+ const QString myName(m_testGroupName.pop());
+
+ if(m_exclusionList.contains(myName))
+ {
+ /* This test-group is being excluded and now we're exiting from it. */
+ m_isExcluding = false;
+ }
+ }
+
+ return true;
+ }
+
+ /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
+ if(localName == QLatin1String("description"))
+ {
+ if(m_tc)
+ {
+ /* We're inside a <test-case>, so the <description> belongs
+ * to the test-case. */
+ m_tc->setDescription(m_ch.simplified());
+ }
+ else
+ m_container->setDescription(m_ch.simplified());
+ }
+ else if(localName == QLatin1String("test-case"))
+ {
+ Q_ASSERT(m_tc->baseLines().count() >= 1);
+ Q_ASSERT(m_resourceLoader);
+ m_tc->setExternalVariableLoader(QPatternist::ExternalVariableLoader::Ptr
+ (new ExternalSourceLoader(m_tcSourceInputs,
+ m_resourceLoader)));
+ m_tcSourceInputs.clear();
+
+ if(!m_contextItemSource.isEmpty())
+ {
+ m_tc->setContextItemSource(QUrl(m_sourceMap.value(m_contextItemSource)));
+ m_contextItemSource.clear();
+ }
+
+ m_tc = 0;
+ }
+ else if(localName == QLatin1String("output-file"))
+ {
+ m_baseLine->setDetails(m_currentBaselinePath.resolved(m_ch).toString());
+ m_tc->addBaseLine(m_baseLine);
+ }
+ else if(localName == QLatin1String("input-file"))
+ {
+ m_tcSourceInputs.insert(m_currentInputVariable, ExternalSourceLoader::VariableValue(m_sourceMap.value(m_ch),
+ ExternalSourceLoader::Document));
+ }
+ else if(localName == QLatin1String("expected-error"))
+ {
+ m_baseLine->setDetails(m_ch);
+ m_tc->addBaseLine(m_baseLine);
+ }
+ else if(localName == QLatin1String("title"))
+ {
+ /* A bit dangerous, the only element with name title in the vocabulary
+ * is the the child of GroupInfo */
+ m_container->setTitle(m_ch.simplified());
+ }
+ else if(localName == QLatin1String("test-group"))
+ {
+ m_testGroupName.pop();
+ Q_ASSERT(m_container);
+ m_container = static_cast<TestContainer *>(m_container->parent());
+ Q_ASSERT(m_container);
+ }
+ else if(localName == QLatin1String("test-suite"))
+ {
+ Q_ASSERT(m_container);
+ m_container = static_cast<TestContainer *>(m_container->parent());
+ }
+ else if(localName == QLatin1String("sources"))
+ {
+ const QPatternist::NetworkAccessDelegator::Ptr networkDelegator(new QPatternist::NetworkAccessDelegator(&s_networkManager, &s_networkManager));
+
+ m_resourceLoader = QPatternist::ResourceLoader::Ptr(new QPatternist::AccelTreeResourceLoader(Global::namePool(),
+ networkDelegator));
+
+ const ExternalSourceLoader::SourceMap::const_iterator end(m_sourceMap.constEnd());
+ ExternalSourceLoader::SourceMap::const_iterator it(m_sourceMap.constBegin());
+
+ for(; it != end; ++it)
+ m_resourceLoader->announceDocument(it.value(), QPatternist::ResourceLoader::WillUse);
+ }
+ else if(localName == QLatin1String("input-URI"))
+ {
+ m_tcSourceInputs.insert(m_currentInputVariable, ExternalSourceLoader::VariableValue(m_sourceMap.value(m_ch),
+ ExternalSourceLoader::URI));
+ }
+ else if(localName == QLatin1String("contextItem"))
+ m_contextItemSource = m_ch;
+
+ return true;
+}
+
+bool TestSuiteHandler::characters(const QString &ch)
+{
+ m_ch = ch;
+ return true;
+}
+
+TestSuite *TestSuiteHandler::testSuite() const
+{
+ return m_ts;
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h
new file mode 100644
index 0000000..dff56e5
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuiteHandler.h
@@ -0,0 +1,210 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestSuiteHandler_H
+#define PatternistSDK_TestSuiteHandler_H
+
+#include <QStack>
+#include <QUrl>
+#include <QXmlDefaultHandler>
+
+#include "ExternalSourceLoader.h"
+#include "TestSuite.h"
+#include "XQTSTestCase.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ class TestBaseLine;
+
+ /**
+ * @short Creates a TestSuite from the XQuery Test Suite catalog,
+ * represented as a SAX stream.
+ *
+ * The created TestSuite can be retrieved via testSuite().
+ *
+ * @note TestSuiteHandler assumes the XML is valid by having been validated
+ * against the W3C XML Schema. It have no safety checks for that the XML format
+ * is correct but is hard coded for it. Thus, the behavior is undefined if
+ * the XML is invalid.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestSuiteHandler : public QXmlDefaultHandler
+ {
+ public:
+ /**
+ * @param catalogFile the URI for the catalog file being parsed. This
+ * URI is used for creating absolute URIs for files mentioned in
+ * the catalog with relative URIs.
+ * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
+ * test groups when loading
+ */
+ TestSuiteHandler(const QUrl &catalogFile,
+ const bool useExclusionList);
+ virtual bool characters(const QString &ch);
+
+ virtual bool endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName);
+ virtual bool startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName,
+ const QXmlAttributes &atts);
+
+ virtual TestSuite *testSuite() const;
+
+ private:
+ QStringList readExclusionList(const bool useExclusionList) const;
+
+ TestSuite * m_ts;
+ TestContainer * m_container;
+ XQTSTestCase * m_tc;
+ TestBaseLine * m_baseLine;
+ QString m_ch;
+ const QUrl m_catalogFile;
+
+ /**
+ * The extension of XQuery files. For example, ".xq"
+ */
+ QString m_xqueryFileExtension;
+
+ /**
+ * The base URI for where the XQuery query files are found.
+ * It is absolute, resolved against catalogFile.
+ */
+ QUrl m_queryOffset;
+
+ QUrl m_baselineOffset;
+ QUrl m_sourceOffset;
+ QUrl m_currentQueryPath;
+ QUrl m_currentBaselinePath;
+
+ /**
+ * In the XQTSCatalog.xml, each source file in each test is referred to
+ * by a key, which can be fully looked up in the @c sources element. This QHash
+ * maps the keys to absolute URIs pointing to the source files.
+ */
+ ExternalSourceLoader::SourceMap m_sourceMap;
+
+ ExternalSourceLoader::VariableMap m_tcSourceInputs;
+
+ QPatternist::ResourceLoader::Ptr m_resourceLoader;
+
+ /**
+ * The current value of <tt>input-file/\@variable/</tt>.
+ */
+ QString m_currentInputVariable;
+
+ /**
+ * The names of the test groups we're excluding.
+ */
+ const QStringList m_exclusionList;
+
+ /**
+ * This is set when we're inside a test-group that we're excluding.
+ */
+ bool m_isExcluding;
+
+ /**
+ * The names of the test groups.
+ */
+ QStack<QString> m_testGroupName;
+
+ /**
+ * Holds the content of the current <tt>input-URI</tt> element.
+ */
+ QString m_inputURI;
+ QString m_contextItemSource;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp
new file mode 100644
index 0000000..c88af5c
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.cpp
@@ -0,0 +1,214 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QXmlContentHandler>
+
+#include "Global.h"
+#include "XMLWriter.h"
+
+#include "TestSuiteResult.h"
+
+using namespace QPatternistSDK;
+
+TestSuiteResult::TestSuiteResult(const QString &testSuiteVersion,
+ const QDate &runDate,
+ const TestResult::List &results) : m_testSuiteVersion(testSuiteVersion),
+ m_runDate(runDate),
+ m_results(results)
+{
+}
+
+TestSuiteResult::~TestSuiteResult()
+{
+ qDeleteAll(m_results);
+}
+
+void TestSuiteResult::toXML(XMLWriter &receiver) const
+{
+ /* If this data needs to be configurable in someway(say, another
+ * XML format is supported), then break out the info into getters(alternatively, combined
+ * with setters, or that the class is subclassed), and access the getters instead.
+ */
+ const QString organizationName (QLatin1String("K Desktop Environment(KDE)"));
+ const QString organizationWebsite (QLatin1String("http://www.kde.org/"));
+ const QString submittorName (QLatin1String("Frans Englich"));
+ const QString submittorEmail (QLatin1String("fenglich@trolltech.com"));
+ const QString implementationVersion (QLatin1String("0.1"));
+ const QString implementationName (QLatin1String("Patternist"));
+ const QString implementationDescription (QLatin1String(
+ "Patternist is an implementation written in C++ "
+ "and with the Qt/KDE libraries. "
+ "It is licensed under GNU LGPL and part of KDE, "
+ "the K Desktop Environment."));
+
+ /* Not currently serialized:
+ * - <implementation-defined-items>
+ * - <features>
+ * - <context-properties>
+ */
+
+ receiver.startDocument();
+ /* <test-suite-result> */
+ receiver.startPrefixMapping(QString(), Global::xqtsResultNS);
+ receiver.startElement(QLatin1String("test-suite-result"));
+ receiver.endPrefixMapping(QString());
+
+ /* <implementation> */
+ QXmlAttributes implementationAtts;
+ implementationAtts.append(QLatin1String("name"), QString(),
+ QLatin1String("name"), implementationName);
+ implementationAtts.append(QLatin1String("version"), QString(),
+ QLatin1String("version"), implementationVersion);
+ receiver.startElement(QLatin1String("implementation"), implementationAtts);
+
+ /* <organization> */
+ QXmlAttributes organizationAtts;
+ organizationAtts.append(QLatin1String("name"), QString(),
+ QLatin1String("name"), organizationName);
+ organizationAtts.append(QLatin1String("website"), QString(),
+ QLatin1String("website"), organizationWebsite);
+ receiver.startElement(QLatin1String("organization"), organizationAtts);
+
+ /* </organization> */
+ receiver.endElement(QLatin1String("organization"));
+
+ /* <submittor> */
+ QXmlAttributes submittorAtts;
+ submittorAtts.append(QLatin1String("name"), QString(), QLatin1String("name"), submittorName);
+ submittorAtts.append(QLatin1String("email"), QString(), QLatin1String("email"), submittorEmail);
+ receiver.startElement(QLatin1String("submittor"), submittorAtts);
+
+ /* </submittor> */
+ receiver.endElement(QLatin1String("submittor"));
+
+ /* <description> */
+ receiver.startElement(QLatin1String("description"));
+
+ /* <p> */
+ receiver.startElement(QLatin1String("p"));
+ receiver.characters(implementationDescription);
+
+ /* </p> */
+ receiver.endElement(QLatin1String("p"));
+ /* </description> */
+ receiver.endElement(QLatin1String("description"));
+
+ /* </implementation> */
+ receiver.endElement(QLatin1String("implementation"));
+
+ /* <syntax> */
+ receiver.startElement(QLatin1String("syntax"));
+ receiver.characters(QLatin1String(QLatin1String("XQuery")));
+
+ /* </syntax> */
+ receiver.endElement(QLatin1String("syntax"));
+
+ /* <test-run> */
+ QXmlAttributes test_runAtts;
+ test_runAtts.append(QLatin1String("dateRun"), QString(), QLatin1String("dateRun"), m_runDate.toString(QLatin1String("yyyy-MM-dd")));
+ receiver.startElement(QLatin1String("test-run"), test_runAtts);
+
+ /* <test-suite> */
+ QXmlAttributes test_suiteAtts;
+ test_suiteAtts.append(QLatin1String("version"), QString(), QLatin1String("version"), m_testSuiteVersion);
+ receiver.startElement(QLatin1String("test-suite"), test_suiteAtts);
+
+ /* </test-suite> */
+ receiver.endElement(QLatin1String("test-suite"));
+
+ /* </test-run> */
+ receiver.endElement(QLatin1String("test-run"));
+
+ /* Serialize the TestResults: tons of test-case elements. */
+ const TestResult::List::const_iterator end(m_results.constEnd());
+ TestResult::List::const_iterator it(m_results.constBegin());
+
+ for(; it != end; ++it)
+ (*it)->toXML(receiver);
+
+ /* </test-suite-result> */
+ receiver.endElement(QLatin1String("test-suite-result"));
+ receiver.endDocument();
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h
new file mode 100644
index 0000000..f859bfd
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TestSuiteResult.h
@@ -0,0 +1,134 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TestSuiteResult_H
+#define PatternistSDK_TestSuiteResult_H
+
+#include <QDate>
+#include <QString>
+
+#include "TestResult.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short A collection of TestResult instances.
+ *
+ * A TestSuiteResult gathers all TestResult instances, and provides
+ * the toXML() function which serializes it all into a XQuery Test Suite
+ * result file, conforming to XQTSResult.xsd.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TestSuiteResult
+ {
+ public:
+ ~TestSuiteResult();
+
+ TestSuiteResult(const QString &testSuiteVersion,
+ const QDate &runDate,
+ const TestResult::List &results);
+
+ /**
+ * Serializes the test results this TestSuiteResult represents,
+ * into XQTS test-suite-result document, conformant to XQTSCatalog.xsd.
+ */
+ void toXML(XMLWriter &receiver) const;
+
+ private:
+ const QString m_testSuiteVersion;
+ const QDate m_runDate;
+ const TestResult::List m_results;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp b/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp
new file mode 100644
index 0000000..2c5c82f
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TreeItem.cpp
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include "TestContainer.h"
+
+#include "TreeItem.h"
+
+using namespace QPatternistSDK;
+
+int TreeItem::row() const
+{
+ const TreeItem *const p = parent();
+
+ if(p)
+ {
+ /* The const_cast makes it possible for QPointer's constructor
+ * to implicitly kick in. */
+ return p->children().indexOf(const_cast<TreeItem *>(this));
+ }
+ else
+ return -1;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeItem.h b/tests/auto/xmlpatternsxqts/lib/TreeItem.h
new file mode 100644
index 0000000..318c123
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TreeItem.h
@@ -0,0 +1,155 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TreeItem_H
+#define PatternistSDK_TreeItem_H
+
+#include <QObject>
+
+#include "Global.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QVariant;
+template<typename T> class QList;
+template<typename T> class QPointer;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short TreeItem is a node in a hierachial structure and is used together
+ * with TreeModel.
+ *
+ * TreeItem is abstract base class. Instances of sub-classes of TreeItem
+ * can be used with TreeModel in order to use hierarchial data in Qt's
+ * model/view framework.
+ *
+ * TreeItem is a QObject in order to be able to be used with QPointer.
+ *
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @see TreeModel
+ * @ingroup PatternistSDK
+ */
+ class Q_PATTERNISTSDK_EXPORT TreeItem : public QObject
+ {
+ Q_OBJECT
+ public:
+ typedef QList<QPointer<TreeItem> > List;
+
+ virtual ~TreeItem() {}
+ virtual void appendChild(TreeItem *item) = 0;
+ virtual TreeItem *child(const unsigned int row) const = 0;
+ virtual unsigned int childCount() const = 0;
+ virtual TreeItem *parent() const = 0;
+
+ virtual TreeItem::List children() const = 0;
+ virtual int columnCount() const = 0;
+
+ /**
+ * Determines the position among the children of
+ * this TreeItem's parent. This is done by introspecting the result
+ * of children().
+ */
+ int row() const;
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const = 0;
+
+ Q_SIGNALS:
+ /**
+ * Emitted whenever this item changed. This is used for keeping
+ * views in synchronization with the item model which houses
+ * this item.
+ *
+ * @param item the item which changed. That is, this TreeItem.
+ */
+ void changed(TreeItem *item);
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp b/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
new file mode 100644
index 0000000..d9ba200
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TreeModel.cpp
@@ -0,0 +1,220 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "TestContainer.h"
+
+#include "TreeModel.h"
+
+using namespace QPatternistSDK;
+
+TreeModel::TreeModel(const QStringList columnData,
+ QObject *p) : QAbstractItemModel(p),
+ m_root(0),
+ m_columnData(columnData)
+{
+}
+
+TreeModel::~TreeModel()
+{
+}
+
+QVariant TreeModel::data(const QModelIndex &idx, int role) const
+{
+ if(!idx.isValid())
+ return QVariant();
+
+ TreeItem *item = static_cast<TreeItem *>(idx.internalPointer());
+ Q_ASSERT(item);
+
+ return item->data(static_cast<Qt::ItemDataRole>(role), idx.column());
+}
+
+QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int role) const
+{
+ if(orientation == Qt::Horizontal && role == Qt::DisplayRole)
+ return m_columnData.value(section);
+
+ return QVariant();
+}
+
+void TreeModel::childChanged(TreeItem *)
+{
+ layoutChanged();
+}
+
+QModelIndex TreeModel::index(int row, int column, const QModelIndex &p) const
+{
+ const int c = columnCount(p);
+
+ if(row < 0 || column < 0 || column >= c)
+ return QModelIndex();
+
+ TreeItem *parentItem;
+
+ if(p.isValid())
+ parentItem = static_cast<TreeItem *>(p.internalPointer());
+ else
+ parentItem = m_root;
+
+ if(!parentItem)
+ return QModelIndex();
+
+ TreeItem *childItem = parentItem->child(row);
+
+ if(childItem)
+ return createIndex(row, column, childItem);
+ else
+ return QModelIndex();
+}
+
+QModelIndex TreeModel::parent(const QModelIndex &idx) const
+{
+ if(!idx.isValid())
+ return QModelIndex();
+
+ TreeItem *childItem = static_cast<TreeItem *>(idx.internalPointer());
+ Q_ASSERT(childItem);
+ TreeItem *parentItem = childItem->parent();
+
+ if(!parentItem || parentItem == m_root)
+ return QModelIndex();
+
+ Q_ASSERT(parentItem);
+ return createIndex(parentItem->row(), 0, parentItem);
+}
+
+Qt::ItemFlags TreeModel::flags(const QModelIndex &idx) const
+{
+ /* Not sure about this code. */
+ if(!idx.isValid())
+ return Qt::ItemFlags();
+
+ return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+}
+
+int TreeModel::rowCount(const QModelIndex &p) const
+{
+ if(p.column() > 0)
+ return 0;
+
+ const TreeItem *parentItem;
+
+ if(p.isValid())
+ parentItem = static_cast<TreeItem *>(p.internalPointer());
+ else
+ {
+ if(m_root)
+ parentItem = m_root;
+ else
+ return 0;
+ }
+
+ return parentItem->childCount();
+}
+
+int TreeModel::columnCount(const QModelIndex &p) const
+{
+ if(p.isValid())
+ return static_cast<TreeItem *>(p.internalPointer())->columnCount();
+ else
+ return m_columnData.count();
+}
+
+TreeItem *TreeModel::root() const
+{
+ return m_root;
+}
+
+void TreeModel::setRoot(TreeItem *r)
+{
+ TreeItem *const oldRoot = m_root;
+ m_root = r;
+
+ if(m_root)
+ connect(r, SIGNAL(changed(TreeItem *)), SLOT(childChanged(TreeItem *)));
+ reset(); /* Notify views that we have radically changed. */
+ delete oldRoot;
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/TreeModel.h b/tests/auto/xmlpatternsxqts/lib/TreeModel.h
new file mode 100644
index 0000000..a85b06b
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/TreeModel.h
@@ -0,0 +1,151 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_TreeModel_H
+#define PatternistSDK_TreeModel_H
+
+#include <QAbstractItemModel>
+#include <QObject>
+#include <QPointer>
+#include <QStringList>
+
+#include "Global.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ class TreeItem;
+
+ /**
+ * @short TreeItem is a generic QAbstractItemModel tailored for
+ * representing hierarchial data.
+ *
+ * TreeModel is an item model in Qt's model/view framework. Its
+ * data consists of TreeItem instances.
+ *
+ * @see TreeItem
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT TreeModel : public QAbstractItemModel
+ {
+ Q_OBJECT
+ public:
+ TreeModel(const QStringList columnData, QObject *parent);
+ virtual ~TreeModel();
+
+ virtual QVariant data(const QModelIndex &index, int role) const;
+ virtual Qt::ItemFlags flags(const QModelIndex &index) const;
+ virtual QVariant headerData(int section,
+ Qt::Orientation orientation,
+ int role = Qt::DisplayRole) const;
+ virtual QModelIndex index(int row,
+ int column,
+ const QModelIndex &parent = QModelIndex()) const;
+ virtual QModelIndex parent(const QModelIndex &index) const;
+ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
+
+ TreeItem *root() const;
+ /**
+ * Sets @p root to the new root, and deletes the old.
+ */
+ void setRoot(TreeItem *root);
+
+ protected Q_SLOTS:
+ void childChanged(TreeItem *child);
+
+ private:
+ QPointer<TreeItem> m_root;
+ const QStringList m_columnData;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Worker.cpp b/tests/auto/xmlpatternsxqts/lib/Worker.cpp
new file mode 100644
index 0000000..9fd7b1d
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/Worker.cpp
@@ -0,0 +1,299 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QDir>
+#include <QEventLoop>
+#include <QPair>
+#include <QtDebug>
+
+#include "ExitCode.h"
+
+#include "Worker.h"
+
+using namespace QPatternistSDK;
+
+const char *const Worker::m_indent = " ";
+
+Worker::Worker(QEventLoop &ev,
+ const QFileInfo &baseline,
+ const QFileInfo &result) : m_finishedCount(0)
+ , m_baselineFile(baseline)
+ , m_resultFile(result)
+ , m_eventLoop(ev)
+{
+}
+
+void Worker::list(QTextStream &out, const QString &msg, QStringList &list)
+{
+ Q_ASSERT(!msg.isEmpty());
+
+ if(list.isEmpty())
+ return;
+
+ list.sort(); /* Make it pretty, and easy to read. */
+
+ out << msg << ":\n";
+
+ const QStringList::const_iterator end(list.constEnd());
+ QStringList::const_iterator it(list.constBegin());
+
+ for(; it != end; ++it)
+ out << m_indent << qPrintable(*it) << '\n';
+}
+
+static inline int count(const ResultThreader::Hash &list, const TestResult::Status stat)
+{
+ const ResultThreader::Hash::const_iterator end(list.constEnd());
+ ResultThreader::Hash::const_iterator it(list.constBegin());
+ int result = 0;
+
+ for(; it != end; ++it)
+ {
+ if(it.value() == stat)
+ ++result;
+ }
+
+ return result;
+}
+
+void Worker::threadFinished()
+{
+ ++m_finishedCount;
+ Q_ASSERT(m_finishedCount == 1 || m_finishedCount == 2);
+
+ const ResultThreader *const handler = static_cast<ResultThreader *>(sender());
+ Q_ASSERT(handler);
+
+ switch(handler->type())
+ {
+ case ResultThreader::Baseline:
+ {
+ m_baseline = handler->result();
+ break;
+ }
+ case ResultThreader::Result:
+ m_result = handler->result();
+ }
+
+ if(m_finishedCount == 1) /* One thread's missing. */
+ return;
+
+ /* Ok, both threads have now finished, and we got their results in m_result and m_baseline. */
+
+ /* No matter how this function exits, we want to delete this Worker. */
+ deleteLater();
+
+ ResultThreader::Hash::const_iterator itA(m_result.constBegin());
+ ResultThreader::Hash::const_iterator itB(m_baseline.constBegin());
+ const ResultThreader::Hash::const_iterator endA(m_result.constEnd());
+ const ResultThreader::Hash::const_iterator endB(m_baseline.constEnd());
+ const int baselineCount = m_baseline.count();
+ const int resultCount = m_result.count();
+
+ /* If you want useful output, change the QTextStream to use stderr. */
+ //QTextStream err(stderr);
+ QByteArray out;
+ QTextStream err(&out);
+
+ if(resultCount < baselineCount)
+ {
+ err << qPrintable(QString(QLatin1String("WARNING: Test result contains %1 reports, "
+ "but the baseline contains %2, a DECREASE "
+ "of %3 tests.\n"))
+ .arg(resultCount)
+ .arg(baselineCount)
+ .arg(resultCount - baselineCount));
+ }
+ else if(resultCount > baselineCount)
+ {
+ err << qPrintable(QString(QLatin1String("NOTE: The number of tests run is more than what "
+ "the baseline specifies. Run was %1 test cases, the "
+ "baseline specifies %2; an increase of %3 tests.\n"))
+ .arg(resultCount)
+ .arg(baselineCount)
+ .arg(resultCount - baselineCount));
+ }
+
+ for(; itA != endA; ++itA)
+ {
+ const TestResult::Status result = itA.value();
+ const TestResult::Status baseline = m_baseline.value(itA.key());
+
+ if(result == baseline) /* We have no change. */
+ {
+ if(result == TestResult::NotTested)
+ m_notTested.append(itA.key());
+ else
+ continue;
+ }
+ else if(baseline == TestResult::Pass && result == TestResult::Fail)
+ m_unexpectedFailures.append(itA.key());
+ else if(baseline == TestResult::Fail && result == TestResult::Pass)
+ m_unexpectedPasses.append(itA.key());
+ }
+
+ list(err, QLatin1String("Not tested"), m_notTested);
+ list(err, QLatin1String("Unexpected failures"), m_unexpectedFailures);
+ list(err, QLatin1String("Unexpected passes"), m_unexpectedPasses);
+
+ err << "SUMMARY:\n";
+ typedef QPair<QString, int> Info;
+ typedef QList<Info> InfoList;
+ InfoList info;
+
+ const int totFail = count(m_result, TestResult::Fail);
+ const int totPass = count(m_result, TestResult::Pass);
+ const int total = resultCount;
+ const int notTested = m_notTested.count();
+ const int percentage = int((static_cast<double>(totPass) / total) * 100);
+
+ Q_ASSERT_X(percentage >= 0 && percentage <= 100, Q_FUNC_INFO,
+ qPrintable(QString(QLatin1String("Percentage was: %1")).arg(percentage)));
+
+ info.append(Info(QLatin1String("Total"), total));
+ info.append(Info(QLatin1String("Failures"), totFail));
+ info.append(Info(QLatin1String("Passes"), totPass));
+ info.append(Info(QLatin1String("Not tested"), notTested));
+ info.append(Info(QLatin1String("Pass percentage(%)"), percentage));
+ info.append(Info(QLatin1String("Unexpected failures"), m_unexpectedFailures.count()));
+ info.append(Info(QLatin1String("Unexpected passes"), m_unexpectedPasses.count()));
+
+ const InfoList::const_iterator end(info.constEnd());
+ InfoList::const_iterator it(info.constBegin());
+
+ /* List the statistics nicely in a row with padded columns. */
+ for(; it != end; ++it)
+ {
+ const QString result((((*it).first) + QLatin1Char(':')).leftJustified(22, QLatin1Char(' ')));
+ err << m_indent << qPrintable(result) << (*it).second << '\n';
+ }
+
+ if(!m_unexpectedFailures.isEmpty())
+ {
+ err << "FAILURE: Regressions discovered, baseline was not updated.\n";
+ err.flush();
+ QTextStream(stderr) << out;
+ m_eventLoop.exit(ExitCode::Regression);
+ return;
+ }
+ else if(m_unexpectedPasses.isEmpty() && baselineCount == resultCount)
+ {
+ err << "Result was identical to the baseline, baseline was not updated.\n";
+ m_eventLoop.exit(ExitCode::Success);
+ return;
+ }
+
+ /* Ok, we got unexpected successes and no regressions: let's update the baseline. */
+
+ QFile resultFile(m_resultFile.absoluteFilePath());
+
+ /* Remove the old file, otherwise QFile::copy() will fail. */
+ QDir baselineDir(m_baselineFile.absolutePath());
+ baselineDir.remove(m_baselineFile.fileName());
+
+ if(resultFile.copy(m_baselineFile.absoluteFilePath()))
+ {
+ /* Give a detailed message of what's going on. */
+ if(resultCount > baselineCount)
+ err << "More tests was run than specified in the baseline, updating the baseline.\n";
+ else
+ err << "Improvement, the baseline was updated.\n";
+
+ /* We actually flag this as an error, because the new baseline must be submitted. */
+ err.flush();
+ QTextStream(stderr) << out;
+ m_eventLoop.exit(ExitCode::Regression);
+ return;
+ }
+ else
+ {
+ err << qPrintable(QString(QLatin1String("Encountered error when updating "
+ "the baseline: %1\n"))
+ .arg(resultFile.errorString()));
+ err.flush();
+ QTextStream(stderr) << out;
+ m_eventLoop.exit(ExitCode::WriteError);
+ return;
+ }
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/Worker.h b/tests/auto/xmlpatternsxqts/lib/Worker.h
new file mode 100644
index 0000000..df59892
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/Worker.h
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_Worker_H
+#define PatternistSDK_Worker_H
+
+#include <QFileInfo>
+#include <QList>
+#include <QObject>
+#include <QStringList>
+
+#include "ResultThreader.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QEventLoop;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Gets notified when the ResultThreader threads are
+ * finished, and output summaries and adjusts a baseline.
+ *
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup PatternistSDK
+ */
+ class Q_PATTERNISTSDK_EXPORT Worker : public QObject
+ {
+ Q_OBJECT
+ public:
+ Worker(QEventLoop &e,
+ const QFileInfo &baseline,
+ const QFileInfo &result);
+
+ public Q_SLOTS:
+ void threadFinished();
+
+ private:
+ static inline void list(QTextStream &out, const QString &msg, QStringList &list);
+
+ qint8 m_finishedCount;
+ const QFileInfo m_baselineFile;
+ const QFileInfo m_resultFile;
+ ResultThreader::Hash m_result;
+ ResultThreader::Hash m_baseline;
+ ResultThreader::Hash m_summary;
+ QStringList m_unexpectedPasses;
+ QStringList m_unexpectedFailures;
+ QStringList m_notTested;
+ QEventLoop & m_eventLoop;
+ static const char *const m_indent;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp b/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp
new file mode 100644
index 0000000..9911d40
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XMLWriter.cpp
@@ -0,0 +1,710 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QCoreApplication>
+#include <QDateTime>
+#include <QIODevice>
+#include <QList>
+#include <QPair>
+#include <QStack>
+#include <QtDebug>
+
+#include "XMLWriter.h"
+
+/* Issues:
+ * - Switch to Qt's d-pointer semantics, if in Qt.
+ * - Remove namespace(PatternistSDK), and change name, if in Qt.
+ * - Is it really necessary to pass the tag name to endElement()?
+ * - Could it be of interest to let the user control the encoding? Are those cases common
+ * enough to justify support in Qt? Using anything but UTF-8 or UTF-16
+ * means asking for trouble, from an interoperability perspective.
+ */
+
+/* Design rationalis, comments:
+ *
+ * - The class is called XMLWriter to harvest familarity by being consistent with
+ * Java's XMLWriter class. If XMLWriter is moved to Qt, the name QXmlWriter is perhaps suitable.
+ * - The class does not handle indentation because the "do one thing well"-principle is
+ * in use. XMLWriter should be fast and not assume a certain idea of indentation. Indentation
+ * should be implemented in a standalone QXmlContentHandler that performs the indentation and
+ * "has a" QXmlContentHandler which it in addition calls, and by that proxying/piping another
+ * QXmlContentHandler(which most likely is an XMLWriter). Thus, achieving a modularized,
+ * flexibly approach to indentation. A reason is also that indentation is very subjective.
+ * The indenter class should probably be called XMLIndenter/QXmlIndenter.
+ * - It could be of interest to implement QXmlDTDHandler such that it would be possible to serialize
+ * DTDs. Must be done before BC becomes significant.
+ * - I think the most valuable of this class is its Q_ASSERT tests. Many programmers have severe problems
+ * producing XML, and the tests helps them catching their mistakes. They therefore promote
+ * interoperability. Do not remove them. If any are wrong, fix them instead.
+ */
+
+using namespace QPatternistSDK;
+
+/**
+ * A namespace binding, prefix/namespace URI.
+ */
+typedef QPair<QString, QString> NSBinding;
+typedef QList<NSBinding> NSBindingList;
+
+#ifdef QT_NO_DEBUG
+# define DEBUG_CODE(code)
+#else
+# define DEBUG_CODE(code) code
+#endif
+
+class XMLWriter::Private
+{
+public:
+ inline Private(QIODevice *devP) : insideCDATA(false),
+ addModificationNote(false),
+ dev(devP)
+ {
+ hasContentStack.push(true);
+ }
+
+#ifdef QT_NO_DEBUG
+ inline void validateQName(const QString &) const
+ {
+ }
+
+ inline void verifyNS(const QString &) const
+ {
+ }
+#else
+ /**
+ * Simple test of that @p name is an acceptable QName.
+ */
+ inline void validateQName(const QString &name)
+ {
+ Q_ASSERT_X(!name.isEmpty(), Q_FUNC_INFO,
+ "An XML name cannot be empty.");
+ Q_ASSERT_X(!name.endsWith(QLatin1Char(':')), Q_FUNC_INFO,
+ "An XML name cannot end with a colon(QLatin1Char(':')).");
+ Q_ASSERT_X(!name.contains(QRegExp(QLatin1String("[ \t\n]"))), Q_FUNC_INFO,
+ "An XML name cannot contain whitespace.");
+ }
+
+ /**
+ * Ensures that the prefix of @p qName is declared.
+ */
+ inline void verifyNS(const QString &qName) const
+ {
+ const QString prefix(qName.left(qName.indexOf(QLatin1Char(':'))));
+
+ if(qName.contains(QLatin1Char(':')) && prefix != QLatin1String("xml"))
+ {
+ bool foundPrefix = false;
+ const QStack<NSBindingList>::const_iterator end(namespaceTracker.constEnd());
+ QStack<NSBindingList>::const_iterator it(namespaceTracker.constBegin());
+
+ for(; it != end; ++it)
+ {
+ const NSBindingList::const_iterator lend((*it).constEnd());
+ NSBindingList::const_iterator lit((*it).constBegin());
+
+ for(; lit != lend; ++it)
+ {
+ if((*lit).first == prefix)
+ {
+ foundPrefix = true;
+ break;
+ }
+ }
+ if(foundPrefix)
+ break;
+ }
+
+ Q_ASSERT_X(foundPrefix, "XMLWriter::startElement()",
+ qPrintable(QString::fromLatin1("The prefix %1 is not declared. All prefixes "
+ "except 'xml' must be declared.").arg(prefix)));
+ }
+ }
+#endif
+
+ inline QString escapeElementContent(const QString &ch)
+ {
+ const int l = ch.length();
+ QString retval;
+
+ for(int i = 0; i != l; ++i)
+ {
+ const QChar c(ch.at(i));
+
+ if(c == QLatin1Char(QLatin1Char('&')))
+ retval += QLatin1String("&amp;");
+ else if(c == QLatin1Char(QLatin1Char('<')))
+ retval += QLatin1String("&lt;");
+ else
+ retval += c;
+ }
+
+ return retval;
+ }
+
+ inline QString escapeAttributeContent(const QString &ch)
+ {
+ const int l = ch.length();
+ QString retval;
+
+ for(int i = 0; i != l; ++i)
+ {
+ const QChar c(ch.at(i));
+
+ /* We don't have to escape '\'' because we use '\"' as attribute delimiter. */
+ if(c == QLatin1Char('&'))
+ retval += QLatin1String("&amp;");
+ else if(c == QLatin1Char('<'))
+ retval += QLatin1String("&lt;");
+ else if(c == QLatin1Char('"'))
+ retval += QLatin1String("&quot;");
+ else
+ retval += c;
+ }
+
+ return retval;
+ }
+
+ inline QString escapeCDATAContent(const QString &ch)
+ {
+ const int l = ch.length();
+ QString retval;
+ qint8 atEnd = 0;
+
+ for(int i = 0; i != l; ++i)
+ {
+ const QChar c(ch.at(i));
+
+ /* Escape '>' if in "]]>" */
+ if(c == QLatin1Char(']'))
+ {
+ if(atEnd == 0 || atEnd == 1)
+ ++atEnd;
+ else
+ atEnd = 0;
+
+ retval += QLatin1Char(']');
+ }
+ else if(c == QLatin1Char('>'))
+ {
+ if(atEnd == 2)
+ retval += QLatin1String("&gt;");
+ else
+ {
+ atEnd = 0;
+ retval += QLatin1Char('>');
+ }
+ }
+ else
+ retval += c;
+ }
+
+ return retval;
+ }
+
+ /**
+ * We wrap dev in this function such that we can deploy the Q_ASSERT_X
+ * macro in each place it's used.
+ */
+ inline QIODevice *device() const
+ {
+ Q_ASSERT_X(dev, Q_FUNC_INFO,
+ "No device specified for XMLWriter; one must be specified with "
+ "setDevice() or via the constructor before XMLWriter can be used.");
+ return dev;
+ }
+
+ /**
+ * @returns true on success, otherwise false
+ */
+ inline bool serialize(const QString &data)
+ {
+ const QByteArray utf8(data.toUtf8());
+
+ return device()->write(utf8) == utf8.size();
+ }
+
+ /**
+ * @returns true on success, otherwise false
+ */
+ inline bool serialize(const char data)
+ {
+ return device()->putChar(data);
+ }
+
+ /**
+ * @returns true on success, otherwise false
+ */
+ inline bool serialize(const char *data)
+ {
+ return device()->write(data) == qstrlen(data);
+ }
+
+ inline bool hasElementContent() const
+ {
+ return hasContentStack.top();
+ }
+
+ inline void handleElement()
+ {
+ if(!hasElementContent())
+ serialize('>');
+
+ /* This element is content for the parent. */
+ hasContentStack.top() = true;
+ }
+
+ NSBindingList namespaces;
+ bool insideCDATA;
+ bool addModificationNote;
+ QString msg;
+ QIODevice *dev;
+ QStack<bool> hasContentStack;
+ QString errorString;
+ DEBUG_CODE(QStack<QString> tags;)
+ DEBUG_CODE(QStack<NSBindingList> namespaceTracker;)
+};
+
+/**
+ * Reduces complexity. The empty else clause is for avoiding mess when macro
+ * is used in the 'then' branch of an if clause, which is followed by an else clause.
+ */
+#define serialize(string) if(!d->serialize(string)) \
+ { \
+ d->errorString = d->device()->errorString(); \
+ return false; \
+ } \
+ else
+
+XMLWriter::XMLWriter(QIODevice *outStream) : d(new Private(outStream))
+{
+}
+
+XMLWriter::~XMLWriter()
+{
+ delete d;
+}
+
+bool XMLWriter::startDocument()
+{
+ if(!device()->isOpen() && !device()->open(QIODevice::WriteOnly))
+ return false;
+
+ if(d->addModificationNote)
+ {
+ if(d->msg.isNull())
+ {
+ d->msg = QString::fromLatin1("NOTE: This file was automatically generated "
+ "by %1 at %2. All changes to this file will be lost.")
+ .arg(QCoreApplication::instance()->applicationName(),
+ QDateTime::currentDateTime().toString());
+ }
+ if(!comment(d->msg))
+ return false;
+
+ serialize('\n');
+ }
+
+ serialize(QLatin1String("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"));
+
+ return true;
+}
+
+bool XMLWriter::startElement(const QString &/*namespaceURI*/,
+ const QString &/*localName*/,
+ const QString &qName,
+ const QXmlAttributes &atts)
+{
+ return startElement(qName, atts);
+}
+
+bool XMLWriter::startElement(const QString &qName,
+ const QXmlAttributes &atts)
+{
+ Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
+ "Only characters() can be received when inside CDATA.");
+ Q_ASSERT_X(!qName.startsWith(QLatin1String("xmlns")), Q_FUNC_INFO,
+ "startElement should not be used for declaring prefixes, "
+ "use startPrefixMapping() for that.");
+
+ d->validateQName(qName);
+ d->verifyNS(qName);
+
+ d->handleElement();
+
+ serialize('<');
+ serialize(qName);
+
+ DEBUG_CODE(d->tags.push(qName));
+ DEBUG_CODE(d->namespaceTracker.push(d->namespaces));
+
+ /* Add namespace declarations. */
+ const NSBindingList::const_iterator end(d->namespaces.constEnd());
+ NSBindingList::const_iterator it(d->namespaces.constBegin());
+
+ for(; it != end; ++it)
+ {
+ if((*it).first.isEmpty())
+ serialize(" xmlns=");
+ else
+ {
+ serialize(" xmlns:");
+ serialize((*it).first);
+ serialize('=');
+ }
+
+ serialize('"');
+ serialize(d->escapeElementContent((*it).second));
+ serialize('"');
+ }
+ d->namespaces.clear();
+
+ const int c = atts.count();
+
+ /* Serialize attributes. */
+ for(int i = 0; i != c; ++i)
+ {
+ d->validateQName(atts.qName(i));
+ d->verifyNS(atts.qName(i));
+
+ serialize(' ');
+ serialize(atts.qName(i));
+ serialize("=\"");
+ serialize(d->escapeAttributeContent(atts.value(i)));
+ serialize('"');
+ }
+
+ d->hasContentStack.push(false);
+ return true;
+}
+
+bool XMLWriter::endElement(const QString &/*namespaceURI*/,
+ const QString &/*localName*/,
+ const QString &qName)
+{
+ return endElement(qName);
+}
+
+bool XMLWriter::endElement(const QString &qName)
+{
+ Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
+ "Only characters() can be received when inside CDATA.");
+ Q_ASSERT_X(d->tags.pop() == qName, Q_FUNC_INFO,
+ "The element tags are not balanced, the produced XML is invalid.");
+
+ DEBUG_CODE(d->namespaceTracker.pop());
+
+ /* "this" element is content for our parent, so ensure hasElementContent is true. */
+
+ if(d->hasElementContent())
+ {
+ serialize(QLatin1String("</"));
+ serialize(qName);
+ serialize('>');
+ }
+ else
+ serialize(QLatin1String("/>"));
+
+ d->hasContentStack.pop();
+
+ return true;
+}
+
+bool XMLWriter::startPrefixMapping(const QString &prefix, const QString &uri)
+{
+ Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
+ "Only characters() can be received when inside CDATA.");
+ Q_ASSERT_X(prefix.toLower() != QLatin1String("xml") ||
+ (prefix.toLower() == QLatin1String("xml") &&
+ (uri == QLatin1String("http://www.w3.org/TR/REC-xml-names/") ||
+ uri.isEmpty())),
+ Q_FUNC_INFO,
+ "The prefix 'xml' can only be bound to the namespace "
+ "\"http://www.w3.org/TR/REC-xml-names/\".");
+ Q_ASSERT_X(prefix.toLower() != QLatin1String("xml") &&
+ uri != QLatin1String("http://www.w3.org/TR/REC-xml-names/"),
+ Q_FUNC_INFO,
+ "The namespace \"http://www.w3.org/TR/REC-xml-names/\" can only be bound to the "
+ "\"xml\" prefix.");
+
+ d->namespaces.append(qMakePair(prefix, uri));
+ return true;
+}
+
+bool XMLWriter::processingInstruction(const QString &target,
+ const QString &data)
+{
+ Q_ASSERT_X(target.toLower() != QLatin1String("xml"), Q_FUNC_INFO,
+ "A processing instruction cannot have the name xml in any "
+ "capitalization, because it is reserved.");
+ Q_ASSERT_X(!data.contains(QLatin1String("?>")), Q_FUNC_INFO,
+ "The content of a processing instruction cannot contain the string \"?>\".");
+ Q_ASSERT_X(!d->insideCDATA, "XMLWriter::processingInstruction()",
+ "Only characters() can be received when inside CDATA.");
+
+ d->handleElement();
+
+ serialize(QLatin1String("<?"));
+ serialize(target);
+ serialize(' ');
+ serialize(data);
+ serialize(QLatin1String("?>"));
+ return true;
+}
+
+bool XMLWriter::characters(const QString &ch)
+{
+ Q_ASSERT_X(d->tags.count() >= 1, Q_FUNC_INFO,
+ "Text nodes can only appear inside elements(no elements sent).");
+ d->handleElement();
+
+ if(d->insideCDATA)
+ serialize(d->escapeCDATAContent(ch));
+ else
+ serialize(d->escapeElementContent(ch));
+
+ return true;
+}
+
+bool XMLWriter::comment(const QString &ch)
+{
+ Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
+ "Only characters() can be received when inside CDATA.");
+ Q_ASSERT_X(!ch.contains(QLatin1String("--")), Q_FUNC_INFO,
+ "XML comments may not contain double-hyphens(\"--\").");
+ Q_ASSERT_X(!ch.endsWith(QLatin1Char('-')), Q_FUNC_INFO,
+ "XML comments cannot end with a hyphen, \"-\"(add a space, for example).");
+ /* A comment starting with "<!---" is ok. */
+
+ d->handleElement();
+
+ serialize(QLatin1String("<!--"));
+ serialize(ch);
+ serialize(QLatin1String("-->"));
+
+ return true;
+}
+
+bool XMLWriter::startCDATA()
+{
+ Q_ASSERT_X(d->insideCDATA, Q_FUNC_INFO,
+ "startCDATA() has already been called.");
+ Q_ASSERT_X(d->tags.count() >= 1, Q_FUNC_INFO,
+ "CDATA sections can only appear inside elements(no elements sent).");
+ d->insideCDATA = true;
+ serialize(QLatin1String("<![CDATA["));
+ return true;
+}
+
+bool XMLWriter::endCDATA()
+{
+ d->insideCDATA = false;
+ serialize("]]>");
+ return true;
+}
+
+bool XMLWriter::startDTD(const QString &name,
+ const QString &publicId,
+ const QString &systemId)
+{
+ Q_ASSERT_X(!d->insideCDATA, Q_FUNC_INFO,
+ "Only characters() can be received when inside CDATA.");
+ Q_ASSERT_X(!name.isEmpty(), Q_FUNC_INFO,
+ "The DOCTYPE name cannot be empty.");
+ Q_ASSERT_X(d->tags.isEmpty() && d->namespaces.isEmpty(), Q_FUNC_INFO,
+ "No content such as namespace declarations or elements can be serialized "
+ "before the DOCTYPE declaration, the XML is invalid.");
+ Q_ASSERT_X(!publicId.contains(QLatin1Char('"')), Q_FUNC_INFO,
+ "The PUBLIC ID cannot contain quotes('\"').");
+ Q_ASSERT_X(!systemId.contains(QLatin1Char('"')), Q_FUNC_INFO,
+ "The SYSTEM ID cannot contain quotes('\"').");
+
+ serialize(QLatin1String("<!DOCTYPE "));
+ serialize(name);
+
+ if(!publicId.isEmpty())
+ {
+ Q_ASSERT_X(!systemId.isEmpty(), Q_FUNC_INFO,
+ "When a public identifier is specified, a system identifier "
+ "must also be specified in order to produce valid XML.");
+ serialize(" PUBLIC \"");
+ serialize(publicId);
+ serialize('"');
+ }
+
+ if(!systemId.isEmpty())
+ {
+ if(publicId.isEmpty())
+ serialize(" SYSTEM");
+
+ serialize(" \"");
+ serialize(systemId);
+ serialize('"');
+ }
+
+ return true;
+}
+
+bool XMLWriter::endDTD()
+{
+ Q_ASSERT_X(d->tags.isEmpty() && d->namespaces.isEmpty(), Q_FUNC_INFO,
+ "Content such as namespace declarations or elements cannot occur inside "
+ "the DOCTYPE declaration, the XML is invalid.");
+ serialize(QLatin1String(">\n"));
+ return true;
+}
+
+bool XMLWriter::startEntity(const QString &)
+{
+ return true;
+}
+
+bool XMLWriter::endEntity(const QString &)
+{
+ return true;
+}
+
+void XMLWriter::setMessage(const QString &msg)
+{
+ d->msg = msg;
+}
+
+QString XMLWriter::modificationMessage() const
+{
+ return d->msg;
+}
+
+bool XMLWriter::endDocument()
+{
+ Q_ASSERT_X(d->tags.isEmpty(), Q_FUNC_INFO,
+ "endDocument() called before all elements were closed with endElement().");
+ d->device()->close();
+ return true;
+}
+
+QString XMLWriter::errorString() const
+{
+ return d->errorString;
+}
+
+bool XMLWriter::ignorableWhitespace(const QString &ch)
+{
+ return characters(ch);
+}
+
+bool XMLWriter::endPrefixMapping(const QString &)
+{
+ /* Again, should we do something with this? */
+ return true;
+}
+
+bool XMLWriter::skippedEntity(const QString &)
+{
+ return true;
+}
+
+void XMLWriter::setDocumentLocator(QXmlLocator *)
+{
+}
+
+QIODevice *XMLWriter::device() const
+{
+ return d->dev;
+}
+
+void XMLWriter::setDevice(QIODevice *dev)
+{
+ d->dev = dev;
+}
+
+void XMLWriter::setAddMessage(const bool toggle)
+{
+ d->addModificationNote = toggle;
+}
+
+bool XMLWriter::addModificationMessage() const
+{
+ return d->addModificationNote;
+}
+
+#undef serialize
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/XMLWriter.h b/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
new file mode 100644
index 0000000..e8f100e
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
@@ -0,0 +1,444 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_XMLWriter_H
+#define PatternistSDK_XMLWriter_H
+
+#include "Global.h"
+
+#include <QtXml/QXmlContentHandler>
+#include <QtXml/QXmlLexicalHandler>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QIODevice;
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Serializes a stream of SAX events into XML, sent to a QIODevice.
+ *
+ * XMLWriter is a fast and simple XML serializer which takes care of
+ * all the low level details of well-formedness and character escaping, allowing
+ * the user to focus on higher level issues and increasing the chances of producing
+ * valid, interoperable XML.
+ *
+ * The content XMLWriter produces is sent to a QIODevice, which is either
+ * specified in XMLWriter's constructor or via setDevice(). If writing to
+ * the device fails, the content functions such as startElement() returns @c false.
+ *
+ * XMLWriter sub-classes QXmlContentHandler meaning it can serialize content
+ * from any code that produces SAX events. The class can also be used manually,
+ * by calling startElement(), endCDATA(), and so forth.
+ *
+ * XMLWriter cannot be used to serialize multiple documents. One instance per
+ * document must be used.
+ *
+ * XMLWriter takes care of escaping content into character references as necessary. Thus,
+ * it should not be done manually. In fact, it would most likely
+ * result in invalid XML or an unintended result. XMLWriter always serializes into UTF-8.
+ *
+ * When compiled in debug mode, XMLWriter contains several tests that helps
+ * ensuring that XMLWriter produces valid XML. Some of these tests ensures that:
+ *
+ * - The @c xmlns and @c xml prefixes are used properly
+ * - Content of comments and processing instructions is valid
+ * - Element, attribute and DOCTYPE names are sensible
+ * - Elements are properly nested and balanced
+ * - To some extent that things occur in the proper order. For example, that
+ * the document type definition isn't added inside an element
+ * - That namespaces prefixes are declared
+ *
+ * Not triggering XMLWriter's tests does not guarantee valid XML is produced,
+ * but they do help catching common mistakes and some of the corner cases in the
+ * specifications. When XMLWriter is compiled in release mode, these tests are not enabled
+ * and the error handling in effect is concerning writing to the QIODevice.
+ *
+ * Often it is of interest to add a note at the beginning of the file communicating
+ * it is auto-generated. setMessage() and setAddMessage() provides
+ * a convenient way of doing that.
+ *
+ * Namespace declarations are added with startPrefixMapping(), not by sending attributes
+ * with name <tt>xmlns:*</tt> to startElement().
+ *
+ * @see <a href="http://hsivonen.iki.fi/producing-xml/">HOWTO Avoid Being
+ * Called a Bozo When Producing XML</a>
+ * @see <a href="http://www.w3.org/TR/REC-xml/">Extensible Markup
+ * Language (XML) 1.0 (Third Edition)</a>
+ * @see <a href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>
+ * @todo Replace this class with QXmlStreamWriter
+ * @author Frans Englich <fenglich@trolltech.com>
+ * @ingroup PatternistSDK
+ */
+ class Q_PATTERNISTSDK_EXPORT XMLWriter : public QXmlContentHandler
+ , public QXmlLexicalHandler
+ {
+ public:
+ /**
+ * Creates a XMLWriter which serializes its received events
+ * to @p outStream.
+ *
+ * @note XMLWriter does not claim ownership of @p outStream. Thus,
+ * @p outStream may not be destroyed as long as
+ * this XMLWriter instance uses it.
+ */
+ XMLWriter(QIODevice *outStream = 0);
+
+ virtual ~XMLWriter();
+
+ /**
+ * @returns @c true if opening the output device succeeds, otherwise @c false
+ */
+ virtual bool startDocument();
+
+ /**
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool characters(const QString &ch);
+
+ /**
+ * Starts an element with name @p qName and attributes @p atts. The prefix
+ * in @p qName must first be declared with startPrefixMapping(), if it has one.
+ *
+ * A call to startElement() must always at some point be balanced with a call
+ * to endElement().
+ *
+ * To declare namespaces, don't put attributes with name <tt>xmlns:*</tt> in @p atts,
+ * but use startPrefixMapping().
+ */
+ virtual bool startElement(const QString &qName, const QXmlAttributes &atts = QXmlAttributes());
+
+ /**
+ *
+ * Behaves essentially as startElement(const QString &qName, const QXmlAttributes &atts). This
+ * function is used in conjunction with other SAX classes.
+ *
+ * The call:
+ *
+ * @code
+ * startElement(QString(), QString(), qName, atts);
+ * @endcode
+ *
+ * is equivalent to:
+ *
+ * @code
+ * startElement(qName, atts);
+ * @endcode
+ *
+ * @p namespaceURI and @p localName are not used. This function is
+ * used in conjunction with other SAX classes.
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName,
+ const QXmlAttributes &atts);
+
+ /**
+ * Signals the end of an element with name @p qName. @p qName must
+ * be supplied.
+ *
+ * Calls to startElement() and endElement() must always be balanced.
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool endElement(const QString &qName);
+
+ /**
+ * Behaves essentially as endElement(const QString &qName). This function
+ * is used when XMLWriter is used in SAX code.
+ *
+ * @p namespaceURI and @p localName are not used.
+ *
+ * The call:
+ *
+ * @code
+ * endElement(QString(), QString(), qName);
+ * @endcode
+ *
+ * is equivalent to:
+ *
+ * @code
+ * endElement(qName);
+ * @endcode
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName);
+
+ /**
+ * A description of an error if it occurred. This is typically
+ * QIODevice::errorString(). If no error has occurred, an empty
+ * string is returned.
+ */
+ virtual QString errorString() const;
+
+ /**
+ * Starts a CDATA section. Content sent with characters() will not be escaped
+ * except for ">" if occurring in "]]>".
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool startCDATA();
+
+ /**
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool endCDATA();
+
+ /**
+ * Creates a document type definition.
+ *
+ * For example, the code snippet:
+ *
+ * @code
+ * writer.startDTD("html", "-//W3C//DTD XHTML 1.0 Strict//EN",
+ * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd");
+ * writer.endDTD();
+ * @endcode
+ *
+ * would create:
+ * @verbatim
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+@endverbatim
+ *
+ * @note A system identifier must always be specified, but a public identifier may
+ * be left out.
+ *
+ * A call to startDTD() must be followed by a call to endDTD().
+ */
+ virtual bool startDTD(const QString &name,
+ const QString &publicId,
+ const QString &systemId);
+
+ /**
+ * Apart from closing the DTD, an new line is also added at end.
+ */
+ virtual bool endDTD();
+
+ /**
+ * Creates a processing instruction by name @p target, and content
+ * @p data.
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool processingInstruction(const QString &target,
+ const QString &data);
+
+ /**
+ * Declares a namespace which maps @p prefix to @p namespaceURI. For example, the call:
+ *
+ * @code
+ * startPrefixMapping("xhtml", "http://www.w3.org/1999/xhtml");
+ * @endcode
+ *
+ * would result in:
+ *
+ * @code
+ * xmlns="http://www.w3.org/1999/xhtml"
+ * @endcode
+ */
+ virtual bool startPrefixMapping(const QString &prefix,
+ const QString &namespaceURI);
+
+ /**
+ * Creates a comment with content @p ch. @p ch is escaped, there's
+ * no need to do it manually. For example, calling comment() with @p ch
+ * set to "my comment", results in "<!--my comment-->" in the output.
+ *
+ * @note if @p ch contains double hyphen("--"), the produced XML will
+ * not be well formed.
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool comment(const QString &ch);
+
+ virtual bool startEntity(const QString &name);
+ virtual bool endEntity(const QString &name);
+
+ /**
+ * Sets the message which is added as a comment if addModificationMessage()
+ * is set to @c true. If no message is specified and addModificationMessage()
+ * is set to @c true, a default message is used.
+ *
+ * @see modificationMessage(), setAddMessage()
+ */
+ virtual void setMessage(const QString &msg);
+
+ /**
+ * The message that is added at the beginning of the XML events
+ * in a comment node. If no modificationMessage is set via modificationMessage(),
+ * and addModificationMessage is set to @c true, this message will be used:
+ * "NOTE: This file was automatically generated by [the application name] at
+ * [the current date time]. All changes to this file will be lost."
+ *
+ * @see setMessage()
+ */
+ virtual QString modificationMessage() const;
+
+ /**
+ * Closes the QIODevice XMLWriter writes to.
+ */
+ virtual bool endDocument();
+
+ /**
+ * Serializes @p ch as if it was sent to characters().
+ *
+ * @returns @c false if failure occurs in writing to the QIODevice, otherwise
+ * @c true
+ */
+ virtual bool ignorableWhitespace(const QString &ch);
+
+ /**
+ * This function is not used by XMLWriter, but is implemented
+ * in order to satisfy QXmlContentHandler's interface.
+ */
+ virtual bool endPrefixMapping(const QString &prefix);
+
+ /**
+ * This function is not used by XMLWriter, but is implemented
+ * in order to satisfy QXmlContentHandler's interface.
+ */
+ virtual bool skippedEntity(const QString &name);
+
+ /**
+ * This function is not used by XMLWriter, but is implemented
+ * in order to satisfy QXmlContentHandler's interface.
+ */
+ virtual void setDocumentLocator(QXmlLocator *);
+
+ /**
+ * @returns the device XMLWriter writes its output to.
+ * XMLWriter does not own the device.
+ */
+ virtual QIODevice *device() const;
+
+ /**
+ * Sets the QIODevice XMLWriter writes to, to @p device. A device must be specified
+ * either via this function or in the constructor before XMLWriter is used.
+ *
+ * XMLWriter does not claim ownership of @p device.
+ */
+ virtual void setDevice(QIODevice *device);
+
+ /**
+ * Determines whether the modification message should be inserted as a comment
+ * before the document element. The message returned by modificationMessage() is used.
+ *
+ * If @p toggle is @c true, the message will be added, otherwise not.
+ */
+ virtual void setAddMessage(const bool toggle);
+
+ /**
+ * Tells whether a modification message will be added.
+ *
+ * @see setAddMessage(), modificationMessage()
+ */
+ virtual bool addModificationMessage() const;
+
+ private:
+ Q_DISABLE_COPY(XMLWriter)
+
+ class Private;
+ Private *d;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp
new file mode 100644
index 0000000..ecd8dd6
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.cpp
@@ -0,0 +1,327 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QColor>
+#include <QFile>
+#include <QFileInfo>
+#include <QVariant>
+#include <QtDebug>
+
+#include "XQTSTestCase.h"
+
+using namespace QPatternistSDK;
+using namespace QPatternist;
+
+XQTSTestCase::XQTSTestCase(const Scenario scen,
+ TreeItem *p,
+ const QXmlQuery::QueryLanguage lang) : m_isXPath(false)
+ , m_scenario(scen)
+ , m_parent(p)
+ , m_lang(lang)
+{
+}
+
+XQTSTestCase::~XQTSTestCase()
+{
+ qDeleteAll(m_baseLines);
+}
+
+QVariant XQTSTestCase::data(const Qt::ItemDataRole role, int column) const
+{
+ if(role == Qt::DisplayRole)
+ {
+ if(column == 0)
+ return title();
+
+ const TestResult *const tr = testResult();
+ if(!tr)
+ {
+ if(column == 1)
+ return TestResult::displayName(TestResult::NotTested);
+ else
+ return QString();
+ }
+ const TestResult::Status status = tr->status();
+
+ switch(column)
+ {
+ case 1:
+ return status == TestResult::Pass ? QString(QChar::fromLatin1('1'))
+ : QString(QChar::fromLatin1('0'));
+ case 2:
+ return status == TestResult::Fail ? QString(QChar::fromLatin1('1'))
+ : QString(QChar::fromLatin1('0'));
+ default:
+ return QString();
+ }
+ }
+
+ if(role != Qt::BackgroundRole)
+ return QVariant();
+
+ const TestResult *const tr = testResult();
+
+ if(!tr)
+ {
+ if(column == 0)
+ return Qt::yellow;
+ else
+ return QVariant();
+ }
+
+ const TestResult::Status status = tr->status();
+
+ if(status == TestResult::NotTested || status == TestResult::Unknown)
+ return Qt::yellow;
+
+ switch(column)
+ {
+ case 1:
+ return status == TestResult::Pass ? Qt::green : QVariant();
+ case 2:
+ return status == TestResult::Fail ? Qt::red : QVariant();
+ default:
+ return QVariant();
+ }
+}
+
+QString XQTSTestCase::sourceCode(bool &ok) const
+{
+ QFile file(m_queryPath.toLocalFile());
+
+ QString err;
+
+ if(!file.exists())
+ err = QString::fromLatin1("Error: %1 does not exist.").arg(file.fileName());
+ else if(!QFileInfo(file.fileName()).isFile())
+ err = QString::fromLatin1("Error: %1 is not a file, cannot display it.").arg(file.fileName());
+ else if(!file.open(QIODevice::ReadOnly))
+ err = QString::fromLatin1("Error: Could not open %1. Likely a permission error.")
+ .arg(file.fileName());
+
+ if(err.isNull()) /* No errors. */
+ {
+ ok = true;
+ /* Scary, we assume the query is stored in UTF-8. */
+ return QString::fromUtf8(file.readAll());
+ }
+ else
+ {
+ ok = false;
+ return err;
+ }
+}
+
+int XQTSTestCase::columnCount() const
+{
+ return 2;
+}
+
+void XQTSTestCase::addBaseLine(TestBaseLine *line)
+{
+ m_baseLines.append(line);
+}
+
+QString XQTSTestCase::name() const
+{
+ return m_name;
+}
+
+QString XQTSTestCase::creator() const
+{
+ return m_creator;
+}
+
+QString XQTSTestCase::description() const
+{
+ return m_description;
+}
+
+QDate XQTSTestCase::lastModified() const
+{
+ return m_lastModified;
+}
+
+bool XQTSTestCase::isXPath() const
+{
+ return m_isXPath;
+}
+
+TestCase::Scenario XQTSTestCase::scenario() const
+{
+ return m_scenario;
+}
+
+void XQTSTestCase::setName(const QString &n)
+{
+ m_name = n;
+}
+
+void XQTSTestCase::setCreator(const QString &ctor)
+{
+ m_creator = ctor;
+}
+
+void XQTSTestCase::setDescription(const QString &descriptionP)
+{
+ m_description = descriptionP;
+}
+
+void XQTSTestCase::setLastModified(const QDate &date)
+{
+ m_lastModified = date;
+}
+
+void XQTSTestCase::setIsXPath(const bool isXPathP)
+{
+ m_isXPath = isXPathP;
+}
+
+void XQTSTestCase::setQueryPath(const QUrl &uri)
+{
+ m_queryPath = uri;
+}
+
+TreeItem *XQTSTestCase::parent() const
+{
+ return m_parent;
+}
+
+QString XQTSTestCase::title() const
+{
+ return m_name;
+}
+
+TestBaseLine::List XQTSTestCase::baseLines() const
+{
+ Q_ASSERT_X(!m_baseLines.isEmpty(), Q_FUNC_INFO,
+ qPrintable(QString::fromLatin1("The test %1 has no base lines, it should have at least one.").arg(name())));
+ return m_baseLines;
+}
+
+QUrl XQTSTestCase::testCasePath() const
+{
+ return m_queryPath;
+}
+
+void XQTSTestCase::setExternalVariableLoader(const QPatternist::ExternalVariableLoader::Ptr &loader)
+{
+ m_externalVariableLoader = loader;
+}
+
+QPatternist::ExternalVariableLoader::Ptr XQTSTestCase::externalVariableLoader() const
+{
+ return m_externalVariableLoader;
+}
+
+void XQTSTestCase::setContextItemSource(const QUrl &uri)
+{
+ m_contextItemSource = uri;
+}
+
+QUrl XQTSTestCase::contextItemSource() const
+{
+ return m_contextItemSource;
+}
+
+QXmlQuery::QueryLanguage XQTSTestCase::language() const
+{
+ return m_lang;
+}
+
+void XQTSTestCase::setParent(TreeItem *const p)
+{
+ m_parent = p;
+}
+
+void XQTSTestCase::setInitialTemplateName(const QXmlName &name)
+{
+ m_initialTemplateName = name;
+}
+
+QXmlName XQTSTestCase::initialTemplateName() const
+{
+ return m_initialTemplateName;
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h
new file mode 100644
index 0000000..80ab20d
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XQTSTestCase.h
@@ -0,0 +1,190 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_XQTSTestCase_H
+#define PatternistSDK_XQTSTestCase_H
+
+#include <QDate>
+#include <QString>
+#include <QUrl>
+
+#include "qexternalvariableloader_p.h"
+
+#include "TestBaseLine.h"
+#include "TestCase.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ /**
+ * @short Represents a test case in a test suite in the XML Query Test Suite.
+ *
+ * TestCase is a memory representation of a test case, and maps
+ * to the @c test-case element in the XQuery Test Suite test
+ * case catalog.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT XQTSTestCase : public TestCase
+ {
+ public:
+ XQTSTestCase(const Scenario scen, TreeItem *parent,
+ const QXmlQuery::QueryLanguage lang = QXmlQuery::XQuery10);
+ virtual ~XQTSTestCase();
+
+ /**
+ * The identifier, the name of the test. For example, "Literals034".
+ * The name of a test case must be unique.
+ */
+ virtual QString name() const;
+ virtual QString creator() const;
+ virtual QString description() const;
+ /**
+ * @returns the query inside the file, specified by testCasePath(). Loading
+ * of the file is not cached in order to avoid complications.
+ * @param ok is set to @c false if loading the query file fails
+ */
+ virtual QString sourceCode(bool &ok) const;
+ virtual QUrl testCasePath() const;
+ virtual QDate lastModified() const;
+
+ bool isXPath() const;
+
+ /**
+ * What kind of test case this is, what kind of scenario it takes part
+ * of. For example, whether the test case should evaluate normally or fail.
+ */
+ Scenario scenario() const;
+
+ void setCreator(const QString &creator);
+ void setLastModified(const QDate &date);
+ void setDescription(const QString &description);
+ void setIsXPath(const bool isXPath);
+ void setName(const QString &name);
+ void setQueryPath(const QUrl &uri);
+ void setContextItemSource(const QUrl &uri);
+ void addBaseLine(TestBaseLine *lines);
+ void setInitialTemplateName(const QXmlName &name);
+
+ virtual TreeItem *parent() const;
+
+ virtual QVariant data(const Qt::ItemDataRole role, int column) const;
+
+ virtual QString title() const;
+ virtual TestBaseLine::List baseLines() const;
+
+ virtual int columnCount() const;
+
+ void setExternalVariableLoader(const QPatternist::ExternalVariableLoader::Ptr &loader);
+ virtual QPatternist::ExternalVariableLoader::Ptr externalVariableLoader() const;
+ virtual QUrl contextItemSource() const;
+ virtual QXmlQuery::QueryLanguage language() const;
+ void setParent(TreeItem *const parent);
+ virtual QXmlName initialTemplateName() const;
+
+ private:
+ QString m_name;
+ QString m_creator;
+ QString m_description;
+ QUrl m_queryPath;
+ bool m_isXPath;
+ QDate m_lastModified;
+ const Scenario m_scenario;
+ TreeItem * m_parent;
+ TestBaseLine::List m_baseLines;
+ QPatternist::ExternalVariableLoader::Ptr m_externalVariableLoader;
+ QUrl m_contextItemSource;
+ QXmlQuery::QueryLanguage m_lang;
+ QXmlName m_initialTemplateName;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp
new file mode 100644
index 0000000..ef5833e4
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.cpp
@@ -0,0 +1,275 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#include <QtDebug>
+
+#include "qacceltreeresourceloader_p.h"
+#include "qnetworkaccessdelegator_p.h"
+
+#include "Global.h"
+#include "TestBaseLine.h"
+#include "TestGroup.h"
+
+#include "XSLTTestSuiteHandler.h"
+
+using namespace QPatternistSDK;
+
+extern QNetworkAccessManager s_networkManager;
+
+XSLTTestSuiteHandler::XSLTTestSuiteHandler(const QUrl &catalogFile) : m_ts(0)
+ , m_tc(0)
+ , m_baseLine(0)
+ , m_catalogFile(catalogFile)
+ , m_removeTestcase(false)
+{
+ const QPatternist::NetworkAccessDelegator::Ptr networkDelegator(new QPatternist::NetworkAccessDelegator(&s_networkManager, &s_networkManager));
+
+ m_resourceLoader = QPatternist::ResourceLoader::Ptr(new QPatternist::AccelTreeResourceLoader(Global::namePool(),
+ networkDelegator));
+ Q_ASSERT(!m_catalogFile.isRelative());
+}
+
+bool XSLTTestSuiteHandler::startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/,
+ const QXmlAttributes &atts)
+ {
+ if(namespaceURI != Global::xsltsCatalogNS)
+ return true;
+
+ /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
+ if(localName == QLatin1String("testcase"))
+ {
+ /* We pass m_ts temporarily, and change it later. */
+ m_tc = new XQTSTestCase(TestCase::Standard, 0, QXmlQuery::XSLT20);
+
+ m_currentQueryPath = m_queryOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
+ m_currentBaselinePath = m_baselineOffset.resolved(QUrl(atts.value(QLatin1String("FilePath"))));
+ }
+ else if(localName == QLatin1String("stylesheet"))
+ m_tc->setQueryPath(m_currentQueryPath.resolved(atts.value(QLatin1String("file"))));
+ else if(localName == QLatin1String("error"))
+ {
+ m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
+ m_baseLine->setDetails(atts.value(QLatin1String("error-id")));
+ m_tc->addBaseLine(m_baseLine);
+ }
+ else if(localName == QLatin1String("testcases"))
+ {
+ m_ts = new TestSuite();
+ m_ts->setVersion(atts.value(QLatin1String("testSuiteVersion")));
+
+ m_queryOffset = m_catalogFile.resolved(atts.value(QLatin1String("InputOffsetPath")));
+ m_baselineOffset = m_catalogFile.resolved(atts.value(QLatin1String("ResultOffsetPath")));
+ m_sourceOffset = m_catalogFile.resolved(atts.value(QLatin1String("InputOffsetPath")));
+ }
+ else if(localName == QLatin1String("source-document"))
+ {
+ if(atts.value(QLatin1String("role")) == QLatin1String("principal"))
+ m_tc->setContextItemSource(m_sourceOffset.resolved(QUrl(atts.value(QLatin1String("file")))));
+ }
+ else if(localName == QLatin1String("result-document"))
+ {
+ m_baseLine = new TestBaseLine(TestBaseLine::identifierFromString(atts.value(QLatin1String("type"))));
+ m_baseLine->setDetails(m_currentBaselinePath.resolved(atts.value(QLatin1String("file"))).toString());
+ m_tc->addBaseLine(m_baseLine);
+ }
+ else if(localName == QLatin1String("discretionary-feature"))
+ {
+ const QString feature(atts.value(QLatin1String("name")));
+
+ m_removeTestcase = feature == QLatin1String("schema_aware") ||
+ feature == QLatin1String("namespace_axis") ||
+ feature == QLatin1String("disabling_output_escaping") ||
+ feature == QLatin1String("XML_1.1");
+ }
+ else if(localName == QLatin1String("discretionary-choice"))
+ {
+ m_baseLine = new TestBaseLine(TestBaseLine::ExpectedError);
+ m_baseLine->setDetails(atts.value(QLatin1String("name")));
+ m_tc->addBaseLine(m_baseLine);
+ const QString feature(atts.value(QLatin1String("name")));
+
+ m_removeTestcase = feature == QLatin1String("schema_aware") ||
+ feature == QLatin1String("namespace_axis") ||
+ feature == QLatin1String("disabling_output_escaping") ||
+ feature == QLatin1String("XML_1.1");
+ }
+ else if(localName == QLatin1String("entry-named-template"))
+ {
+ const QString name(atts.value(QLatin1String("qname")));
+
+ if(!name.contains(QLatin1Char(':')))
+ {
+ // TODO do namespace processing
+ const QXmlName complete(Global::namePool()->allocateQName(QString(), name));
+
+ m_tc->setInitialTemplateName(complete);
+ }
+ }
+
+ return true;
+}
+
+TestGroup *XSLTTestSuiteHandler::containerFor(const QString &name)
+{
+ TestGroup *& c = m_containers[name];
+
+ if(!c)
+ {
+ c = new TestGroup(m_ts);
+ c->setTitle(name);
+ Q_ASSERT(c);
+ m_ts->appendChild(c);
+ }
+
+ return c;
+}
+
+bool XSLTTestSuiteHandler::endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &/*qName*/)
+{
+ if(namespaceURI != Global::xsltsCatalogNS)
+ return true;
+
+ /* The elements are handled roughly in the order of highest occurrence in the catalog file. */
+ if(localName == QLatin1String("description"))
+ {
+ if(m_tc)
+ {
+ /* We're inside a <testcase>, so the <description> belongs
+ * to the testcase. */
+ m_tc->setDescription(m_ch.simplified());
+ }
+ }
+ else if(localName == QLatin1String("testcase"))
+ {
+ Q_ASSERT(m_tc->baseLines().count() >= 1);
+ Q_ASSERT(m_resourceLoader);
+ // TODO can this be removed?
+ m_tc->setExternalVariableLoader(QPatternist::ExternalVariableLoader::Ptr
+ (new ExternalSourceLoader(m_tcSourceInputs,
+ m_resourceLoader)));
+ m_tcSourceInputs.clear();
+
+ if(!m_removeTestcase)
+ {
+ /*
+ TestContainer *const container = containerFor(m_currentCategory);
+ delete m_tc;
+ container->removeLast();
+ */
+ TestContainer *const container = containerFor(m_currentCategory);
+ m_tc->setParent(container);
+ Q_ASSERT(m_tc);
+ container->appendChild(m_tc);
+ }
+
+ m_tc = 0;
+ m_removeTestcase = false;
+ }
+ else if(localName == QLatin1String("name"))
+ m_tc->setName(m_ch);
+ else if(localName == QLatin1String("creator"))
+ m_tc->setCreator(m_ch);
+ else if(localName == QLatin1String("contextItem"))
+ m_contextItemSource = m_ch;
+ else if(localName == QLatin1String("category"))
+ m_currentCategory = m_ch;
+
+ return true;
+}
+
+bool XSLTTestSuiteHandler::characters(const QString &ch)
+{
+ m_ch = ch;
+ return true;
+}
+
+TestSuite *XSLTTestSuiteHandler::testSuite() const
+{
+ return m_ts;
+}
+
+// vim: et:ts=4:sw=4:sts=4
+
diff --git a/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h
new file mode 100644
index 0000000..fce64e2
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/XSLTTestSuiteHandler.h
@@ -0,0 +1,199 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+*/
+
+#ifndef PatternistSDK_XSLTTestSuiteHandler_H
+#define PatternistSDK_XSLTTestSuiteHandler_H
+
+#include <QStack>
+#include <QUrl>
+#include <QXmlDefaultHandler>
+
+#include "ExternalSourceLoader.h"
+#include "TestSuite.h"
+#include "XQTSTestCase.h"
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+namespace QPatternistSDK
+{
+ class TestBaseLine;
+ class TestGroup;
+
+ /**
+ * @short Creates a TestSuite from the XQuery Test Suite catalog.
+ *
+ * The created TestSuite can be retrieved via testSuite().
+ *
+ * @note XSLTTestSuiteHandler assumes the XML is valid by having been validated
+ * against the W3C XML Schema. It has no safety checks for that the XML format
+ * is correct but is hard coded for it. Thus, the behavior is undefined if
+ * the XML is invalid.
+ *
+ * @see http://www.w3.org/XML/Group/xslt20-test/TestSuiteStagingArea/catalog.html
+ * @see http://www.w3.org/XML/Group/xslt20-test/Documentation/XSLT2Test.htm
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class Q_PATTERNISTSDK_EXPORT XSLTTestSuiteHandler : public QXmlDefaultHandler
+ {
+ public:
+ /**
+ * @param catalogFile the URI for the catalog file being parsed. This
+ * URI is used for creating absolute URIs for files mentioned in
+ * the catalog with relative URIs.
+ * @param useExclusionList whether excludeTestGroups.txt should be used to ignore
+ * test groups when loading
+ */
+ XSLTTestSuiteHandler(const QUrl &catalogFile);
+ virtual bool characters(const QString &ch);
+
+ virtual bool endElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName);
+ virtual bool startElement(const QString &namespaceURI,
+ const QString &localName,
+ const QString &qName,
+ const QXmlAttributes &atts);
+
+ virtual TestSuite *testSuite() const;
+
+ private:
+ TestGroup *containerFor(const QString &name);
+
+ QHash<QString, TestGroup *> m_containers;
+
+ TestSuite * m_ts;
+ XQTSTestCase * m_tc;
+ TestBaseLine * m_baseLine;
+ QString m_ch;
+ const QUrl m_catalogFile;
+
+ /**
+ * The base URI for where the XQuery query files are found.
+ * It is absolute, resolved against catalogFile.
+ */
+ QUrl m_queryOffset;
+
+ QUrl m_baselineOffset;
+ QUrl m_sourceOffset;
+ QUrl m_currentQueryPath;
+ QUrl m_currentBaselinePath;
+
+ /**
+ * In the XQTSCatalog.xml, each source file in each test is referred to
+ * by a key, which can be fully looked up in the @c sources element. This QHash
+ * maps the keys to absolute URIs pointing to the source files.
+ */
+ ExternalSourceLoader::SourceMap m_sourceMap;
+
+ ExternalSourceLoader::VariableMap m_tcSourceInputs;
+
+ QPatternist::ResourceLoader::Ptr m_resourceLoader;
+
+ /**
+ * The current value of <tt>input-file/\@variable</tt>.
+ */
+ QString m_currentInputVariable;
+
+ /**
+ * The names of the test groups.
+ */
+ QStack<QString> m_testGroupName;
+
+ /**
+ * Holds the content of the current <tt>input-URI</tt> element.
+ */
+ QString m_inputURI;
+ QString m_contextItemSource;
+ QString m_currentCategory;
+ bool m_removeTestcase;
+ };
+}
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp
new file mode 100644
index 0000000..935143a
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExample.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+QByteArray result;
+QBuffer returnBuffer(&result);
+XMLWriter writer(&returnBuffer);
+
+writer.startDocument();
+
+writer.startDTD(QLatin1String("html"), QLatin1String("-//W3C//DTD XHTML 1.0 Strict//EN"),
+ QLatin1String("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"));
+writer.endDTD();
+
+writer.startPrefixMapping(QString(), QLatin1String("http://www.w3.org/1999/xhtml"));
+
+writer.startElement(QLatin1String("html"), QXmlAttributes());
+writer.startElement(QLatin1String("body"), QXmlAttributes());
+writer.startElement(QLatin1String("p"), QXmlAttributes());
+
+writer.characters(QLatin1String("Hello World!"));
+
+writer.endElement(QLatin1String("p"));
+writer.endElement(QLatin1String("body"));
+writer.endElement(QLatin1String("html"));
+
+writer.endDocument();
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml
new file mode 100644
index 0000000..c5e7312
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/docs/XMLIndenterExampleResult.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><body><p>Hello World!</p></body></html>
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp
new file mode 100644
index 0000000..935143a
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExample.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+QByteArray result;
+QBuffer returnBuffer(&result);
+XMLWriter writer(&returnBuffer);
+
+writer.startDocument();
+
+writer.startDTD(QLatin1String("html"), QLatin1String("-//W3C//DTD XHTML 1.0 Strict//EN"),
+ QLatin1String("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"));
+writer.endDTD();
+
+writer.startPrefixMapping(QString(), QLatin1String("http://www.w3.org/1999/xhtml"));
+
+writer.startElement(QLatin1String("html"), QXmlAttributes());
+writer.startElement(QLatin1String("body"), QXmlAttributes());
+writer.startElement(QLatin1String("p"), QXmlAttributes());
+
+writer.characters(QLatin1String("Hello World!"));
+
+writer.endElement(QLatin1String("p"));
+writer.endElement(QLatin1String("body"));
+writer.endElement(QLatin1String("html"));
+
+writer.endDocument();
diff --git a/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml
new file mode 100644
index 0000000..c5e7312
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/docs/XMLWriterExampleResult.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><body><p>Hello World!</p></body></html>
diff --git a/tests/auto/xmlpatternsxqts/lib/lib.pro b/tests/auto/xmlpatternsxqts/lib/lib.pro
new file mode 100644
index 0000000..5b12d63
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/lib.pro
@@ -0,0 +1,78 @@
+include (../../xmlpatterns.pri)
+
+TARGET = $$XMLPATTERNS_SDK
+TEMPLATE = lib
+DEFINES += Q_PATTERNISTSDK_BUILDING
+
+# lib_bundle ensures we get a framework on OS X, a library bundle.
+CONFIG += resources
+
+mac {
+ CONFIG += absolute_library_soname
+ target.path=$$[QT_INSTALL_LIBS]
+ INSTALLS += target
+}
+
+# We add gui, because xmlpatterns.pri pull it out.
+QT += xmlpatterns xml network testlib gui
+
+DESTDIR = $$QT_BUILD_TREE/lib
+!wince*:DLLDESTDIR = $$QT_BUILD_TREE/bin
+
+# syncqt doesn't copy headers in tools/ so let's manually ensure
+# it works with shadow builds and source builds.
+INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
+ $$QT_SOURCE_TREE/include/QtXmlPatterns/private \
+ $$QT_SOURCE_TREE/tools/xmlpatterns
+
+HEADERS = ASTItem.h \
+ DebugExpressionFactory.h \
+ ErrorHandler.h \
+ ErrorItem.h \
+ ExitCode.h \
+ ExpressionInfo.h \
+ ExpressionNamer.h \
+ ExternalSourceLoader.h \
+ Global.h \
+ ResultThreader.h \
+ TestBaseLine.h \
+ TestCase.h \
+ TestContainer.h \
+ TestGroup.h \
+ TestItem.h \
+ TestResult.h \
+ TestResultHandler.h \
+ TestSuite.h \
+ TestSuiteHandler.h \
+ TestSuiteResult.h \
+ TreeItem.h \
+ TreeModel.h \
+ Worker.h \
+ XMLWriter.h \
+ XQTSTestCase.h \
+ XSLTTestSuiteHandler.h
+
+SOURCES = ASTItem.cpp \
+ DebugExpressionFactory.cpp \
+ ErrorHandler.cpp \
+ ErrorItem.cpp \
+ ExpressionInfo.cpp \
+ ExpressionNamer.cpp \
+ ExternalSourceLoader.cpp \
+ Global.cpp \
+ ResultThreader.cpp \
+ TestBaseLine.cpp \
+ TestCase.cpp \
+ TestContainer.cpp \
+ TestGroup.cpp \
+ TestResult.cpp \
+ TestResultHandler.cpp \
+ TestSuite.cpp \
+ TestSuiteHandler.cpp \
+ TestSuiteResult.cpp \
+ TreeItem.cpp \
+ TreeModel.cpp \
+ Worker.cpp \
+ XMLWriter.cpp \
+ XQTSTestCase.cpp \
+ XSLTTestSuiteHandler.cpp
diff --git a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp
new file mode 100644
index 0000000..738fae1
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp
@@ -0,0 +1,227 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+ */
+
+#include <QtTest/QtTest>
+
+#include "XMLWriter.h"
+
+#include "XMLWriterTest.h"
+#include "XMLWriterTest.moc"
+
+using namespace QPatternistSDK;
+
+QTEST_MAIN(XMLWriterTest)
+
+void XMLWriterTest::serialize()
+{
+ QFETCH(QString, input);
+ QFETCH(QString, expectedResult);
+
+ QByteArray result;
+ QBuffer returnBuffer(&result);
+
+ XMLWriter writer(&returnBuffer);
+
+ QXmlInputSource inputSource;
+ inputSource.setData(input);
+
+ QXmlSimpleReader reader;
+ reader.setContentHandler(&writer);
+
+ const bool parseSuccess = reader.parse(inputSource);
+ Q_ASSERT_X(parseSuccess, Q_FUNC_INFO,
+ "XMLWriter reported an error while serializing the input.");
+
+ QCOMPARE(QString::fromLatin1(result), expectedResult);
+}
+
+void XMLWriterTest::serialize_data()
+{
+ QTest::addColumn<QString>("input");
+ QTest::addColumn<QString>("expectedResult");
+
+ /* ------------------- Elements ------------------- */
+ QTest::newRow("Only an document element")
+ << "<doc></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc/>";
+
+ QTest::newRow("Document element containing a short closed element")
+ << "<doc><f/></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><f/></doc>";
+ QTest::newRow("Complex nested elements")
+ << "<doc><a/><b/><c><d/><e><f><x/></f></e></c></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><a/><b/><c><d/><e><f><x/></f></e></c></doc>";
+ /* ------------------------------------------------- */
+
+ /* ---------------- Element Content ---------------- */
+ QTest::newRow("Element content with simple content")
+ << "<doc>content</doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc>content</doc>";
+
+ QTest::newRow("Element content with tricky to escape content")
+ << "<doc>>>&amp;'\"''/></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc>>>&amp;'\"''/></doc>";
+ /* ------------------------------------------------- */
+
+ /* ----------- Processing Instructions ------------- */
+ QTest::newRow("Simple processing instruction.")
+ << "<doc><?php content?></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><?php content?></doc>";
+ /* ------------------------------------------------- */
+
+ /* --------------- 'xml' attributes ---------------- */
+ QTest::newRow("Simple xml:space attribute.")
+ << "<doc xml:space='preserve'>content</doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc xml:space=\"preserve\">content</doc>";
+
+ QTest::newRow("Many 'xml' attributes.")
+ << "<doc xml:space='preserve' xml:foo='3' xml:s2='3'>content</doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<doc xml:space=\"preserve\" xml:foo=\"3\" xml:s2=\"3\">content</doc>";
+ /* ------------------------------------------------- */
+
+ /* ------------ namespace declarations ------------- */
+ QTest::newRow("One simple namespace declaration.")
+ << "<doc xmlns:f='example.org/'/>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<doc xmlns:f=\"example.org/\"/>";
+
+ QTest::newRow("Two simple namespace declarations.")
+ << "<doc xmlns:f='example.org/' xmlns:e='example.org/'/>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<doc xmlns:f=\"example.org/\" xmlns:e=\"example.org/\"/>";
+
+ QTest::newRow("A simple default namespace.")
+ << "<doc xmlns='example.org/'/>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<doc xmlns=\"example.org/\"/>";
+ /* ------------------------------------------------- */
+
+ /* -------- namespace declarations in use ---------- */
+ QTest::newRow("Simple use of a namespace declaration.")
+ << "<doc xmlns:f='example.org/' f:attr='chars'><n/><f:name f:attr='chars'/></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<doc xmlns:f=\"example.org/\" f:attr=\"chars\"><n/><f:name f:attr=\"chars\"/></doc>";
+ /* ------------------------------------------------- */
+}
+
+void XMLWriterTest::cdata()
+{
+ /*
+ QTest::newRow("Simple CDATA")
+ << "<doc><![CDATA[content]]></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><![CDATA[content]]></doc>";
+
+ QTest::newRow("Complex CDATA")
+ << "<doc><![CDATA[<<>>&'\";&987;]]></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><![CDATA[<<>>&'\";&123;]]></doc>";
+ */
+}
+
+void XMLWriterTest::comments()
+{
+ /*
+ QTest::newRow("Simple comment")
+ << "<doc><!-- comment --></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><!-- comment --></doc>";
+ QTest::newRow("Comment")
+ << "<doc><!--- comment --></doc>"
+ << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doc><!--- comment --></doc>";
+ */
+}
+
+void XMLWriterTest::doxygenExample()
+{
+#include "../docs/XMLWriterExample.cpp"
+
+ /* When changing, remember to update the Doxygen in XMLWriter.h */
+ const QByteArray expectedResult(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" "
+ "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\"><body><p>Hello World!</p></body></html>"
+ );
+
+ QCOMPARE(QString::fromLatin1(result), QString::fromLatin1(expectedResult));
+}
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h
new file mode 100644
index 0000000..bba6557
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.h
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the Patternist project on Trolltech Labs.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+***************************************************************************
+ */
+
+#ifndef PatternistSDK_XMLWriterTest_H
+#define PatternistSDK_XMLWriterTest_H
+
+#include <QObject>
+
+QT_BEGIN_HEADER
+
+namespace QPatternistSDK
+{
+ /**
+ * @short QTestLib test for XMLWriter.
+ *
+ * @ingroup PatternistSDK
+ * @author Frans Englich <fenglich@trolltech.com>
+ */
+ class XMLWriterTest : public QObject
+ {
+ Q_OBJECT
+ private Q_SLOTS:
+ void serialize();
+ void serialize_data();
+ void comments();
+ void cdata();
+
+ /**
+ * Ensure the example compiles, and that it does
+ * what it claims to.
+ */
+ void doxygenExample();
+ };
+}
+
+QT_END_HEADER
+
+#endif
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/summarizeBaseline.sh b/tests/auto/xmlpatternsxqts/summarizeBaseline.sh
new file mode 100755
index 0000000..6aeddf7
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/summarizeBaseline.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]; then
+ echo "You need to pass in one argument: the file path to Baseline.xml which you want the summary for."
+ exit 1
+fi
+
+# We run dirname, so we can locate summarizeBaseline.xsl regardless of our
+# working directory.
+xmlpatterns `dirname $0`/summarizeBaseline.xsl $1
diff --git a/tests/auto/xmlpatternsxqts/summarizeBaseline.xsl b/tests/auto/xmlpatternsxqts/summarizeBaseline.xsl
new file mode 100644
index 0000000..af74bd1
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/summarizeBaseline.xsl
@@ -0,0 +1,25 @@
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:m="http://www.w3.org/2005/02/query-test-XQTSResult">
+
+ <!-- Simply outputs a list of what test cases that failed. -->
+
+ <xsl:output method="text"/>
+
+ <xsl:template match="/">
+ <xsl:text>Failures:&#10;</xsl:text>
+ <xsl:apply-templates select="m:test-suite-result/m:test-case">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template match="m:test-case[@result = 'fail']">
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:template>
+
+</xsl:stylesheet>
+<!-- vim: et:ts=4:sw=4:sts=4
+-->
diff --git a/tests/auto/xmlpatternsxqts/test/test.pro b/tests/auto/xmlpatternsxqts/test/test.pro
new file mode 100644
index 0000000..603ae65
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/test/test.pro
@@ -0,0 +1,28 @@
+load(qttest_p4)
+SOURCES += tst_xmlpatternsxqts.cpp ../../qxmlquery/TestFundament.cpp tst_suitetest.cpp
+
+include(../../xmlpatterns.pri)
+
+contains(QT_CONFIG,xmlpatterns) {
+ HEADERS += tst_suitetest.h
+ LIBS += -l$$XMLPATTERNS_SDK
+}
+
+# syncqt doesn't copy headers in tools/ so let's manually ensure
+# it works with shadow builds and source builds.
+INCLUDEPATH += $$(QTDIR)/include/QtXmlPatterns/private \
+ $$(QTSRCDIR)/include/QtXmlPatterns/private \
+ $$(QTSRCDIR)/tools/xmlpatterns \
+ $$(QTDIR)/tools/xmlpatterns \
+ ../lib/
+
+CONFIG += testlib
+QT += xml
+DESTDIR = ..
+win32 {
+ CONFIG(debug, debug|release): DESTDIR = ../debug
+ else: DESTDIR = ../release
+}
+TARGET = tst_xmlpatternsxqts
+
+include (../../xmlpatterns.pri)
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
new file mode 100644
index 0000000..1f9e396
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp
@@ -0,0 +1,166 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include <QProcess>
+#include "TestSuite.h"
+#include "TestSuiteResult.h"
+#include "XMLWriter.h"
+#include "ExitCode.h"
+#include "Worker.h"
+#include "private/qautoptr_p.h"
+#include "tst_suitetest.h"
+
+using namespace QPatternistSDK;
+
+tst_SuiteTest::tst_SuiteTest(const bool isXSLT,
+ const bool alwaysRun) : m_existingBaseline(inputFile(QLatin1String("Baseline.xml")))
+ , m_candidateBaseline(inputFile(QLatin1String("CandidateBaseline.xml")))
+ , m_abortRun(!alwaysRun && !QFile::exists(QLatin1String("runTests")))
+ , m_isXSLT(isXSLT)
+{
+}
+
+/*!
+ Returns an absolute path to the XQTS catalog, or flags a failure using
+ QTestLib's mechanisms.
+
+ Finding the location of the catalog is done with `p4 where` such that we don't have
+ to care about where it is checked out.
+ */
+void tst_SuiteTest::initTestCase()
+{
+ catalogPath(m_catalogPath);
+}
+
+/*!
+ Just runs the test suite and writes the result to m_candidateBaseline.
+ */
+void tst_SuiteTest::runTestSuite() const
+{
+ if(m_abortRun)
+ QSKIP("The test suite is not available, no tests are run.", SkipAll);
+
+ QString errMsg;
+ const QFileInfo fi(m_catalogPath);
+ const QUrl catalogPath(QUrl::fromLocalFile(fi.absoluteFilePath()));
+ TestSuite *const ts = TestSuite::openCatalog(catalogPath, errMsg, true, m_isXSLT);
+
+ QVERIFY2(ts, qPrintable(QString::fromLatin1("Failed to open the catalog, maybe it doesn't exist or is broken: %1").arg(errMsg)));
+
+ /* Run the tests, and serialize the result(as according to XQTSResult.xsd) to standard out. */
+ TestSuiteResult *const result = ts->runSuite();
+ Q_ASSERT(result);
+
+ QFile out(m_candidateBaseline);
+ QVERIFY(out.open(QIODevice::WriteOnly));
+
+ XMLWriter serializer(&out);
+ result->toXML(serializer);
+
+ delete result;
+ delete ts;
+}
+
+void tst_SuiteTest::checkTestSuiteResult() const
+{
+ if(m_abortRun)
+ QSKIP("This test takes too long time to run on the majority of platforms.", SkipAll);
+
+ typedef QList<QFileInfo> QFileInfoList;
+
+ const QFileInfo baseline(m_existingBaseline);
+ const QFileInfo result(m_candidateBaseline);
+ QFileInfoList list;
+ list.append(baseline);
+ list.append(result);
+
+ const QFileInfoList::const_iterator end(list.constEnd());
+
+ QEventLoop eventLoop;
+ const QPatternist::AutoPtr<Worker> worker(new Worker(eventLoop, m_existingBaseline, result));
+
+ /* Passed to ResultThreader so it knows what kind of file it is handling. */
+ ResultThreader::Type type = ResultThreader::Baseline;
+
+ QProcess::execute(QLatin1String("p4 edit ") + m_existingBaseline);
+
+ for(QFileInfoList::const_iterator it(list.constBegin()); it != end; ++it)
+ {
+ QFileInfo i(*it);
+ i.makeAbsolute();
+
+ QVERIFY2(i.exists(), qPrintable(QString::fromLatin1("File %1 does not exist.")
+ .arg(i.fileName())));
+
+ QFile *const file = new QFile(i.absoluteFilePath(), worker.data());
+
+ QVERIFY2(file->open(QIODevice::ReadOnly), qPrintable(QString::fromLatin1("Could not open file %1 for reading.")
+ .arg(i.fileName())));
+
+ ResultThreader *handler = new ResultThreader(eventLoop, file, type, worker.data());
+
+ QObject::connect(handler, SIGNAL(finished()), worker.data(), SLOT(threadFinished()));
+
+ handler->start(); /* Start the thread. It now parses the file
+ and emits threadFinished() when done. */
+ type = ResultThreader::Result;
+ }
+
+ const int exitCode = eventLoop.exec();
+
+ QProcess::execute(QLatin1String("p4 revert -a ") + m_existingBaseline);
+
+ QCOMPARE(exitCode, 0);
+}
+
+bool tst_SuiteTest::dontRun() const
+{
+ return m_abortRun;
+}
+#endif
+
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/test/tst_suitetest.h b/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
new file mode 100644
index 0000000..922f645
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/test/tst_suitetest.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef Q_tst_SuiteTest
+#define Q_tst_SuiteTest
+
+#include <QtCore/QObject>
+#include "../../qxmlquery/TestFundament.h"
+
+/*!
+ \class tst_SuiteTest
+ \internal
+ \since 4.5
+ \brief Base class for tst_XmlPatternsXQTS and tst_XmlPatternsXSLTS.
+ */
+class tst_SuiteTest : public QObject
+ , private TestFundament
+{
+ Q_OBJECT
+
+protected:
+ /**
+ * @p isXSLT is @c true if the catalog opened is an
+ * XSL-T test suite.
+ *
+ * @p alwaysRun is @c true if the test should always be run,
+ * regardless of if the file runTests exists.
+ */
+ tst_SuiteTest(const bool isXSLT,
+ const bool alwaysRun = false);
+
+ /**
+ * The reason why we pass in a mutable reference and have void as return
+ * value instead of simply returning the string, is that we in some
+ * implementations use QTestLib's macros such as QVERIFY, which contains
+ * return statements. Yay for QTestLib.
+ */
+ virtual void catalogPath(QString &write) const = 0;
+
+ bool dontRun() const;
+
+private Q_SLOTS:
+ void initTestCase();
+ void runTestSuite() const;
+ void checkTestSuiteResult() const;
+
+private:
+ /**
+ * An absolute path to the catalog.
+ */
+ QString m_catalogPath;
+ const QString m_existingBaseline;
+ const QString m_candidateBaseline;
+ const bool m_abortRun;
+ const bool m_isXSLT;
+};
+
+#endif
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp b/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
new file mode 100644
index 0000000..6d9502d
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp
@@ -0,0 +1,106 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+#ifdef QTEST_XMLPATTERNS
+
+#include "tst_suitetest.h"
+
+/*!
+ \class tst_XmlPatternsXQTS
+ \internal
+ \since 4.4
+ \brief Tests the actual engine by running W3C's conformance test suite.
+ */
+class tst_XmlPatternsXQTS : public tst_SuiteTest
+{
+ Q_OBJECT
+public:
+ tst_XmlPatternsXQTS();
+public:
+ virtual void catalogPath(QString &write) const;
+};
+
+tst_XmlPatternsXQTS::tst_XmlPatternsXQTS() : tst_SuiteTest(false)
+{
+}
+
+void tst_XmlPatternsXQTS::catalogPath(QString &write) const
+{
+ if(dontRun())
+ QSKIP("This test takes too long time to run on the majority of platforms.", SkipAll);
+
+ QProcess p4;
+
+ QStringList arguments;
+ arguments << QLatin1String("where")
+ << QLatin1String("//depot/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/XQTSCatalog.xml");
+ p4.start(QLatin1String("p4"), arguments);
+ QVERIFY(p4.waitForFinished());
+ QCOMPARE(p4.exitCode(), 0);
+ QCOMPARE(p4.exitStatus(), QProcess::NormalExit);
+
+ /* `p4 where' prints for instance:
+ *
+ * //depot/qt/4.4/tests/auto/xmlpatternsxqts/... //fenglich-englich/qt-4.4/tests/auto/xmlpatternsxqts/... /home/fenglich/dev/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/XQTSCatalog.xml
+ *
+ * so we want the last string.
+ */
+ write = QString::fromLocal8Bit(p4.readAllStandardOutput()).split(QLatin1Char(' ')).last().trimmed();
+
+ if(write.isEmpty() || !QFile::exists(write))
+ {
+ QEXPECT_FAIL("", "//depot/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/ must be part of the perforce client spec, "
+ "checked out at an arbitrary location, for this test to run. The test suite will now be skipped.", Abort);
+ QVERIFY(false);
+ }
+}
+
+QTEST_MAIN(tst_XmlPatternsXQTS)
+
+#include "tst_xmlpatternsxqts.moc"
+#else
+QTEST_NOOP_MAIN
+#endif
+
+// vim: et:ts=4:sw=4:sts=4
diff --git a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
new file mode 100644
index 0000000..368a028
--- /dev/null
+++ b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
@@ -0,0 +1,11 @@
+TEMPLATE = subdirs
+SUBDIRS = test
+contains(QT_CONFIG,xmlpatterns) {
+ SUBDIRS += lib
+ !wince*:lib.file = lib/lib.pro
+ test.depends = lib
+}
+
+# Needed on the win32-g++ setup and on the test machine arsia.
+INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
+ ../../../include/QtXmlPatterns/private