<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform xmlns:ex="java:/org.fgeorges.exslt2.saxon.Exslt2InstructionFactory"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns:xs="http://www.w3.org/2001/XMLSchema"
               xmlns:test="http://www.fgeorges.org/xslt/unit-test"
               xmlns:o_="http://www.w3.org/1999/XSL/TransformAlias#Alias"
               xmlns:exf="http://www.fgeorges.org/exslt2"
               version="2.0"
               extension-element-prefixes="ex">
   <xsl:import href="file:/c:/Documents%20and%20Settings/Florent%20Georges/My%20Documents/xslt/xslt-unit/src/test-suite-utils.xsl"/>
   <xsl:import href="file:/c:/Documents%20and%20Settings/Florent%20Georges/My%20Documents/xslt/xslt-unit/test/hello-world.xsl"/>
   <xsl:namespace-alias stylesheet-prefix="o_" result-prefix="xsl"/>
   <xsl:output indent="yes"/>
   <xsl:template match="/">
      <xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="http://www.fgeorges.org/xslt-unit/report-to-html.xsl"</xsl:processing-instruction>
      <xsl:text>
</xsl:text>
      <test:report xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   tested="hello-world.xsl"
                   tested-absolute="file:/c:/Documents%20and%20Settings/Florent%20Georges/My%20Documents/xslt/xslt-unit/test/hello-world.xsl"
                   date="2007-01-23T20:12:14.755+01:00">
         <xsl:call-template name="d1e17"/>
         <xsl:call-template name="d1e30"/>
         <xsl:call-template name="d1e43"/>
         <xsl:call-template name="d1e82"/>
      </test:report>
   </xsl:template>
   <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                 xmlns:hw="http://www.fgeorges.org/hello-world"
                 name="elem"
                 as="element()">
      <elem id="id"/>
  </xsl:variable>
   <xsl:function xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                 xmlns:hw="http://www.fgeorges.org/hello-world"
                 name="hw:predicate"
                 as="xs:boolean">
      <xsl:param name="lhp"/>
      <xsl:param name="rhp"/>
      <xsl:sequence select="true()"/>
  </xsl:function>
   <xsl:template name="d1e17">
      <xsl:message>
         <xsl:text>Tests: </xsl:text>
         <xsl:text>hello-world(), arity 0</xsl:text>
      </xsl:message>
      <test:tests id="hello-world-0">
         <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                  xmlns:hw="http://www.fgeorges.org/hello-world">hello-world(), arity 0</t:title>
         <xsl:call-template name="d1e22"/>
      </test:tests>
   </xsl:template>
   <xsl:function name="test:do.d1e22">
      <xsl:param name="context" as="node()"/>
      <xsl:for-each select="$context">
         <xsl:sequence xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                       xmlns:hw="http://www.fgeorges.org/hello-world"
                       select="hw:hello-world()"/>
      </xsl:for-each>
   </xsl:function>
   <xsl:template name="d1e22">
      <xsl:variable name="test:result" select="test:do.d1e22(.)"/>
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:expect"
                    select="'Hello, world!'"/>
      <xsl:variable name="test:successful" as="xs:boolean"
                    select="         if ( empty(test:get-errors($test:result)) and ($test:expect eq $test:result) )           then true() else false()"/>
      <xsl:message>
         <xsl:text>  test: </xsl:text>
         <xsl:text/>
         <xsl:choose>
            <xsl:when test="$test:successful">
               <xsl:text> [success]</xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text> [FAILED !]</xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:message>
      <test:test id="hello-world-0.1" successful="{ $test:successful }">
         <t:expect xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   select="'Hello, world!'"
                   pred="eq"/>
         <test:expect-resolved>
            <xsl:sequence select="test:make-result($test:expect)"/>
         </test:expect-resolved>
         <test:result>
            <xsl:sequence select="test:make-result($test:result)"/>
         </test:result>
         <test:xslt>
            <o_:sequence select="hw:hello-world()"/>
         </test:xslt>
      </test:test>
   </xsl:template>
   <xsl:template name="d1e30">
      <xsl:message>
         <xsl:text>Tests: </xsl:text>
         <xsl:text>hello-world(), arity 1</xsl:text>
      </xsl:message>
      <test:tests id="hello-world-1">
         <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                  xmlns:hw="http://www.fgeorges.org/hello-world">hello-world(), arity 1</t:title>
         <xsl:call-template name="d1e35"/>
      </test:tests>
   </xsl:template>
   <xsl:function name="test:do.d1e35">
      <xsl:param name="context" as="node()"/>
      <xsl:for-each select="$context">
         <xsl:sequence xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                       xmlns:hw="http://www.fgeorges.org/hello-world"
                       select="hw:hello-world('Jeni')"/>
      </xsl:for-each>
   </xsl:function>
   <xsl:template name="d1e35">
      <xsl:variable name="test:result" select="test:do.d1e35(.)"/>
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:successful"
                    as="xs:boolean"
                    select="         if ( empty(test:get-errors($test:result)) and ($t:result eq 'Hello, Jeni!') )           then true() else false()"/>
      <xsl:message>
         <xsl:text>  test: </xsl:text>
         <xsl:text/>
         <xsl:choose>
            <xsl:when test="$test:successful">
               <xsl:text> [success]</xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text> [FAILED !]</xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:message>
      <test:test id="hello-world-1.1" successful="{ $test:successful }">
         <t:expect xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   test="$t:result eq 'Hello, Jeni!'"/>
         <test:result>
            <xsl:sequence select="test:make-result($test:result)"/>
         </test:result>
         <test:xslt>
            <o_:sequence select="hw:hello-world('Jeni')"/>
         </test:xslt>
      </test:test>
   </xsl:template>
   <xsl:template name="d1e43">
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:context"
                    select="$elem"/>
      <xsl:for-each select="$test:context">
         <xsl:message>
            <xsl:text>Tests: </xsl:text>
            <xsl:text>'elem' template rule</xsl:text>
         </xsl:message>
         <test:tests id="elem">
            <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                     xmlns:hw="http://www.fgeorges.org/hello-world">'elem' template rule</t:title>
            <t:context xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                       xmlns:hw="http://www.fgeorges.org/hello-world"
                       select="$elem"/>
            <xsl:call-template name="d1e50"/>
            <xsl:call-template name="d1e65"/>
         </test:tests>
      </xsl:for-each>
   </xsl:template>
   <xsl:function name="test:do.d1e50">
      <xsl:param name="context" as="node()"/>
      <xsl:for-each select="$context">
         <xsl:apply-templates xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                              xmlns:hw="http://www.fgeorges.org/hello-world"
                              select="."/>
      </xsl:for-each>
   </xsl:function>
   <xsl:template name="d1e50">
      <xsl:variable name="test:result" select="test:do.d1e50(.)"/>
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:expect"
                    as="element()+">
        <elem1/>
        <elem2 id="id"/>
      </xsl:variable>
      <xsl:variable name="test:successful" as="xs:boolean"
                    select="         if ( empty(test:get-errors($test:result)) and (deep-equal($test:expect, $test:result)) )           then true() else false()"/>
      <xsl:message>
         <xsl:text>  test: </xsl:text>
         <xsl:text>'elem' #1</xsl:text>
         <xsl:choose>
            <xsl:when test="$test:successful">
               <xsl:text> [success]</xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text> [FAILED !]</xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:message>
      <test:test id="elem.1" successful="{ $test:successful }">
         <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                  xmlns:hw="http://www.fgeorges.org/hello-world">'elem' #1</t:title>
         <t:expect xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   as="element()+">
            <elem1/>
            <elem2 id="id"/>
         </t:expect>
         <test:expect-resolved>
            <xsl:sequence select="test:make-result($test:expect)"/>
         </test:expect-resolved>
         <test:result>
            <xsl:sequence select="test:make-result($test:result)"/>
         </test:result>
         <test:xslt>
            <o_:apply-templates select="."/>
         </test:xslt>
      </test:test>
   </xsl:template>
   <xsl:function name="test:do.d1e65">
      <xsl:param name="context" as="node()"/>
      <xsl:for-each select="$context">
         <xsl:apply-templates xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                              xmlns:hw="http://www.fgeorges.org/hello-world"
                              select="."/>
      </xsl:for-each>
   </xsl:function>
   <xsl:template name="d1e65">
      <xsl:variable name="test:result" select="test:do.d1e65(.)"/>
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:expect"
                    as="element()+">
        <elem1/>
        <elem2 id="id"/>
      </xsl:variable>
      <xsl:variable xmlns:hw="http://www.fgeorges.org/hello-world" name="test:successful"
                    as="xs:boolean"
                    select="         if ( empty(test:get-errors($test:result)) and (hw:predicate($test:expect, $test:result)) )           then true() else false()"/>
      <xsl:message>
         <xsl:text>  test: </xsl:text>
         <xsl:text>'elem' #2</xsl:text>
         <xsl:choose>
            <xsl:when test="$test:successful">
               <xsl:text> [success]</xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text> [FAILED !]</xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:message>
      <test:test id="elem.2" successful="{ $test:successful }">
         <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                  xmlns:hw="http://www.fgeorges.org/hello-world">'elem' #2</t:title>
         <t:expect xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   as="element()+"
                   pred="hw:predicate">
            <elem1/>
            <elem2 id="id"/>
         </t:expect>
         <test:expect-resolved>
            <xsl:sequence select="test:make-result($test:expect)"/>
         </test:expect-resolved>
         <test:result>
            <xsl:sequence select="test:make-result($test:result)"/>
         </test:result>
         <test:xslt>
            <o_:apply-templates select="."/>
         </test:xslt>
      </test:test>
   </xsl:template>
   <xsl:template name="d1e82">
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:context"
                    select="$elem"/>
      <xsl:for-each select="$test:context">
         <xsl:message>
            <xsl:text>Tests: </xsl:text>
            <xsl:text>False negative</xsl:text>
         </xsl:message>
         <test:tests id="false">
            <t:title xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                     xmlns:hw="http://www.fgeorges.org/hello-world">False negative</t:title>
            <t:context xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                       xmlns:hw="http://www.fgeorges.org/hello-world"
                       select="$elem"/>
            <xsl:call-template name="d1e89"/>
         </test:tests>
      </xsl:for-each>
   </xsl:template>
   <xsl:function name="test:do.d1e89">
      <xsl:param name="context" as="node()"/>
      <xsl:for-each select="$context">
         <xsl:apply-templates xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                              xmlns:hw="http://www.fgeorges.org/hello-world"
                              select="."/>
      </xsl:for-each>
   </xsl:function>
   <xsl:template name="d1e89">
      <xsl:variable name="test:result" select="test:do.d1e89(.)"/>
      <xsl:variable xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                    xmlns:hw="http://www.fgeorges.org/hello-world"
                    name="test:expect"
                    as="element()+">
        <elem2 id="id"/>
      </xsl:variable>
      <xsl:variable name="test:successful" as="xs:boolean"
                    select="         if ( empty(test:get-errors($test:result)) and (deep-equal($test:expect, $test:result)) )           then true() else false()"/>
      <xsl:message>
         <xsl:text>  test: </xsl:text>
         <xsl:text/>
         <xsl:choose>
            <xsl:when test="$test:successful">
               <xsl:text> [success]</xsl:text>
            </xsl:when>
            <xsl:otherwise>
               <xsl:text> [FAILED !]</xsl:text>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:message>
      <test:test id="false.1" successful="{ $test:successful }">
         <t:expect xmlns:t="http://www.fgeorges.org/xslt/unit-test"
                   xmlns:hw="http://www.fgeorges.org/hello-world"
                   as="element()+">
            <elem2 id="id"/>
         </t:expect>
         <test:expect-resolved>
            <xsl:sequence select="test:make-result($test:expect)"/>
         </test:expect-resolved>
         <test:result>
            <xsl:sequence select="test:make-result($test:result)"/>
         </test:result>
         <test:xslt>
            <o_:apply-templates select="."/>
         </test:xslt>
      </test:test>
   </xsl:template>
</xsl:transform>