From 04ff702c75ab8c41b748f8dd68f36bf1f1672b69 Mon Sep 17 00:00:00 2001 From: Fontrodona Nicolas <nicolas.fontrodona@ens-lyon.fr> Date: Tue, 12 Jan 2021 15:13:09 +0100 Subject: [PATCH] tests: test directory --- tests/__init__.py | 0 tests/files/clip.bed | 8 +++++++ tests/files/exons.bed | 10 +++++++++ tests/files/genes.bed | 12 ++++++++++ tests/test.py | 51 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 81 insertions(+) create mode 100644 tests/__init__.py create mode 100644 tests/files/clip.bed create mode 100644 tests/files/exons.bed create mode 100644 tests/files/genes.bed create mode 100644 tests/test.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/files/clip.bed b/tests/files/clip.bed new file mode 100644 index 00000000..69c737df --- /dev/null +++ b/tests/files/clip.bed @@ -0,0 +1,8 @@ +18 28645943 28646043 1 clip1 - +18 28646043 28646070 1 clip2 - +18 28709190 28709200 2 clip3 - +18 28898040 28898060 3 clip4 + +18 28898060 28898080 3 clip5 + +18 28898080 28898100 3 clip6 + +18 51062273 51062283 8 clip7 + +18 49866521 49866541 8 clip8 + \ No newline at end of file diff --git a/tests/files/exons.bed b/tests/files/exons.bed new file mode 100644 index 00000000..a61bd39e --- /dev/null +++ b/tests/files/exons.bed @@ -0,0 +1,10 @@ +#ref start end id score strand +18 28681865 28682388 1_1 0 - +18 28681183 28681432 1_2 0 - +18 28673521 28673606 1_3 0 - +18 28672063 28672263 1_4 0 - +18 28671489 28671530 1_5 0 - +18 28670990 28671110 1_6 0 - +18 28669401 28669557 1_7 0 - +18 28667631 28667776 1_8 0 - +18 28666538 28666705 1_9 0 - diff --git a/tests/files/genes.bed b/tests/files/genes.bed new file mode 100644 index 00000000..5840938c --- /dev/null +++ b/tests/files/genes.bed @@ -0,0 +1,12 @@ +#ref start end id score strand +18 28645943 28682388 1 DSC2 - +18 28709190 28742819 2 DSC1 - +18 28898050 28937394 3 DSG1 + +18 28956739 28994869 4 DSG4 + +13 45766989 45775176 5 KCTD4 - +13 45911001 45915347 6 TPT1 - +18 48918411 49088839 7 AC011260.1 + +18 49866541 51062273 8 DCC + +13 45967450 45992516 9 SLC25A30 - +20 238376 241735 415 DEFB132 + +X 102962271 102983552 10123 GLRA4 - diff --git a/tests/test.py b/tests/test.py new file mode 100644 index 00000000..d0892e27 --- /dev/null +++ b/tests/test.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + +# -*- coding: UTF-8 -*- + +""" +Description: +""" + +import doctest +from pathlib import Path +from typing import List +import unittest +import sys + +sys.path.insert(0, str(Path(__file__).parents[1].resolve())) + + +# recover ignored files +def get_ignored_files() -> List[str]: + """ + Recover ignored python files in gitignore + """ + gitignore = Path(__file__).parents[1] / '.gitignore' + if not gitignore.is_file(): + return [] + with gitignore.open('r') as f: + files = f.read().splitlines() + return [cfile.replace('.py', '').replace('/', '.') + for cfile in files if cfile.endswith('.py')] + \ + ["src.db_utils.interactions.features_interactions"] + + +# Loading every python file in this folder +list_mod = [str(mfile.relative_to(Path(__file__).resolve().parents[1])) + for mfile in + list((Path(__file__).resolve().parents[1] / "src").rglob('*.py'))] +list_mod2 = [m.replace('.py', '').replace('/', '.') for m in list_mod + if '__init__' not in m + and '__main__' not in m + and 'test' not in m] +final_mod = [mod for mod in list_mod2 if mod not in get_ignored_files()] + + +def load_tests(loader, tests, ignore): + for cmod in final_mod: + tests.addTest(doctest.DocTestSuite(cmod)) + return tests + + +if __name__ == "__main__": + unittest.main() -- GitLab