diff --git a/README.md b/README.md index 5f6d44c..983cab5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ #[Turtle](http://turtle.sourceforge.net) + Turtle is a C++ mock object library based on Boost with a focus on usability, simplicity and flexibility. ### Test results diff --git a/doc/example/limitations_template_base_class_method.cpp b/doc/example/limitations_template_base_class_method.cpp index e4bfc49..5b5461b 100644 --- a/doc/example/limitations_template_base_class_method.cpp +++ b/doc/example/limitations_template_base_class_method.cpp @@ -10,69 +10,25 @@ #include #include -namespace limitations_template_base_class_method_problem +namespace { //[ limitations_template_base_class_method_problem -template< typename T > -class base -{ -public: - virtual ~base() - {} + template< typename T > + class base + { + public: + virtual ~base() + {} - virtual void method() = 0; -}; + virtual void method() = 0; + }; //] //[ limitations_template_base_class_method_solution -template< typename T > -MOCK_BASE_CLASS( mock_base, base< T > ) -{ - MOCK_METHOD( method, 1, void() ) -}; -//] -} - -namespace limitations_template_base_class_method_problem_2 -{ -//[ limitations_template_base_class_method_problem_2 -class concept -{ -public: template< typename T > - T create() + MOCK_BASE_CLASS( mock_base, base< T > ) { - return T(); - } -}; - -template< typename T > -void function_under_test( T t ) // T is supposed to model the previous concept -{ - t.template create< int >(); - t.template create< std::string >(); -} -//] - -//[ limitations_template_base_class_method_solution_2 -MOCK_CLASS( mock_concept ) -{ - template< typename T > - T create(); - - MOCK_METHOD( create_int, 0, int(), create_int ) - MOCK_METHOD( create_string, 0, std::string(), create_string ) -}; - -template<> -int mock_concept::create< int >() -{ - return create_int(); -} -template<> -std::string mock_concept::create< std::string >() -{ - return create_string(); -} + MOCK_METHOD( method, 1, void() ) + }; //] } diff --git a/doc/limitations.qbk b/doc/limitations.qbk index e8a5c57..e128b74 100644 --- a/doc/limitations.qbk +++ b/doc/limitations.qbk @@ -9,6 +9,7 @@ [import example/limitations_literal_zero.cpp] [import example/limitations_throw_specifier.cpp] [import example/limitations_non_virtual_method.cpp] +[import example/limitations_template_base_class_method.cpp] [import example/limitations_template_method.cpp] [import example/limitations_private_method.cpp] [import example/limitations_comma_in_macro.cpp]