# ADS2 - Implementierung in Python # Im Ordner [./src/*](src/) findet Module mit Datenstrukturen und Algorithmen. Im Ordner [./tests/*](tests/) findet man _unit tests_, die die verschiedenen Datenstrukturen und Algorithmen mit Testfälle belasten. Man kann auch direkt im Code von [./src/main.rs](src/main.rs) aus die Methoden mit Daten ausprobieren. ## Voraussetzungen ## 1. Der Python-Compiler **`^3.10.*`** wird benötigt. 2. Es ist auch empfehlenswert, **`justfile`** zu installieren (siehe ). ## Build -> Test -> Run ## In einem IDE in dem Repo zu diesem Ordner navigieren.
Eine bash-Konsole aufmachen und folgende Befehle ausführen: Wer das **justfile**-Tool hat: ```bash # Zeige alle Befehle: just # Zur Installation der Requirements (nur nach Änderungen): just build; # Zur Ausführung der unit tests: just tests; # Zur Ausführung des Programms just run; # Zur Bereinigung aller Artefakte just clean; ``` Wer das justfile-Tool hat: ```bash # Zur Installation der Requirements (nur nach Änderungen): python3 -m pip install -r requirements.txt; # Zur Ausführung der unit tests: python3 -m pytest tests --cache-clear --verbose -k test_; # Zur Ausführung des Programms: python3 main.py ``` Auf Windows verwendet man `py -3` od. `py -310` statt `python3`. Man kann auch mit einem guten Editor/IDE die Tests einzeln ausführen. ## Testfälle durch Config-Datei ## Statt den Code immer anfassen zu müssen, kann man Fälle für die verschiedenen Algorithmen in der **[./assets/commands.yaml](assets/commands.yaml)** erfassen und (mittels `just run`) das Programm ausführen. Weitere globale Einstellungen (z. B. über Verbosity, Penalty-Konstanten, usw.) kann man in **[./assets/config.yaml](assets/config.yaml)** einstellen.