#!/bin/bash
set -e

CUR_DIR=`pwd`
if [ "$AUTOPKGTEST_TMP" = "" ] ; then
  AUTOPKGTEST_TMP=`mktemp -d /tmp/${pkg}-test.XXXXXX`
  trap "rm -rf $AUTOPKGTEST_TMP" 0 INT QUIT ABRT PIPE TERM
fi

cp -a ${CUR_DIR}/test/ $AUTOPKGTEST_TMP

cd $AUTOPKGTEST_TMP

mkdir -p tmp

echo "Test 1"
#Test collapse
echo tc0002-collapse
bustools fromtext -p ./test/test_cases/tc0002CollapseInput.txt | bustools collapse -o ./tmp/tc2mid2 -p -t ./test/test_cases/transcripts.txt -g ./test/test_cases/transcripts_to_genes.txt -e ./test/test_cases/matrix.ec - | bustools text -o ./tmp/tc0002output.txt -
echo comparing output from pipe
diff -w -B -s -u ./test/test_cases/tc0002ExpResult.txt ./tmp/tc0002output.txt
rm ./tmp/*
echo "PASS"

echo "Test 2"
#Test umicorrect
echo tc0003-umicorrect
bustools fromtext -p ./test/test_cases/tc0003.txt | bustools umicorrect -e ./test/test_cases/matrix.ec -g ./test/test_cases/transcripts_to_genes.txt -t ./test/test_cases/transcripts.txt -p  - | bustools text -o ./tmp/tc0003output.txt -
echo comparing output from pipe
diff -w -B -s -u ./test/test_cases/tc0003ExpResult.txt ./tmp/tc0003output.txt
rm ./tmp/*
echo "PASS"

echo "Test 3"
#Test count
echo tc0004-count
bustools fromtext -p ./test/test_cases/tc0004.txt | bustools count -o ./tmp/tc0004output/ --hist -m  --genecounts -e ./test/test_cases/matrix.ec -g ./test/test_cases/transcripts_to_genes.txt -t ./test/test_cases/transcripts.txt -
bustools fromtext -p ./test/test_cases/tc0004.txt | bustools count -o ./tmp/tc0004outputraw/ --hist -m  --genecounts --rawcounts -e ./test/test_cases/matrix.ec -g ./test/test_cases/transcripts_to_genes.txt -t ./test/test_cases/transcripts.txt -
echo comparing output.mtx
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsCount.txt ./tmp/tc0004output/output.mtx
echo comparing output.genes.txt
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsGenes.txt ./tmp/tc0004output/output.genes.txt
echo comparing output.barcodes.txt
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsBarcodes.txt ./tmp/tc0004output/output.barcodes.txt
echo comparing output.hist.txt
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsHist.txt ./tmp/tc0004output/output.hist.txt
echo comparing output.cu.txt
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsCU.txt ./tmp/tc0004output/output.cu.txt
echo comparing output.CUPerCell.txt
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsCUPerCell.txt ./tmp/tc0004output/output.CUPerCell.txt
echo comparing output.mtx for raw counts
diff -w -B -s -u ./test/test_cases/tc0004ExpResultsCountRaw.txt ./tmp/tc0004outputraw/output.mtx
echo "PASS"
