C++ Utilities
5.10.5
Useful C++ classes and routines such as argument parser, IO and conversion utilities
|
#include "../application/argumentparser.h"
#include "../misc/traits.h"
#include <iomanip>
#include <ostream>
#include <string>
Go to the source code of this file.
Classes | |
class | CppUtilities::TestApplication |
The TestApplication class simplifies writing test applications that require opening test files. More... | |
class | CppUtilities::AsHexNumber< T > |
The AsHexNumber class allows printing values asserted with cppunit (or similar test framework) using the hex system in the error case. More... | |
Namespaces | |
CppUtilities | |
Contains all utilities provides by the c++utilities library. | |
CppUtilities::Literals | |
Contains literals to ease asserting with CPPUNIT_ASSERT_EQUAL. | |
Macros | |
#define | TESTUTILS_ASSERT_EXEC(args) |
Asserts successful execution of the application with the specified CLI args. More... | |
#define | TESTUTILS_ASSERT_LIKE_FLAGS(message, expectedRegex, regexFlags, actualString) |
Asserts whether the specified string matches the specified regex. More... | |
#define | TESTUTILS_ASSERT_LIKE(message, expectedRegex, actualString) TESTUTILS_ASSERT_LIKE_FLAGS(message, expectedRegex, std::regex::ECMAScript, actualString) |
Asserts whether the specified string matches the specified regex. More... | |
Enumerations | |
enum class | CppUtilities::WorkingCopyMode { CppUtilities::CreateCopy , CppUtilities::NoCopy } |
The WorkingCopyMode enum specifies additional options to influence behavior of TestApplication::workingCopyPath(). More... | |
Functions | |
CPP_UTILITIES_EXPORT std::string | CppUtilities::testFilePath (const std::string &relativeTestFilePath) |
Convenience function to invoke TestApplication::testFilePath(). More... | |
CPP_UTILITIES_EXPORT std::string | CppUtilities::testDirPath (const std::string &relativeTestDirPath) |
Convenience function to invoke TestApplication::testDirPath(). More... | |
CPP_UTILITIES_EXPORT std::string | CppUtilities::workingCopyPath (const std::string &relativeTestFilePath, WorkingCopyMode mode=WorkingCopyMode::CreateCopy) |
Convenience function to invoke TestApplication::workingCopyPath(). More... | |
CPP_UTILITIES_EXPORT std::string | CppUtilities::workingCopyPathAs (const std::string &relativeTestFilePath, const std::string &relativeWorkingCopyPath, WorkingCopyMode mode=WorkingCopyMode::CreateCopy) |
Convenience function to invoke TestApplication::workingCopyPathAs(). More... | |
template<typename T > | |
bool | CppUtilities::operator== (const AsHexNumber< T > &lhs, const AsHexNumber< T > &rhs) |
Provides operator == required by CPPUNIT_ASSERT_EQUAL. More... | |
template<typename T > | |
std::ostream & | CppUtilities::operator<< (std::ostream &out, const AsHexNumber< T > &value) |
Provides the actual formatting of the output for AsHexNumber class. More... | |
template<typename T > | |
AsHexNumber< T > | CppUtilities::asHexNumber (const T &value) |
Wraps a value to be printed using the hex system in the error case when asserted with cppunit (or similar test framework). More... | |
template<typename T , Traits::EnableIf< std::is_integral< T >> * = nullptr> | |
AsHexNumber< T > | CppUtilities::integralsAsHexNumber (const T &value) |
Wraps a value to be printed using the hex system in the error case when asserted with cppunit (or similar test framework). More... | |
template<typename T , Traits::DisableIf< std::is_integral< T >> * = nullptr> | |
const T & | CppUtilities::integralsAsHexNumber (const T &value) |
Wraps a value to be printed using the hex system in the error case when asserted with cppunit (or similar test framework). More... | |
template<typename Pair , CppUtilities::Traits::EnableIf< CppUtilities::Traits::IsSpecializationOf< Pair, std::pair >> * = nullptr> | |
std::ostream & | CppUtilities::operator<< (std::ostream &out, const Pair &pair) |
Allows printing pairs so key/values of maps/hashes can be asserted using CPPUNIT_ASSERT_EQUAL. More... | |
template<typename Iteratable , Traits::EnableIf< Traits::IsIteratable< Iteratable >, Traits::Not< Traits::IsString< Iteratable >>> * = nullptr> | |
std::ostream & | CppUtilities::operator<< (std::ostream &out, const Iteratable &iteratable) |
Allows printing iteratable objects so those can be asserted using CPPUNIT_ASSERT_EQUAL. More... | |
constexpr std::size_t | CppUtilities::Literals::operator""_st (unsigned long long size) |
Literal for std::size_t to ease asserting std::size_t with CPPUNIT_ASSERT_EQUAL. More... | |
constexpr std::uint64_t | CppUtilities::Literals::operator""_uint64 (unsigned long long size) |
Literal for uint64 to ease asserting uint64 with CPPUNIT_ASSERT_EQUAL. More... | |
constexpr std::int64_t | CppUtilities::Literals::operator""_int64 (unsigned long long size) |
Literal for int64 to ease asserting int64 with CPPUNIT_ASSERT_EQUAL. More... | |
#define TESTUTILS_ASSERT_EXEC | ( | args | ) |
Asserts successful execution of the application with the specified CLI args.
The application is executed via TestApplication::execApp(). Output is stored in the std::string variables stdout and stderr.
Definition at line 265 of file testutils.h.
#define TESTUTILS_ASSERT_LIKE | ( | message, | |
expectedRegex, | |||
actualString | |||
) | TESTUTILS_ASSERT_LIKE_FLAGS(message, expectedRegex, std::regex::ECMAScript, actualString) |
Asserts whether the specified string matches the specified regex.
Definition at line 287 of file testutils.h.
#define TESTUTILS_ASSERT_LIKE_FLAGS | ( | message, | |
expectedRegex, | |||
regexFlags, | |||
actualString | |||
) |
Asserts whether the specified string matches the specified regex.
Definition at line 277 of file testutils.h.