diff --git a/tests.aarbology.sh b/tests.aarbology.sh
index b12779e76d138374ccaac85051f482942c60528b..1e6b7614486f31236666ecb5c237c77c0577119e 100755
--- a/tests.aarbology.sh
+++ b/tests.aarbology.sh
@@ -21,6 +21,7 @@ RES_FAIL=0
 RES_TIME=0
 RES_SEGV=0
 RES_UNKN=0
+MATCHES=0
 
 
 # ----------------------------
@@ -62,7 +63,7 @@ function generateSubtree {
 }
 
 function generateSubject {
-	./arand2 -t RT --nodes $RAND_SIZE_SUBJECT --terminals $(( $RANDOM % $RAND_ALPHABET + 1 )) --height $RAND_HEIGHT_SUBJECT 2>/dev/null
+	./arand2 -t RT --nodes $RAND_SIZE_SUBJECT --terminals $(( $RANDOM % $RAND_ALPHABET + 1 )) --height $RAND_HEIGHT_SUBJECT --rank 2 2>/dev/null
 }
 
 # $1 = Occs number of occurrences expected
@@ -70,10 +71,10 @@ function generateSubject {
 # $3 = subject
 # $4 = pattern
 function runTest2 {
-	OUT=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
+	OUT2=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
 	RET=$?
 	if [ $RET == 0 ]; then # ok
-		OUT=`test $1 -eq $OUT`
+		OUT=`test $1 -eq $OUT2`
 	fi
 	RET2=$?
 
@@ -90,6 +91,7 @@ function runTest2 {
 	if [ $RET != 0 ]; then # fail
 		return 1
 	else
+		MATCHES=$(($MATCHES + $OUT2))
 		return 0
 	fi
 }
@@ -125,12 +127,13 @@ function clearResults {
 	RES_TIME=0
 	RES_SEGV=0
 	RES_UNKN=0
+	MATCHES=0
 }
 
 function outputResults {
 	# summary
 	echo -ne "\n\t"
-	echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN
+	echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES
 	echo ""
 }
 
@@ -254,6 +257,8 @@ function runTestPatternEnds {
 	outputResults
 }
 
+runTestPattern "Exact Pattern Matching Automaton (PrefixRanked)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
+
 RAND_SIZE_SUBJECT=100
 runTestPatternEnds "Exact Tree Pattern Automaton (PrefixRanked)" "./aarbology2 -a exactTreePatternAutomaton -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) | ./adeterminize2 | ./arun2 -t result -i <(./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
 
diff --git a/tests.astringology.sh b/tests.astringology.sh
index 32c29df179e4dca128d2bb2b51a6d6e60494a4ab..bdc9b741f108e3120692823ce5bfe38eb1b75d50 100755
--- a/tests.astringology.sh
+++ b/tests.astringology.sh
@@ -19,6 +19,7 @@ RES_FAIL=0
 RES_TIME=0
 RES_SEGV=0
 RES_UNKN=0
+MATCHES=0
 
 
 # ----------------------------
@@ -64,10 +65,10 @@ function generateSubject {
 # $3 = subject
 # $4 = pattern
 function runTest2 {
-	OUT=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
+	OUT2=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
 	RET=$?
 	if [ $RET == 0 ]; then # ok
-		OUT=`test $1 -eq $OUT`
+		OUT=`test $1 -eq $OUT2`
 	fi
 	RET2=$?
 
@@ -84,6 +85,7 @@ function runTest2 {
 	if [ $RET != 0 ]; then # fail
 		return 1
 	else
+		MATCHES=$(($MATCHES + $OUT2))
 		return 0
 	fi
 }
@@ -119,12 +121,13 @@ function clearResults {
 	RES_TIME=0
 	RES_SEGV=0
 	RES_UNKN=0
+	MATCHES=0
 }
 
 function outputResults {
 	# summary
 	echo -ne "\n\t"
-	echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN
+	echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES
 	echo ""
 }