41 lines
860 B
C++
41 lines
860 B
C++
|
|
#include "ComplexNumbers.hpp"
|
|
#include "Testing.hpp"
|
|
|
|
using namespace tp;
|
|
|
|
TEST_DEF(ComplexNumber) {
|
|
TEST((ComplexCart {3, 4}.mod() == 5));
|
|
TEST((ComplexCart {1, 1}.arg() == 0.7853981633974483));
|
|
TEST((ComplexCart {3, 4}.norm2() == 25));
|
|
|
|
{
|
|
ComplexCart cn {3, 4};
|
|
ComplexCart expected {0.12, -0.16};
|
|
auto val = cn.reciprocal();
|
|
TEST((val == expected));
|
|
}
|
|
|
|
{
|
|
ComplexCart cn {3, 4};
|
|
ComplexCart expected {3, -4};
|
|
TEST((cn.conjugate() == expected));
|
|
}
|
|
|
|
{
|
|
ComplexCart cn1 {3, 4};
|
|
ComplexCart cn2 {1, 2};
|
|
ComplexCart expected {-5, 10};
|
|
TEST((cn1 * cn2 == expected));
|
|
}
|
|
|
|
{
|
|
ComplexRad c1 {5, 7};
|
|
ComplexRad c2 {10, 3};
|
|
ComplexCart tmp1 = (c1 * c2).cart();
|
|
ComplexCart tmp2 = (c1.cart() * c2.cart());
|
|
TEST((tmp1 - tmp2).mod() < 0.001);
|
|
}
|
|
}
|
|
|
|
TEST_DEF(Math) { testComplexNumber(); }
|