<?xml version="1.0"?>

<!-- test conditioning -->
<project name="condition-test" basedir="." default="test1">

  <target name="basic">
    <condition property="basic">
      <equals arg1="a" arg2="a" />
    </condition>
    <echo>${basic}</echo>
  </target>

  <target name="condition-incomplete">
    <condition >
      <equals arg1="a" arg2="a" />
    </condition>
  </target>  

  <target name="condition-empty">
    <condition property="condition-empty"/>
    <echo>${condition-empty}</echo>
  </target>  
  
  <target name="shortcut">
    <property name="shortcut" value="set"/>
    <condition property="shortcut">
      <equals arg1="a" arg2="a" />
    </condition>
    <echo>${shortcut}</echo>
  </target>

  <target name="dontset">
    <condition property="dontset">
      <equals arg1="a" arg2="b" />
    </condition>
    <echo>${dontset}</echo>
  </target>

  <target name="setvalue">
    <condition property="setvalue" value="woowoo" >
      <equals arg1="a" arg2="a" />
    </condition>
    <echo>${setvalue}</echo>
  </target>

  <target name="negation">
    <condition property="negation">
      <not>
        <equals arg1="a" arg2="B" />
      </not>
    </condition>
    <echo>${negation}</echo>
  </target>
  
  <target name="negationfalse">
    <condition property="negationfalse">
      <not>
        <equals arg1="a" arg2="a" />
      </not>
    </condition>
    <echo>${negationfalse}</echo>
  </target>
  
  <target name="negationincomplete">
    <condition property="negationincomplete">
      <not />
    </condition>
    <echo>${negationincomplete}</echo>
  </target>
  
  <target name="and">
    <condition property="and">
      <and>
        <equals arg1="a" arg2="a" />
        <equals arg1="B" arg2="B" />
      </and>
    </condition>
    <echo>${and}</echo>
  </target>

  <target name="andfails">
    <condition property="andfails">
      <and>
        <equals arg1="a" arg2="B" />
        <equals arg1="B" arg2="a" />
      </and>
    </condition>
    <echo>${andfails}</echo>
  </target>  
  
  <target name="andincomplete">
    <condition property="andincomplete">
      <and>
        <equals arg1="a" arg2="B" />
      </and>
    </condition>
    <echo>${andincomplete}</echo>
  </target>
    
  
  <target name="andempty">
    <condition property="andempty">
      <and/>
    </condition>
    <echo>${andempty}</echo>
  </target>
    
    
  <target name="or">
    <condition property="or">
      <or>
        <equals arg1="a" arg2="B" />
        <equals arg1="B" arg2="B" />
      </or>
    </condition>
    <echo>${or}</echo>
  </target>
    
  <target name="orincomplete">
    <condition property="orincomplete">
      <or>
        <equals arg1="a" arg2="a" />
      </or>
    </condition>
    <echo>${orincomplete}</echo>
  </target>
  
  <target name="orempty">
    <condition property="orempty">
      <or/>
    </condition>
    <echo>${orempty}</echo>
  </target>
  
  <target name="orfails">
    <condition property="orfails">
      <or>
        <equals arg1="a" arg2="B" />
        <equals arg1="B" arg2="a" />
      </or>
    </condition>
    <echo>${orfails}</echo>
  </target>  

  <target name="orboth">
    <condition property="orboth">
      <or>
        <equals arg1="a" arg2="a" />
        <equals arg1="B" arg2="B" />
      </or>
    </condition>
    <echo>${orboth}</echo>
  </target>   
  
  <target name="filesmatch-identical" >
    <condition property="filesmatch-identical">
        <filesmatch 
          file1="condition.xml"
          file2="condition.xml" />
    </condition>
    <echo>${filesmatch-identical}</echo>
  </target>   
  
  <target name="filesmatch-incomplete" >
    <condition property="filesmatch-incomplete">
        <filesmatch 
          file1="condition.xml"/>
    </condition>
    <echo>${filesmatch-incomplete}</echo>
  </target> 
  
  <target name="filesmatch-oddsizes" >
    <condition property="filesmatch-oddsizes">
        <filesmatch 
          file1="condition.xml"
          file2="property.xml" />
    </condition>
    <echo>${filesmatch-oddsizes}</echo>
  </target>   

  <target name="filesmatch-existence" >
    <condition property="filesmatch-existence">
      <filesmatch 
        file1="condition.xml" 
        file2="this-file-doesnt-exist.xml" />
    </condition>
    <echo>${filesmatch-existence}</echo>
  </target>   

  <target name="filesmatch-different">
    <echo file="match1.txt" message="012345676890" />
    <echo file="match2.txt" message="012345676889" />
    <condition property="filesmatch-different">
      <filesmatch 
        file1="match1.txt" 
        file2="match2.txt" />
    </condition>
    <echo>${filesmatch-different}</echo>
  </target>   
  
  <target name="filesmatch-match" >
    <echo file="match3.txt" message="012345676890" />
    <echo file="match4.txt" message="012345676890" />
    <condition property="filesmatch-match">
      <filesmatch 
        file1="match3.txt" 
        file2="match4.txt" />
    </condition>
    <echo>${filesmatch-match}</echo>
  </target>   
  
  <target name="cleanup" >
    <delete file="match1.txt" />
    <delete file="match2.txt" />
    <delete file="match3.txt" />
    <delete file="match4.txt" />
  </target>
   
</project>
