Modules/Math/tests/Tests.cpp
2024-03-22 17:33:29 +03:00

46 lines
910 B
C++

#include "ComplexNumbers.hpp"
#include "UnitTest++/UnitTest++.h"
using namespace tp;
SUITE(Math) {
TEST(ComplexNumber) {
CHECK((ComplexCart{ 3, 4 }.mod() == 5));
CHECK((abs(ComplexCart{ 1, 1 }.arg() - 0.7853981633974483) < 0.001));
CHECK((ComplexCart{ 3, 4 }.norm2() == 25));
{
ComplexCart cn{ 3, 4 };
ComplexCart expected{ 0.12, -0.16 };
auto val = cn.reciprocal();
CHECK((val == expected));
}
{
ComplexCart cn{ 3, 4 };
ComplexCart expected{ 3, -4 };
CHECK((cn.conjugate() == expected));
}
{
ComplexCart cn1{ 3, 4 };
ComplexCart cn2{ 1, 2 };
ComplexCart expected{ -5, 10 };
CHECK((cn1 * cn2 == expected));
}
{
ComplexRad c1{ 5, 7 };
ComplexRad c2{ 10, 3 };
ComplexCart tmp1 = (c1 * c2).cart();
ComplexCart tmp2 = (c1.cart() * c2.cart());
CHECK((tmp1 - tmp2).mod() < 0.001);
}
}
}
int main() {
return UnitTest::RunAllTests();
}