mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-18 03:26:10 +01:00
113 lines
3.2 KiB
C++
113 lines
3.2 KiB
C++
/*
|
|
* Created by Phil on 22/10/2010.
|
|
* Copyright 2010 Two Blue Cubes Ltd
|
|
*
|
|
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
*/
|
|
|
|
#include "catch.hpp"
|
|
|
|
#if defined(INTERNAL_CATCH_VS_MANAGED) || defined(INTERNAL_CATCH_VS_NATIVE)
|
|
|
|
namespace VisualStudioTests
|
|
{
|
|
class UniqueTestsFixture {
|
|
private:
|
|
static int uniqueID;
|
|
public:
|
|
UniqueTestsFixture() { }
|
|
protected:
|
|
int getID() {
|
|
return ++uniqueID;
|
|
}
|
|
};
|
|
|
|
int UniqueTestsFixture::uniqueID = 0;
|
|
TEST_CASE("M00", "[m_off][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
int abortAfter = Catch::getCurrentContext().getConfig()->abortAfter();
|
|
REQUIRE(abortAfter == 1);
|
|
}
|
|
|
|
CATCH_CONFIG_SHOW_SUCCESS(true)
|
|
TEST_CASE("M01", "[m_on][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(show);
|
|
}
|
|
|
|
TEST_CASE("M02", "[m_off][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
}
|
|
|
|
TEST_CASE_METHOD(UniqueTestsFixture, "M10", "[m_off][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
getID();
|
|
}
|
|
|
|
CATCH_CONFIG_WARN_MISSING_ASSERTIONS(true)
|
|
CATCH_CONFIG_SHOW_SUCCESS(true)
|
|
TEST_CASE_METHOD(UniqueTestsFixture, "M11", "[m_on][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(show);
|
|
getID();
|
|
}
|
|
|
|
CATCH_CONFIG_WARN_MISSING_ASSERTIONS(true)
|
|
CATCH_CONFIG_SHOW_SUCCESS(true)
|
|
TEST_CASE_METHOD(UniqueTestsFixture, "M99", "[m_on][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(show);
|
|
WARN("Warning message");
|
|
getID();
|
|
}
|
|
|
|
TEST_CASE_METHOD(UniqueTestsFixture, "M12", "[m_off][vs]")
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
getID();
|
|
}
|
|
|
|
class ConfigTest
|
|
{
|
|
public:
|
|
void run1()
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
}
|
|
void run2()
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(show);
|
|
}
|
|
void run3()
|
|
{
|
|
bool show = Catch::getCurrentContext().getConfig()->includeSuccessfulResults();
|
|
REQUIRE(!show);
|
|
}
|
|
};
|
|
METHOD_AS_TEST_CASE(ConfigTest::run1,"M20", "[m_off][vs]");
|
|
|
|
CATCH_CONFIG_SHOW_SUCCESS(true)
|
|
METHOD_AS_TEST_CASE(ConfigTest::run2,"M21", "[m_on][vs]");
|
|
|
|
METHOD_AS_TEST_CASE(ConfigTest::run3,"M22", "[m_off][vs]");
|
|
|
|
CATCH_MAP_CATEGORY_TO_TAG(vstestsCheckOutputOff, "[m_off][vs]");
|
|
CATCH_CONFIG_SHOW_SUCCESS(true)
|
|
CATCH_MAP_CATEGORY_TO_TAG(vstestsCheckOutputOn, "[m_on][vs]");
|
|
CATCH_MAP_CATEGORY_TO_TAG(vstestsCheckOutputOff2, "[m_off][vs]");
|
|
}
|
|
#endif
|