co-maps/libs/base/base_tests/scope_guard_test.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
555 B
C++
Raw Normal View History

2025-11-22 13:58:55 +01:00
#include "testing/testing.hpp"
#include "base/scope_guard.hpp"
static bool b = false;
void SetB()
{
b = true;
}
UNIT_TEST(ScopeGuard)
{
{
b = false;
SCOPE_GUARD(guard, &SetB);
TEST_EQUAL(b, false, ("Start test condition"));
}
TEST_EQUAL(b, true, ("scope_guard works in destructor"));
}
UNIT_TEST(ScopeGuardRelease)
{
{
b = false;
SCOPE_GUARD(guard, &SetB);
TEST_EQUAL(b, false, ("Start test condition"));
guard.release();
}
TEST_EQUAL(b, false, ("If relese() was called then scope_guard shouldn't work"));
}