paysages3d/src/tests/BaseTestCase.h

43 lines
3 KiB
C++

#pragma once
#include "gtest/gtest.h"
#undef EXPECT_DOUBLE_EQ
#define EXPECT_DOUBLE_EQ(_expected_, _value_) EXPECT_NEAR(_expected_, _value_, 0.0000000001)
#undef ASSERT_DOUBLE_EQ
#define ASSERT_DOUBLE_EQ(_expected_, _value_) ASSERT_NEAR(_expected_, _value_, 0.0000000001)
#define EXPECT_DOUBLE_IN_RANGE(_value_, _min_, _max_) \
EXPECT_GT(_value_, _min_); \
EXPECT_LT(_value_, _max_)
#define ASSERT_DOUBLE_IN_RANGE(_value_, _min_, _max_) \
ASSERT_GT(_value_, _min_); \
ASSERT_LT(_value_, _max_)
#define EXPECT_COLOR_RGBA(_col_, _r_, _g_, _b_, _a_) \
EXPECT_DOUBLE_EQ(_col_.r, _r_); \
EXPECT_DOUBLE_EQ(_col_.g, _g_); \
EXPECT_DOUBLE_EQ(_col_.b, _b_); \
EXPECT_DOUBLE_EQ(_col_.a, _a_)
#define ASSERT_COLOR_RGBA(_col_, _r_, _g_, _b_, _a_) \
EXPECT_DOUBLE_EQ(_col_.r, _r_); \
EXPECT_DOUBLE_EQ(_col_.g, _g_); \
EXPECT_DOUBLE_EQ(_col_.b, _b_); \
EXPECT_DOUBLE_EQ(_col_.a, _a_)
#define EXPECT_VECTOR3_COORDS(_vec_, _x_, _y_, _z_) \
EXPECT_DOUBLE_EQ(_vec_.x, _x_); \
EXPECT_DOUBLE_EQ(_vec_.y, _y_); \
EXPECT_DOUBLE_EQ(_vec_.z, _z_)
#define ASSERT_VECTOR3_COORDS(_vec_, _x_, _y_, _z_) \
ASSERT_DOUBLE_EQ(_vec_.x, _x_); \
ASSERT_DOUBLE_EQ(_vec_.y, _y_); \
ASSERT_DOUBLE_EQ(_vec_.z, _z_)
#define EXPECT_GLVARIABLE_FLOAT(_expected_, _state_, _name_) \
EXPECT_NEAR(_expected_, (_state_)->get(_name_)->getFloatValue(), 0.000001)
#define ASSERT_GLVARIABLE_FLOAT(_expected_, _state_, _name_) \
ASSERT_NEAR(_expected_, (_state_)->get(_name_)->getFloatValue(), 0.000001)
class BaseTestCase : public ::testing::Test {};