Gromacs
2023.2
|
#include "config.h"
#include <optional>
#include <string>
#include <gtest/gtest.h>
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/real.h"
Extra assertions for unit tests.
This file provides assertion macros that extend/replace Google Test assertions for:
Classes | |
class | gmx::test::FloatingPointDifference |
Computes and represents a floating-point difference value. More... | |
class | gmx::test::FloatingPointTolerance |
Specifies a floating-point comparison tolerance and checks whether a difference is within the tolerance. More... | |
Macros | |
#define | EXPECT_PLAIN(expr) |
Assert for predicates that return AssertionResult and produce a full failure message. More... | |
#define | ASSERT_PLAIN(expr) |
Assert for predicates that return AssertionResult and produce a full failure message. More... | |
Assertions for exceptions | |
These macros replace | |
#define | EXPECT_THROW_GMX(statement, expected_exception) |
Asserts that a statement throws a given exception. | |
#define | EXPECT_NO_THROW_GMX(statement) |
Asserts that a statement does not throw. | |
#define | ASSERT_THROW_GMX(statement, expected_exception) |
Asserts that a statement throws a given exception. | |
#define | ASSERT_NO_THROW_GMX(statement) |
Asserts that a statement does not throw. | |
#define | GMX_EXPECT_DEATH_IF_SUPPORTED(expr, msg) |
Wrapper around EXPECT_DEATH_IF_SUPPORTED gtest macro for thread safe execution. More... | |
#define | GMX_ASSERT_DEATH_IF_SUPPORTED(expr, msg) |
Wrapper around ASSERT_DEATH_IF_SUPPORTED gtest macro for thread safe execution. More... | |
Assertions for floating-point comparison | |
These routines extend See gmx::test::FloatingPointTolerance for the possible ways to specify the tolerance, and gmx::test::FloatingPointDifference for some additional details of the difference calculation. | |
#define | EXPECT_FLOAT_EQ_TOL(value1, value2, tolerance) |
Asserts that two single-precision values are within the given tolerance. | |
#define | EXPECT_DOUBLE_EQ_TOL(value1, value2, tolerance) |
Asserts that two double-precision values are within the given tolerance. | |
#define | ASSERT_FLOAT_EQ_TOL(value1, value2, tolerance) |
Asserts that two single-precision values are within the given tolerance. | |
#define | ASSERT_DOUBLE_EQ_TOL(value1, value2, tolerance) |
Asserts that two double-precision values are within the given tolerance. | |
#define | EXPECT_REAL_EQ_TOL(value1, value2, tolerance) |
Asserts that two real values are within the given tolerance. | |
#define | ASSERT_REAL_EQ_TOL(value1, value2, tolerance) |
Asserts that two real values are within the given tolerance. | |
#define | EXPECT_REAL_EQ(value1, value2) EXPECT_REAL_EQ_TOL(value1, value2, ::gmx::test::defaultRealTolerance()) |
EXPECT_REAL_EQ_TOL with default tolerance. | |
#define | ASSERT_REAL_EQ(value1, value2) ASSERT_REAL_EQ_TOL(value1, value2, ::gmx::test::defaultRealTolerance()) |
ASSERT_REAL_EQ_TOL with default tolerance. | |
Functions | |
void | gmx::test::checkTestNameLength (std::optional< std::string > testName=std::nullopt) |
Gives a GoogleTest assertion if the test's name is too long. More... | |
Variables | |
constexpr uint64_t | gmx::test::detail::g_defaultUlpTolerance = 4 |
Default tolerance in ULPs for two floating-point values to compare equal. | |