From 5d34b8eeaff37bce9d6f6e05c68196d7637841da Mon Sep 17 00:00:00 2001 From: Mathias Scheider Date: Thu, 1 Oct 2026 17:17:36 +0200 Subject: [PATCH] misc --- src/utils/misc.py | 8 ++++++++ test/test_misc.py | 26 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/utils/misc.py create mode 100644 test/test_misc.py diff --git a/src/utils/misc.py b/src/utils/misc.py new file mode 100644 index 0000000..87caca4 --- /dev/null +++ b/src/utils/misc.py @@ -0,0 +1,8 @@ + +def readlines(path: str) -> list[str]: + with open(path, "r") as fid: + lines = fid.readlines() + return lines + +def read(path: str) -> str: + return "".join(readlines(path)) diff --git a/test/test_misc.py b/test/test_misc.py new file mode 100644 index 0000000..2968c01 --- /dev/null +++ b/test/test_misc.py @@ -0,0 +1,26 @@ + +from pathlib import Path + +from utils.misc import read, readlines + +CWD = Path(__file__).parent.resolve() +TEST_DATA_DIR = CWD / "data" +TEST_FILE_PATH = TEST_DATA_DIR / "text.txt" + +EXPECTED_TEST = """This is a test file +with a second line +and a third line +""" + +def test_readlines_str(): + result = readlines(TEST_FILE_PATH) + assert result + assert isinstance(result, list) + assert all(isinstance(element, str) for element in result) + assert result[1].strip() == "with a second line" + +def test_path_str(): + result = read(TEST_FILE_PATH) + assert result + assert isinstance(result, str) + assert result == EXPECTED_TEST