<expr>
  <define name="test-one" args="x">
    <switch>
      <case>
	<eq><x/>1</eq>
	1
      </case>
      <case>
	<true/>
	2
      </case>
    </switch>
  </define>

  <define name="test-two" args="x">
    <switch>
      <case>
	<eq><x/>1</eq>
	1
      </case>
    </switch>
  </define>

  <and>
    <if>
      <eq>
	<test-one>1</test-one>
	<integer>1</integer>
      </eq>
      <print newline="true">PASS</print>
      <expr>
	<print newline="true">FAIL</print>
	<false/>
      </expr>
    </if>

    <if>
      <eq>
	<test-one>2</test-one>
	<integer>2</integer>
      </eq>
      <print newline="true">PASS</print>
      <expr>
	<print newline="true">FAIL</print>
	<false/>
      </expr>
    </if>

    <if>
      <eq>
	<test-two>1</test-two>
	<integer>1</integer>
      </eq>
      <print newline="true">PASS</print>
      <expr>
	<print newline="true">FAIL</print>
	<false/>
      </expr>
    </if>

    <if>
      <eq>
	<test-two>2</test-two>
	<nil/>
      </eq>
      <print newline="true">PASS</print>
      <expr>
	<print newline="true">FAIL</print>
	<false/>
      </expr>
    </if>
  </and>
</expr>
