Merge branch 'project_tests'
# Conflicts: # tests.txt
This commit is contained in:
commit
c7cc86197c
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.DS_Store
|
||||
.idea/
|
||||
@ -3,6 +3,9 @@ project(Prog3B)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# WICHTIG: wegen raylib + neuer CMake-Version
|
||||
set(CMAKE_POLICY_VERSION_MINIMUM 3.5)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
@ -20,4 +23,14 @@ add_executable(Prog3B
|
||||
)
|
||||
|
||||
target_include_directories(Prog3B PRIVATE .)
|
||||
target_link_libraries(Prog3B raylib)
|
||||
target_link_libraries(Prog3B raylib)
|
||||
|
||||
# macOS-Frameworks nicht vergessen:
|
||||
if(APPLE)
|
||||
target_link_libraries(Prog3B
|
||||
"-framework Cocoa"
|
||||
"-framework IOKit"
|
||||
"-framework CoreVideo"
|
||||
"-framework OpenGL"
|
||||
)
|
||||
endif()
|
||||
|
||||
36
tests.cpp
36
tests.cpp
@ -1,22 +1,28 @@
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include "gamematrix.h"
|
||||
using namespace Matrix3D;
|
||||
|
||||
void test_rotation_z() {
|
||||
Vec3 v{1,0,0};
|
||||
auto R = rot3D(90,'z');
|
||||
Vec3 res = apply(R,v);
|
||||
std::cout << "Rotate Z 90° -> (" << res.x << "," << res.y << "," << res.z << ")\n";
|
||||
}
|
||||
|
||||
void test_translate() {
|
||||
Vec3 v{0,0,0};
|
||||
auto T = translate({1,2,3});
|
||||
Vec3 res = apply(T,v);
|
||||
std::cout << "Translate -> (" << res.x << "," << res.y << "," << res.z << ")\n";
|
||||
bool approx(double a, double b, double eps = 1e-6) {
|
||||
return std::fabs(a - b) < eps;
|
||||
}
|
||||
|
||||
int main() {
|
||||
test_rotation_z();
|
||||
test_translate();
|
||||
int failed = 0;
|
||||
|
||||
// Beispiel-Test: Rotation um Z 90°
|
||||
std::array<double,3> v = {1,0,0};
|
||||
auto Rz = rot3D(90, 'z'); // ggf. Namespace anpassen
|
||||
auto result = apply(Rz, v);
|
||||
if (!approx(result[0], 0.0) || !approx(result[1], 1.0)) {
|
||||
std::cout << "Test rot3D(Z,90) failed!\n";
|
||||
failed++;
|
||||
}
|
||||
|
||||
// Ausgabe
|
||||
if (failed == 0)
|
||||
std::cout << "ALL TESTS PASSED ✅\n";
|
||||
else
|
||||
std::cout << failed << " TEST(S) FAILED ❌\n";
|
||||
|
||||
return failed;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user