ads2_2022/code/python/README.md

1.8 KiB

ADS2 - Implementierung in Python

Im Ordner ./src/* findet Module mit Datenstrukturen und Algorithmen.

Im Ordner ./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 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 https://github.com/casey/just#installation).

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:

# 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:

# 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 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 einstellen.