⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 set_test_name.cpp

📁 VC源码,开源测试工具.有助于VC++的学习与开发
💻 CPP
字号:
#include <tut/tut.hpp>#include <string>using std::string;namespace tut{struct test_callback : public callback{    void run_started()    {    }    void test_group_started(const std::string&)    {    }    void test_completed(const tut::test_result& tr)    {        current_test_name = tr.name;    }    void run_completed()    {    }    string current_test_name;};struct test_name_data{    test_runner runner;    test_callback callback;    struct dummy    {    };        typedef test_group < dummy > tf;    typedef tf::object object;    tf factory;    test_name_data()         : factory("internal", runner)    {    }};/** * Test functions under real test. */template < >template < >void test_name_data::object::test < 1 > (){    set_test_name("1");}template < >template < >void test_name_data::object::test < 2 > (){    set_test_name("2");}template < >template < >void test_name_data::object::test < 3 > (){}template < >template < >void test_name_data::object::test < 4 > (){    set_test_name("failure");    ensure(true == false);}template < >template < >void test_name_data::object::test < 5 > (){    set_test_name("unexpected");    throw "unexpected";}#ifdef TUT_USE_SEHtemplate < >template < >void test_name_data::object::test < 6 > (){    set_test_name("seh");    *((char*)0) = 0;}#endif // TUT_USE_SEHtypedef test_group < test_name_data > set_test_name_group;typedef set_test_name_group::object set_test_name_tests;set_test_name_group group("set_test_name");/** * Tests 'set_test_name' works correctly. */template < >template < >void set_test_name_tests::test < 1 > (){    runner.set_callback(&callback);    runner.run_test("internal", 1);    ensure_equals("test name", callback.current_test_name, "1");    runner.run_test("internal", 2);    ensure_equals("test name", callback.current_test_name, "2");    runner.run_test("internal", 3);    ensure_equals("test name", callback.current_test_name, "");}/** * Tests 'set_test_name' works correctly on failure. */template < >template < >void set_test_name_tests::test < 2 > (){    runner.set_callback(&callback);    runner.run_test("internal", 4);    ensure_equals("test name", callback.current_test_name, "failure");}/** * Tests 'set_test_name' works correctly on unexpected exception. */template < >template < >void set_test_name_tests::test < 3 > (){    runner.set_callback(&callback);    runner.run_test("internal", 5);    ensure_equals("test name", callback.current_test_name, "unexpected");}#ifdef TUT_USE_SEH/** * Tests 'set_test_name' works correctly on structured exception. */template < >template < >void set_test_name_tests::test < 4 > (){    runner.set_callback(&callback);    runner.run_test("internal", 6);    ensure_equals("test name", callback.current_test_name, "seh");}#endif // TUT_USE_SEH}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -