#!/bin/bash
set -e

pkg=stringtie
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 ${CUR_DIR}/debian-tests-data/* -a "${AUTOPKGTEST_TMP}"

cd "${AUTOPKGTEST_TMP}"
gunzip -r *

cat long_reads.sam| samtools view -Sb - > long_reads.bam
cat short_reads_and_superreads.sam| samtools view -Sb - > short_reads_and_superreads.bam
cat short_reads.sam| samtools view -Sb - > short_reads.bam

# skipping the first line because it differs due to location of compiled binary
echo 'Test 1'
stringtie -o short_reads.out.gtf short_reads.bam
diff -u <(tail -n +3 short_reads.out.gtf) <(tail -n +3 short_reads.out_expected.gtf)
echo 'Expected output and generated output as same: PASS'
echo

echo 'Test 2'
stringtie -o short_reads_and_superreads.out.gtf short_reads_and_superreads.bam
diff -u <(tail -n +3 short_reads_and_superreads.out.gtf) <(tail -n +3 short_reads_and_superreads.out_expected.gtf)
echo 'Expected output and generated output as same: PASS'
echo

echo 'Test 3'
stringtie -L -o long_reads.out.gtf long_reads.bam
diff -u <(tail -n +3 long_reads.out.gtf) <(tail -n +3 long_reads.out_expected.gtf) 
echo 'Expected output and generated output as same: PASS'
echo

echo 'Test 4'
stringtie -L -G human-chr19_P.gff -o long_reads_guided.out.gtf long_reads.bam
diff -u <(tail -n +3 long_reads_guided.out.gtf) <(tail -n +3 long_reads_guided.out_expected.gtf)
echo 'Expected output and generated output as same: PASS'
echo
