Czy istnieje jakaś struktura testowa jednostki Catch C++ do porównywania wektorów std :: opartych na zmiennoprzecinkach? Wiem, że mogę porównać rozmiar obu kontenerów i każdego elementu (używając Approx), ale jest to niechlujne.Testuj zmiennoprzecinkowe std :: wektor z C++ Catch
Porównanie typów integralnych wektor działa poprawnie.
Teraz muszę użyć takiej konstrukcji
REQUIRE(computed.size() == expected.size());
for (size_t i = 0; i < computed.size(); ++i)
REQUIRE(computed[i] == Approx(expected[i]));
Ale chciałbym używać jednej liniowej (ona pracuje dla integralnych typach):
REQUIRE(computed == expected);
Na czym polega problem z dokładnym porównaniem? –
Błędy zaokrąglania – miqelm
Jeśli błędy zaokrąglania są niespójne między przebiegami, jednostka testuje lepszy raport. –