#include "testing/testing.hpp" #include "geometry/avg_vector.hpp" namespace { template bool EqualArrays(T (&a1)[N], T (&a2)[N]) { for (size_t i = 0; i < N; ++i) if (!my::AlmostEqualULPs(a1[i], a2[i])) return false; return true; } } UNIT_TEST(AvgVector_Smoke) { math::AvgVector holder(3); double ethalon1[] = { 5, 5, 5 }; double ethalon2[] = { 5.5, 5.5, 5.5 }; double ethalon3[] = { 6, 6, 6 }; double arr1[] = { 5, 5, 5 }; double arr2[] = { 6, 6, 6 }; double arr3[] = { 5, 5, 5 }; double arr4[] = { 6, 6, 6 }; holder.Next(arr1); TEST(EqualArrays(arr1, ethalon1), ()); holder.Next(arr2); TEST(EqualArrays(arr2, ethalon2), ()); holder.Next(arr3); TEST(EqualArrays(arr3, ethalon1), ()); holder.Next(arr4); TEST(EqualArrays(arr4, ethalon3), ()); }