Test Results for Matching tests

eXist Version 1.3.0dev : Revision 8849

9 Tests passed

Purpose: Testing alternative ways of testing for presence/absence

Author: Chris Wallace

Null loop : Passed

XQuery
 
let $stopwords := ("a","and","in","the","or","over") 
let $input-string := 'a quick brown fox jumps over the lazy dog' 
let $input-words := tokenize($input-string, '\s+')
return 
         ( for $i in 1 to 1000 
          for $word in $input-words 
          return true() 
          )[1]   
Output
true
Elapsed Time (ms) 21

Element / generalised equals : Passed

XQuery
let $stopwords :=
<words>
   <word>a</word>
   <word>and</word>
   <word>in</word>
   <word>the</word>
   <word>or</word>
   <word>over</word>
</words>
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return $stopwords/word = $word
       )[1]   
Output
true
Elapsed Time (ms) 144

Element / satisfied /equality : Passed

XQuery
let $stopwords :=
<words>
   <word>a</word>
   <word>and</word>
   <word>in</word>
   <word>the</word>
   <word>or</word>
   <word>over</word>
</words>
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return some $stopword in $stopwords/word
                   satisfies ($stopword eq $word)
       )[1]  
Output
true
Elapsed Time (ms) 342

Atom Sequence/Generalized equals : Passed

XQuery
let $stopwords := ("a","and","in","the","or","over") 
let $input-string := 'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
      ( for $i in 1 to 1000 
        for $word in $input-words 
        return $stopwords = $word
       )[1]      
Output
true
Elapsed Time (ms) 45

String contains : Passed

XQuery
 let $stopwordstring := ' a and in the or over ' 
 let $input-string := 'a quick brown fox jumps over the lazy dog' 
 let $input-words := tokenize($input-string, '\s+') 
 return 
          ( for $i in 1 to 1000 
            for $word in $input-words 
            let $wordx := concat(" ",$word," ") 
            return   contains($stopwordstring, $wordx) ) [1]   
Output
true
Elapsed Time (ms) 71

Element sequence/ generalised equals : Passed

XQuery
let $stopwords :=
<words>
   <word>a</word>
   <word>and</word>
   <word>in</word>
   <word>the</word>
   <word>or</word>
   <word>over</word>
</words>
let $stopwordsx := $stopwords/word
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return $stopwordsx = $word
       )[1] 
       
Output
true
Elapsed Time (ms) 108

Element sequence text / generalized equals : Passed

XQuery
let $stopwords :=
<words>
   <word>a</word>
   <word>and</word>
   <word>in</word>
   <word>the</word>
   <word>or</word>
   <word>over</word>
</words>
let $stopwordsx := $stopwords/word/text()
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return $stopwordsx = $word
       )[1] 
       
Output
true
Elapsed Time (ms) 62

Element sequence string() / generalized equals : Passed

XQuery
let $stopwords :=
<words>
   <word>a</word>
   <word>and</word>
   <word>in</word>
   <word>the</word>
   <word>or</word>
   <word>over</word>
</words>
let $stopwordsx := $stopwords/word/string(.)
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return $stopwordsx = $word
       )[1] 
       
Output
true
Elapsed Time (ms) 48

Stoplist in db : Passed

XQuery
let $stopwords := doc("/db/Wiki/UnitTest2/stopwords.xml")//word/string(.)
let $input-string :=  'a quick brown fox jumps over the lazy dog'
let $input-words := tokenize($input-string, '\s+')
return 
     ( for $i in 1 to 1000
        for $word in $input-words 
        return $stopwords = $word
       )[1] 
       
Output
true
Elapsed Time (ms) 51