MIL-001: project foundation

pyproject.toml (Python >=3.13, no runtime dependencies, speech and dev extras),
Python .gitignore, layer skeleton with constants.py, Doxyfile, README with the
.venv instructions, the Malay to Danish word list and review record RC-023.

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
This commit is contained in:
2026-10-14 21:39:14 +08:00
parent 934d7e4902
commit cc24b7d890
22 changed files with 1592 additions and 2 deletions
View File
View File
+11
View File
@@ -0,0 +1,11 @@
"""Tests of the entry point.
@file test_app.py
@brief Checks main of flash_card.presentation.app.
"""
from flash_card.presentation.app import main
def test_main_returns_zero_without_arguments() -> None:
assert main([]) == 0
+33
View File
@@ -0,0 +1,33 @@
"""Tests of the constants module.
@file test_constants.py
@brief Checks the key values of flash_card.constants.
"""
from flash_card import constants
def test_flip_delay_ms_is_three_seconds() -> None:
assert constants.FLIP_DELAY_MS == 3000
def test_background_color_is_green() -> None:
assert constants.BACKGROUND_COLOR == "#B1DDC6"
def test_default_data_dir_ends_with_data() -> None:
assert constants.DEFAULT_DATA_DIR.name == "data"
def test_file_names_are_csv() -> None:
assert constants.VOCABULARY_FILE_NAME.endswith(".csv")
assert constants.PROGRESS_FILE_NAME.endswith(".csv")
def test_language_names_cover_ms_and_da() -> None:
assert "ms" in constants.LANGUAGE_NAMES
assert "da" in constants.LANGUAGE_NAMES
def test_project_root_contains_pyproject() -> None:
assert (constants.PROJECT_ROOT / "pyproject.toml").is_file()