Add completed test plan to docs/tests.txt
This commit is contained in:
parent
88e29a1d3e
commit
a7ec47ca03
@ -18,7 +18,8 @@ set(SRC_FILES
|
||||
)
|
||||
|
||||
set(INCLUDE_DIRS
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
${CMAKE_CURRENT_LIST_DIR}/mac_arm
|
||||
${CMAKE_CURRENT_LIST_DIR}/raylib
|
||||
)
|
||||
|
||||
# === Betriebssystem automatisch erkennen ===
|
||||
@ -60,7 +61,7 @@ endif()
|
||||
|
||||
# macOS: Frameworks
|
||||
if(APPLE)
|
||||
target_link_libraries(${EXECUTABLE_NAME}
|
||||
target_link_libraries(${EXECUTABLE_NAME} PRIVATE
|
||||
"-framework IOKit"
|
||||
"-framework Cocoa"
|
||||
"-framework OpenGL"
|
||||
|
||||
74
docs/tests.txt
Normal file
74
docs/tests.txt
Normal file
@ -0,0 +1,74 @@
|
||||
========================================================
|
||||
Projekt: gamematrix (C++ Library)
|
||||
Rolle: Tester
|
||||
Datei: tests.txt
|
||||
Datum: ____________________
|
||||
Team: ____________________
|
||||
========================================================
|
||||
|
||||
# ----------------------------
|
||||
# 1. Testplan Übersicht
|
||||
# ----------------------------
|
||||
Ziel: Überprüfung der Funktionen matmul(), translate(), rot3D().
|
||||
Hinweise:
|
||||
- Numerik: Vergleiche mit EPS = 1e-6
|
||||
- Winkelmaß: rot3D erwartet Grad (90/180/270). (Anpassen, falls Implementierung Radiant nutzt.)
|
||||
- Homogene Koordinate: Beim Anwenden von Mat4 auf Vec3 gilt w = 1.
|
||||
|
||||
| Funktion | Testfall | Eingabe / Setup | Erwartetes Ergebnis / Prüfung | Bemerkung |
|
||||
|---------------|-----------------------------------|----------------------------------------------------------------------------------|-------------------------------------------------------------|------------------------------------|
|
||||
| matmul | Identity * Identity | A = I4, B = I4 | C = I4 | Basisfall |
|
||||
| matmul | Beispielmatrizen | A = [[1,2,0,0],[0,1,3,0],[0,0,1,4],[0,0,0,1]]; B = [[1,0,5,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] | C = A*B (per Hand gerechnet); alle Einträge ≈ erwartet | Handrechnung in Abschnitt 2 |
|
||||
| matmul | Assoziativität (Stichprobe) | Zufällige A,B,C (kleine Ganzzahlen) | (A*B)*C ≈ A*(B*C) | Numerisch mit EPS |
|
||||
| matmul | Nicht-Kommutativität | A = rotZ(90), B = rotX(90) | A*B ≠ B*A | Beispiel |
|
||||
| translate | Matrix-Struktur | t = (1,2,3) | T = [[1,0,0,1],[0,1,0,2],[0,0,1,3],[0,0,0,1]] | Letzte Spalte ist Translation |
|
||||
| translate | Anwendung auf Vektor | v = (4,5,6), T = translate(1,2,3) | T·(v,1) → (5,7,9) | Homogene 1 beachten |
|
||||
| rot3D | Rotation Z 90° | v = (1,0,0), Rz = rot3D(90,'z') | Rz·v → (0,1,0) | Rechtshändiges System |
|
||||
| rot3D | Rotation X 180° | v = (0,1,0), Rx = rot3D(180,'x') | Rx·v → (0,-1,0) | |
|
||||
| rot3D | Rotation Y 270° (Korrektur) | v = (1,0,0), Ry = rot3D(270,'y') | Ry·v → (0,0,1) | Vorher war -1: korrigiert |
|
||||
| rot3D | Inverse | R = rot3D(θ,axis) | R * rot3D(-θ,axis) ≈ I4 | Für θ ∈ {30, 90} testen |
|
||||
| rot3D+trans | Reihenfolge-Effekt | Rz = rot3D(90,'z'), T = translate(1,0,0), p=(1,0,0) | Rz*T·p ≠ T*Rz·p (aber jeweils plausibles Ergebnis) | Reihenfolge wichtig |
|
||||
|
||||
# ----------------------------
|
||||
# 2. Testdaten / Matrizen
|
||||
# ----------------------------
|
||||
- Identity I4 = diag(1,1,1,1)
|
||||
- Beispielmatrizen für matmul:
|
||||
A = [[1,2,0,0],
|
||||
[0,1,3,0],
|
||||
[0,0,1,4],
|
||||
[0,0,0,1]]
|
||||
|
||||
B = [[1,0,5,0],
|
||||
[0,1,0,0],
|
||||
[0,0,1,0],
|
||||
[0,0,0,1]]
|
||||
|
||||
Erwartetes C = A*B =
|
||||
[[1,2,5,0],
|
||||
[0,1,3,0],
|
||||
[0,0,1,4],
|
||||
[0,0,0,1]]
|
||||
|
||||
- Translation t = (1,2,3) ⇒
|
||||
T = [[1,0,0,1],
|
||||
[0,1,0,2],
|
||||
[0,0,1,3],
|
||||
[0,0,0,1]]
|
||||
|
||||
- Beispielvektoren:
|
||||
v1=(1,0,0), v2=(0,1,0), v3=(4,5,6)
|
||||
|
||||
# ----------------------------
|
||||
# 3. Abnahmekriterien
|
||||
# ----------------------------
|
||||
- Alle Unit-Tests erfolgreich (keine Abweichung > EPS)
|
||||
- Einheitliches Winkelmaß eingehalten (Grad oder Radiant, dokumentiert)
|
||||
- Keine Exceptions außer gewollt (z. B. ungültige Achse löst definierte Exception aus)
|
||||
- Testbericht (Eingaben, erwartetes Ergebnis, Ist-Ergebnis, Status, Bemerkung) vollständig
|
||||
========================================================
|
||||
Hinweis:
|
||||
- Diese Datei wird vom Tester gepflegt.
|
||||
- Tester dokumentiert Input, Output, erwartetes Ergebnis und Erfolg/Fehler.
|
||||
========================================================
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user