This mechanism class template provides the implementation of protocol testing concerns via test* methods (for non‐method concerns), and via operator‐> (for method concerns). The BSLS_TESTIMP template parameter is required to be a class derived from ProtocolTestImp that provides test implementations of all protocol methods.

Synopsis

Declared in <bsls_protocoltest.h>

template<class BSLS_TESTIMP>
class ProtocolTest;

Member Functions

Name

Description

ProtocolTest [constructor]

Construct a ProtocolTest object.

failures

Return the number of failures encountered during testing of a protocol class. The returned value is 0 if all tests succeeded, or no tests ran.

lastStatus

Return true if the last test completed successfully (or no test has yes completed) and false otherwise.

method

Return a BSLS_TESTIMP object to perform testing of a specific method which gets called via operator‐>(). Note that BSLS_TESTIMP is a proxy to the actual protocol class.

testAbstract

Return true (i.e., the test passed) if the protocol class being tested is abstract and return false (i.e., the test failed) otherwise. Increase the count of failures and set lastStatus to false on failure.

testNoDataMembers

Return true (i.e., the test passed) if the protocol class being tested contains no data fields and return false (i.e., the test failed) otherwise. Increase the count of failures and set lastStatus to false on failure.

testVirtualDestructor

Return true (i.e., the test passed) if the protocol class being tested has a virtual destructor and return false (i.e., the test failed) otherwise. Increase the failures count and set lastStatus to false on failure.

Created with MrDocs