|
C++ Utilities
5.10.3
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.