ads2_2022/code/python/README.md

44 lines
1.4 KiB
Markdown
Raw Normal View History

2022-03-30 18:00:11 +02:00
# ADS2 - Implementierung in Python #
2022-04-19 09:02:04 +02:00
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 ##
2022-04-19 09:05:31 +02:00
1. Der Python-Compiler **`^3.10.*`** wird benötigt.
2022-06-12 10:32:25 +02:00
2. Das **`justfile`**-Tool wird benötigt (siehe <https://github.com/casey/just#installation>).
2022-04-19 09:02:04 +02:00
## Build -> Test -> Run ##
2022-04-19 09:02:04 +02:00
In einem IDE in dem Repo zu diesem Ordner navigieren.
</br>
Eine bash-Konsole aufmachen und folgende Befehle ausführen:
```bash
# Zeige alle Befehle:
just
2022-06-12 10:32:25 +02:00
# Zur Installation der Requirements (nur und immer nach Änderungen nötig):
just build
2022-04-19 09:02:04 +02:00
# Zur Ausführung der unit tests:
2022-06-12 10:32:25 +02:00
just tests
2022-04-19 09:02:04 +02:00
# Zur Ausführung des Programms
2022-06-12 10:32:25 +02:00
just run
2022-04-19 09:02:04 +02:00
# Zur Bereinigung aller Artefakte
2022-06-12 10:32:25 +02:00
just clean
2022-04-19 09:02:04 +02:00
```
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.