Expand Tests section with detailed explanation in README and BEDIENUNGSANLEITUNG
This commit is contained in:
parent
be09319fed
commit
1b87d7dcb4
3 changed files with 59 additions and 3 deletions
37
README.md
37
README.md
|
|
@ -57,10 +57,43 @@ Interaktive Visualisierung von 20 Sortieralgorithmen mit Schritt-für-Schritt-Da
|
|||
## Tests
|
||||
|
||||
```bash
|
||||
node test_algorithms.js
|
||||
node test_algorithms.js # Kurzbericht
|
||||
node test_algorithms.js --verbose # Detaillierte Ausgabe
|
||||
```
|
||||
|
||||
Alle 198 Tests müssen bestehen.
|
||||
### Was wird getestet?
|
||||
|
||||
Das Testskript führt **automatisierte Korrektheitstests** für alle Sortieralgorithmen durch:
|
||||
|
||||
**1. Haupt-Tests (2 Größen × 5 Presets × 19 Sortier-Algorithmen = 190)**
|
||||
Für jeden Algorithmus (außer Shuffle) wird geprüft:
|
||||
- Der letzte Step hat `type === 'done'`
|
||||
- Das Array ist vollständig sortiert
|
||||
- Die Array-Länge bleibt erhalten
|
||||
|
||||
**2. Shuffle-Tests (10 Tests)**
|
||||
Shuffle ist speziell — prüft stattdessen:
|
||||
- Länge bleibt erhalten
|
||||
- Alle Original-Werte sind noch vorhanden
|
||||
|
||||
**3. Edge Cases (2 Tests)**
|
||||
- Leeres Array → Bubble Sort
|
||||
- Single-Element `[42]` → Bubble Sort
|
||||
|
||||
**4. Performance-Test (6 Algorithmen × 100 Elemente)**
|
||||
- Sortiert das Array korrekt in akzeptabler Zeit
|
||||
|
||||
**Gesamt: 198 Tests**
|
||||
|
||||
### Technische Details
|
||||
|
||||
Das Skript:
|
||||
1. **Extrahiert** den JavaScript-Code aus `sorting_visualization.html`
|
||||
2. **Führt** ihn in einer isolierten Node.js-VM aus (mit gemockten DOM-Elementen)
|
||||
3. **Ruft** `buildSteps(algo)` auf — die Funktion die alle Steps für die Animation erzeugt
|
||||
4. **Verifiziert** dass der letzte Step das Array korrekt sortiert hat
|
||||
|
||||
Die `buildSteps`-Funktion ist rein funktional und gibt nur Step-Objekte zurück — keine DOM-Manipulation. Das macht sie unit-testbar.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue