-
…or the observation Python module. The classname() method returns in a human readable format the class name. This method is needed for full automatic typecasting in Python. Full automatic typecasting has for the moment been implemented for the observation module.
-
GTestSuites The GTestSuites class now derives from GContainer and implements the usual container class methods (at(), size(), isempty(), set(), append(), insert(), remove(), reserve() and extend()). The operator[] now returns pointers to GTestSuite. The name() and timestamp() methods now return const references. GTestSuite The GTestSuite class now derives from GBase. This implies that the clone() method needs to be implemented for derived classes. The test_assert() method now takes a const reference for the boolean argument. The name(), errors(), failures(), and timestamp() methods return const references. The obsolete add_test() method has been removed. The unit tests have been updated to conform to the new interfaces.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
I went over all .hpp to make sure that the GBase.hpp file is properly included, and no supoerfluous other includes remain. I also checked that no ostream and GLog friends are no longer available. I went over all .i files to make sure that classes are derived from GBase.
-
Added a test_value() method for integer comparisons that automatically informs about the mismatches. This increases the readability of the test results.
-
The Python code was removed as this required a linking of GammaLib with the Python library, which we want to avoid. Linking to Python should only be required by the Python wrappers. As we created a specific Python test suite GPythonTestSuite for Python unit tests, we can make GTestSuite abstract again, which is cleaner.
-
As Python version < 3 does not support abstract base classes, we had to make GTestSuite abstract so that we can derive a test suite in Python. A special append method was added to the Python interface that takes a PyObject as argument. The PyObject pointer is stored in a void array of pointers that is kept along with the function pointers. For a C++ function, the Python pointers are NULL. For a Python function, the C++ pointers are NULL. The run method checks then whether a C++ pointer or a Python pointer exists, and performs the adequat run command.
-
The run method now runs directly the test functions, instead of using the test case class for this.
-
…at derivates from GTestSuite.
-
Add a message for assertion tests