27 lines
932 B
C++
27 lines
932 B
C++
#include "../extern/catch.hpp"
|
|
#include "../src/Assert.hpp"
|
|
void TestWrapper(bool wrapperExpression) { Assert(wrapperExpression) }
|
|
void TestWrapperNotNull(void* value) { AssertNotNull(value) }
|
|
|
|
TEST_CASE("Assert succeeds if true", "[Utilities]") { REQUIRE_NOTHROW(TestWrapper(true)); }
|
|
|
|
TEST_CASE("Assert throws if false", "[Utilities]") { REQUIRE_THROWS(TestWrapper(false)); }
|
|
|
|
TEST_CASE("Assert throws if false with message", "[Utilities]") {
|
|
REQUIRE_THROWS_WITH(TestWrapper(false),
|
|
Catch::Matchers::Equals("ASSERTION FAILED: [AssertTests.cpp (3)] \"wrapperExpression\""));
|
|
}
|
|
|
|
TEST_CASE("Multiple asserts", "[Utilities]") {
|
|
Assert(true)
|
|
Assert(true)
|
|
Assert(true)
|
|
}
|
|
|
|
TEST_CASE("AssertNotNull throws if nullptr", "[Utilities]") { REQUIRE_THROWS(TestWrapperNotNull(nullptr)); }
|
|
|
|
TEST_CASE("Assert for each", "[Utilities]") {
|
|
auto i = {10, 500, 2300, 454};
|
|
AssertForEach(i, item > 0)
|
|
}
|