From victor
Revision as of 16:26, 10 October 2014 by Manuel (Talk | contribs)

Jump to: navigation, search

This page is dedicated to developers of new tools and people involved in the Victor maintenance.


The Doxygen documentation provides a comprehensive view of the Victor package. Is possible to navigate the class hierarchy, search for specific functions and their detailed description. For an overview of the implemented algorithms and methods visit the Introduction, Features and Reference pages. The current Doxygen documentation is available at:

Victor Doxygen Documentation

Unit test

Victor come along with a Unit Test suite providing an effective tool for testing core classes and the most important functions. The implemented tests have been organized by package (Align2, Biopool, Energy and Lobo). Each test has its own executable that will became available in bin/ after compiling:

  • TestAlign2
  • TestBiopool
  • TestEnergy
  • TestLobo

To obtain the test executable files you need the third party Cpp Unit library and to compile Victor with a special flag. In Ubuntu this library (Cpp Unit) is available in the libcppunit-dev package. To install the library do:

sudo apt-get install libcppunit-dev

After that, compile Victor itself and then compile the Victor tests, so:

make test=1

When executed, the software will produce an output as follows is case of success of each unit tests:

Creating Test Suites for Energy:
Running the unit tests.
OK (7 tests)

In this case, the 7 unit tests for the Energy library succeeded. No further output is shown in this case. In situation of failure, the program will highlight the execution outcome, and shows the function that failed

Test Results:
Run:  7   Failures: 1   Errors: 0
1) test: Test3 - energy propensity difference have to be positive. (F) line: 111 ./TestSolvationPotential.h
assertion failed
- Expression: increasingEnergy

Among the 7 executions, one failed. A description of the failure is provided by defaults, together with the line of code involved. When someone is doing maintenance, there are many reasons that could lead to code failure, like introduction of new bugs and changes of the predictor's parameters. Unit tests therefore need to be updated accordingly, as they should reflect the current version of the library.