covclear

echo "========================================================================"
echo "Exercising the command-line help functionality"
concordance
concordance -?
concordance -h
concordance --help
echo

echo "========================================================================"
echo "Specify line numbering, but provide no input file"
concordance -n:2
echo

echo "========================================================================"
echo "Provide an input file and an output file, and use default options"
concordance subject1.txt myoutput
echo

echo "========================================================================"
echo "Provide only an input file, and use all the default options and output."
concordance subject1.txt
echo

echo "========================================================================"
echo "Provide a starting point for the numbering, an input, and an output."
concordance n:2 subject1.txt myoutput
echo

echo "========================================================================"
echo "Provide an invalid starting point for the concordance."
concordance n:2k subject1.txt myoutput
echo

echo "========================================================================"
echo "Provide a very large starting point, using page concordance."
concordance n:1000000000000 mcgee.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Same test, but provide the line concordance option."
concordance -pn:1000000000000 subject1.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Create a concordance by line."
concordance -l subject1.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Create a concordance by stanza."
concordance -s subject1.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Provide the quiet option separately."
concordance -p -q subject1.txt

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Same as above, only with stanza numbering."
concordance -s -q subject1.txt

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Same as above, only with line numbering."
concordance -l -q subject1.txt

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Create a concordance with stanza numbering, quietly."
concordance -sq subject1.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Provide an invalid option, with the quiet flag following."
concordance -xq subject1.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Provide only the quiet option."
concordance -q mcgee.txt myoutput

echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo

echo "========================================================================"
echo "Perform concordance by line numbering."
concordance -l mcgee.txt myoutput
echo


echo "========================================================================"
echo "All inputs and outputs are inaccessible files"
chmod a-rwx nullSubject.txt myoutput.*
concordance -s nullSubject.txt myoutput
chmod u+rw nullSubject.txt myoutput.*
echo

echo "========================================================================"
echo "Input file does not exist"
rm -f nonExistentSubject.txt
concordance -sq nonExistentSubject.txt myoutput
echo

echo "========================================================================"
echo "Large input file"
concordance mcgee.txt
echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc
echo


echo "========================================================================"
echo "Empty input file"
echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc
concordance emptySubject.txt


echo "========================================================================"
echo "Corrupted input file"
concordance corruptedSubject.txt
echo "Filename:  myoutput.wds"
cat myoutput.wds

echo "Filename:  myoutput.abc"
cat myoutput.abc

echo
echo "========================================================================"

covfn
