<data>
	<TUs>
		<TUTemplate r_name="'TUTemplate'" r_TUisValid="0"/>
		
		<!-- simple TU -->
		<TU r_name="'TU_simple1'" r_template="'TUTemplate'" r_TUisValid="r_name=='TU_simple1'"/>
		<!-- template TU -->
		<TUtemplate r_name="'TU_template1Base1'" r_template="'TUTemplate'" count="1"/>
		<TUtemplate r_name="'TU_template1Base2'" r_template="'TU_template1Base1'" count="2"/>
		<TUtemplate r_name="'TU_template1a'" r_template="'TU_template1Base2'"/>
		<TUtemplate r_name="'TU_template1b'" r_template="'TU_template1Base2'"/>
		<TU r_name="'TU_template1'" r_template="{'TU_template1a','TU_template1b'}" r_TUisValid="count==2"/>

		<TUtemplate r_name="'TUTemplate2Base'" r_template="'TUTemplate'" count="0"/>
		<TUtemplate r_name="'TU_template2a1'" r_template="{'TUTemplate2Base','TU_template2b1'}" count="1"/>
		<TUtemplate r_name="'TU_template2a2'" r_template="'TU_template2a1'" count="2"/>
		<TUtemplate r_name="'TU_template2b1'"/>
		<TUtemplate r_name="'TU_template2b2'" r_template="'TU_template2b1'"/>
		<TUtemplate r_name="'TU_template2c1'" r_template="{'TU_template2a2','TU_template2b2'}"/>
		<TU r_name="'TU_template2'" r_template="'TU_template2c1'" r_TUisValid="count==2"/>

		<!-- effect TU -->
		<TU r_name="'TU_effect1'" r_template="'TUTemplate'" r_TUisValid="0">
			<effect r_name="'sub1'" r_template="{'mainSelfEffectTemplate','evaluationEffect'}" r_effect="r_TUisValid=1"/>
		</TU>

		<!-- modifier TU -->
		<TU r_name="'TU_mod1'" r_template="'TUTemplate'" r_TUisValid="0">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="1"/>
		</TU>
		<TU r_name="'TU_mod2'" r_template="'TUTemplate'" r_TUisValid="0">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="$0+1"/>
		</TU>
		<TU r_name="'TU_mod3'" r_template="'TUTemplate'" r_TUisValid="0">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="$0+1"/>
			<modifier r_name="'sub2'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="$0+0"/>
		</TU>
		<TU r_name="'TU_mod4'" r_template="'TUTemplate'" r_TUisValid="0">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="1"/>
			<modifier r_name="'sub2'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="testModifier" testModifier="0">
				<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'testModifier'" r_modifiedValue="$0+1"/>
			</modifier>
		</TU>
		<TU r_name="'TU_mod5'" r_template="'TUTemplate'" r_TUisValid="0">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="$0+testModifier" testModifier="0" toto="1">
				<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'testModifier'" r_modifiedValue="$0+toto"/>
			</modifier>
			<modifier r_name="'sub2'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="$0+testModifier" testModifier="0" toto="0">
				<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'testModifier'" r_modifiedValue="$0+toto"/>
			</modifier>
		</TU>
		<TU r_name="'TU_mod6'" r_template="'TUTemplate'" r_TUisValid="1">
			<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_TUisValid'" r_modifiedValue="0">
				<modifier r_name="'sub1'" r_template="'mainModifierTemplate'" r_modifierTarget="'r_enabled'" r_modifiedValue="0"/>
			</modifier>
		</TU>

		<!-- array TU -->
		<TU r_name="'TU_sort1'" r_template="'TUTemplate'"
				r_TUisValid="(TestArray[0]==0)&&(TestArray[1]==1)&&(TestArray[2]==2)&&(TestArray[3]==3)&&(TestArray[4]==4)&&(TestArray[5]==5)&&(length(TestArray)==6)"
				TestArray="sortArray($0>$1,TestedArray)"
				TestedArray="{3,0,1,5,4,2}">
		</TU>
		<TU r_name="'TU_sort2'" r_template="'TUTemplate'"
				r_TUisValid="(TestArray[0]=='c0')&&(TestArray[1]=='d1')&&(TestArray[2]=='e2')&&(TestArray[3]=='a3')&&(TestArray[4]=='b4')"
				TestArray="sortArray(substring($0,1,1)>substring($1,1,1),TestedArray)"
				TestedArray="{'a3','c0','d1','e2','b4'}">
		</TU>
		<TU r_name="'TU_indexOf1'" r_template="'TUTemplate'"
				r_TUisValid="indexOf(TestedArray,5)==3"
				TestedArray="{3,0,1,5,4,2}">
		</TU>
		<TU r_name="'TU_indexOf2'" r_template="'TUTemplate'"
				r_TUisValid="indexOf(TestedArray,'toto')==3"
				TestedArray="{'tata','tete','titi','toto','tutu'}">
		</TU>
		<TU r_name="'TU_arrayFilter1'" r_template="'TUTemplate'"
				r_TUisValid="(TestArray[0]==2)&&(length(TestArray)==1)"
				TestArray="filterArray($0==2,TestedArray)"
				TestedArray="{0,1,2,3,4,5}">
		</TU>
		<TU r_name="'TU_arrayFilter2'" r_template="'TUTemplate'"
				r_TUisValid="(TestArray[0]==2)&&(length(TestArray)==1)"
				TestArray="filterArray($0>=2,filterArray(2>=$0,TestedArray))"
				TestedArray="{0,1,2,3,4,5}">
		</TU>
		<TU r_name="'TU_arrayToValue1'" r_template="'TUTemplate'"
				r_TUisValid="TestArray==15"
				TestArray="arrayToValue($0+$1,arrayToValue($0+$1,TestedArray))"
				TestedArray="{{0,1},{2,3},{4,5}}">
		</TU>
		<TU r_name="'TU_arrayToValue2'" r_template="'TUTemplate'"
				r_TUisValid="TestArray==15"
				TestArray="arrayToValue(($0?$0:$0)+($1?$1:$1),arrayToValue(($0[0]?$0:$0)+($1[0]?$1:$1),TestedArray))"
				TestedArray="{{0,1},{2,3},{4,5}}">
		</TU>
		<TU r_name="'TU_arrayToValue3'" r_template="'TUTemplate'"
				r_TUisValid="TestArray==6"
				TestArray="arrayToValue($0+$1,arrayToValue(filterArray($0%2==0,$0)+filterArray($0%2==0,$1),TestedArray))"
				TestedArray="{{0,1},{2,3},{4,5}}">
		</TU>
		<TU r_name="'TU_arrayToValue4'" r_template="'TUTemplate'"
				r_TUisValid="TestArray==11"
				TestArray="arrayToValue($0+$1,arrayToValue(filterArray($0%2==0,$0)+filterArray($0%2==0,$1),TestedArray),5)"
				TestedArray="{{0,1},{2,3},{4,5}}">
		</TU>
		<TU r_name="'TU_arraysToArray1'" r_template="'TUTemplate'"
				r_TUisValid="(TestArray[0]+TestArray[1]+TestArray[2])==2"
				TestArray="arraysToArray($0?$1:0,TestedArrayActivation, TestedArray)"
				TestedArrayActivation="{1,0,1}"
				TestedArray="{1,1,1}">
		</TU>
		<TU r_name="'TU_arraysToArray2'" r_template="'TUTemplate'"
				r_TUisValid="TestArray=={{0,1},{3},{4,5}}"
				TestArray="arraysToArray(filterArray($0!=$$0,$1),TestedArrayActivation, TestedArray)"
				TestedArrayActivation="{4,2,0}"
				TestedArray="{{0,1},{2,3},{4,5}}">
		</TU>
		
		<!-- formula TU -->
		<TU r_name="'TU_formula1'" r_template="'TUTemplate'"
				r_TUisValid="(1+2*3^4)==163">
		</TU>
		<TU r_name="'TU_formula2'" r_template="'TUTemplate'"
				r_TUisValid="(1^2*3+4)==7">
		</TU>
		<TU r_name="'TU_formula3'" r_template="'TUTemplate'" r_TUisValid="test==1" test="0">
			<effect r_name="'sub1'" r_template="{'mainSelfEffectTemplate','evaluationEffect'}" r_effect="all({test=1,test+=1,test-=1})"/>
		</TU>
		<TU r_name="'TU_formula4'" r_template="'TUTemplate'" r_TUisValid="(test++==--test)&&(test==0)&&(++test==test--)&&(test==0)" test="0">
		</TU>
		<TU r_name="'TU_formula5'" r_template="'TUTemplate'" r_TUisValid="test[0]=='toto'" test="{}">
			<effect r_name="'sub1'" r_template="{'mainSelfEffectTemplate','evaluationEffect'}" r_effect="test=simplifyArray({'toto'})"/>
		</TU>
		<TU r_name="'TU_formula6'" r_template="'TUTemplate'" r_TUisValid="test[0]=='toto'" test="{}" to="'to'">
			<effect r_name="'sub1'" r_template="{'mainSelfEffectTemplate','evaluationEffect'}" r_effect="test=simplifyArray({'to' + 'to'})"/>
		</TU>
		<TU r_name="'TU_function1'" r_template="'TUTemplate'" r_TUisValid="(++attributeByName(tester)==2)&&(test==2)" test="1" tester="'test'"/>
		<TU r_name="'TU_function2'" r_template="'TUTemplate'" r_TUisValid="((++attributeByName(self.tester))==2)&&(test==2)" test="1" tester="'test'"/>
		<TU r_name="'TU_function3'" r_template="'TUTemplate'" r_TUisValid="(++self.(attributeByName(tester))==2)&&(test==2)" test="1" tester="'test'"/>
		<TU r_name="'TU_function4'" r_template="'TUTemplate'" r_TUisValid="(++self.attributeByName(tester)==2)&&(test==2)" test="1" tester="'test'"/>
		<TU r_name="'TU_function5'" r_template="'TUTemplate'" r_TUisValid="valueByName(tester)==1" test="1" tester="'test'"/>
		<TU r_name="'TU_function6'" r_template="'TUTemplate'" r_TUisValid="valueByName(self.tester)==1" test="1" tester="'test'"/>
		<TU r_name="'TU_function7'" r_template="'TUTemplate'" r_TUisValid="self.valueByName(tester)==1" test="1" tester="'test'"/>
		<TU r_name="'TU_function8'" r_template="'TUTemplate'" r_TUisValid="(baseValueByName(tester)==1)&&(valueByName(tester)==2)" test="1" tester="'test'">
			<modifier r_name="'testModifier'" r_template="'mainModifierTemplate'" r_modifierTarget="'test'" r_modifiedValue="$0+1"/>
		</TU>
		<TU r_name="'TU_function9'" r_template="'TUTemplate'" r_TUisValid="(self.baseValueByName(tester)==1)&&(self.valueByName(tester)==2)" test="1" tester="'test'">
			<modifier r_name="'testModifier'" r_template="'mainModifierTemplate'" r_modifierTarget="'test'" r_modifiedValue="$0+1"/>
		</TU>
		
		<!-- loop TU -->
		<TU r_name="'TU_loop1'" r_template="'TUTemplate'" r_TUisValid="count==10" count="0">
			<loop r_name="'loop'" r_loopCondition="4>iLoop" r_loopStep="all({child.iLoop=iLoop,child.r_name=(child.r_name+iLoop++)})" iLoop="0">
				<modifier r_name="'countModifier'" r_template="'mainModifierTemplate'" iLoop="-1" r_modifierTarget="'count'" r_modifiedValue="$0+iLoop+1"/>
			</loop>
		</TU>
		<TU r_name="'TU_loop2'" r_template="'TUTemplate'" r_TUisValid="count==0" count="0">
			<loop r_name="'loop'" r_loopCondition="0>iLoop" r_loopStep="all({child.iLoop=iLoop,child.r_name=(child.r_name+iLoop++)})" iLoop="0">
				<modifier r_name="'countModifier'" r_template="'mainModifierTemplate'" iLoop="-1" r_modifierTarget="'count'" r_modifiedValue="1"/>
			</loop>
		</TU>
		
		<!-- other TU -->
		<TU r_name="'TU_slice'" r_template="'TUTemplate'"
				testValue="{0,1,2,3}"
				r_TUisValid="(slice(testValue,2,3)=={2})&&(testValue=={0,1,2,3})"/>
		<TU r_name="'TU_splice'" r_template="'TUTemplate'"
				testValue="{0,1,2,3}"
				r_TUisValid="(splice(testValue,2,1)=={2})&&(testValue=={0,1,3})"/>
		<TU r_name="'TU_substring'" r_template="'TUTemplate'"
				testValue="'abcd'"
				r_TUisValid="(substring(testValue,2,1)=='c')&&(testValue=='abcd')"/>
		<TU r_name="'TU_exists'" r_template="'TUTemplate'" r_TUisValid="!(exists(toto)&&exists(toto.toto))"/>
		<TU r_name="'TU_const'" r_template="'TUTemplate'"	r_TUisValid="(toString(floor(1.5+1*0))=='1')&&(toString(1D1+2)=='((1D1)+2)')"/>
	</TUs>
</data>