Add 19 pytest tests covering the report, resource check, coin
processing, refunds, change, profit, make_coffee and the main loop.
Add a tests package and put the project root on the pytest path.
Doxygen output is clean. The repository description and topics were set
on the git host.
Closes#13Closes#14Closes#15Closes#16Closes#17
Task: MIL-003#1
Task: MIL-003#2
Task: MIL-003#3
Task: MIL-003#4
Task: MIL-003#5
Add the menu, coin values, starting resources and message texts to
constants.py. Implement report, is_resource_sufficient, process_coins,
is_transaction_successful, make_coffee and the main loop. Money is
counted in whole cents. The smoke test now feeds "off" so the loop
exits.
Closes#6Closes#7Closes#8Closes#9Closes#10Closes#11Closes#12
Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
Task: MIL-002#6
Task: MIL-002#7
Follow the Higher Lower README template: project description, local
.venv setup with pip upgrade, running the machine, tests and code
checks, source documentation, layout and license.
Closes#5
Task: MIL-001#5
Add pyproject.toml (Python >=3.13, no runtime dependencies, pytest, ruff
and mypy as dev extras), a Doxyfile that scans src/, the
src/coffee_machine package with stub constants and main modules, and a
pytest smoke test. Ignore Doxygen output in .gitignore.
Closes#1Closes#2Closes#3Closes#4
Refs #5
Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Draft and accept the Business Case, Stakeholder Analysis (S01-S03) and
Project Plan for the Day 15 coffee machine assignment. Add three
milestones with 17 tasks, synced to the git host as Milestones 40-42
and Issues #1-#17. Register PP and MIL in the artifact registry and set
the PO language to en.
No issue closed: planning only, no code changed.