# Copyright 2012 by Wibowo Arindrarto.  All rights reserved.
# This code is part of the Biopython distribution and governed by its
# license.  Please see the LICENSE file that should have been included
# as part of this package.

"""Tests for SearchIO blat-psl indexing."""

import os
import unittest

from search_tests_common import CheckIndex


class BlatPslIndexCases(CheckIndex):
    fmt = "blat-psl"

    def test_psl_34_001(self):
        """Test blat-psl indexing, multiple queries."""
        filename = os.path.join("Blat", "psl_34_001.psl")
        self.check_index(filename, self.fmt)

    def test_psl_34_002(self):
        """Test blat-psl indexing, single query, no hits."""
        filename = os.path.join("Blat", "psl_34_002.psl")
        self.check_index(filename, self.fmt)

    def test_psl_34_003(self):
        """Test blat-psl indexing, single query, single hit."""
        filename = os.path.join("Blat", "psl_34_003.psl")
        self.check_index(filename, self.fmt)

    def test_psl_34_004(self):
        """Test blat-psl indexing, single query, multiple hits with multiple hsps."""
        filename = os.path.join("Blat", "psl_34_004.psl")
        self.check_index(filename, self.fmt)

    def test_psl_34_005(self):
        """Test blat-psl indexing, multiple queries, no header."""
        filename = os.path.join("Blat", "psl_34_005.psl")
        self.check_index(filename, self.fmt)

    def test_psl_34_006(self):
        """Test blat-pslx indexing, multiple queries."""
        filename = os.path.join("Blat", "pslx_34_001.pslx")
        self.check_index(filename, self.fmt, pslx=True)

    def test_psl_34_007(self):
        """Test blat-pslx indexing, single query, no hits."""
        filename = os.path.join("Blat", "pslx_34_002.pslx")
        self.check_index(filename, self.fmt, pslx=True)

    def test_psl_34_008(self):
        """Test blat-pslx indexing, single query, single hit."""
        filename = os.path.join("Blat", "pslx_34_003.pslx")
        self.check_index(filename, self.fmt, pslx=True)

    def test_psl_34_009(self):
        """Test blat-pslx indexing, single query, multiple hits with multiple hsps."""
        filename = os.path.join("Blat", "pslx_34_004.pslx")
        self.check_index(filename, self.fmt, pslx=True)

    def test_psl_34_010(self):
        """Test blat-pslx indexing, multiple queries, no header."""
        filename = os.path.join("Blat", "pslx_34_005.pslx")
        self.check_index(filename, self.fmt, pslx=True)


if __name__ == "__main__":
    runner = unittest.TextTestRunner(verbosity=2)
    unittest.main(testRunner=runner)
