/** * @file TestableAssertions.h * @brief Provides additional testing facilities for common data structures * @author Alex Cunningham */ #pragma once #include #include #include namespace gtsam { /** * Version of assert_equals to work with vectors */ template bool assert_equal(const std::vector& expected, const std::vector& actual, double tol = 1e-9) { if (expected.size() != actual.size()) { printf("Sizes not equal:\n"); printf("expected size: %lu\n", expected.size()); printf("actual size: %lu\n", actual.size()); return false; } size_t i = 0; BOOST_FOREACH(const V& a, expected) { if (!assert_equal(a, expected[i++], tol)) return false; } return true; } } // \namespace gtsam