Testing
-------

This is basically a set of regression tests for interfaces in the
OMF and the MOF implementation. I'm basically just trying to excersise
the methods of each interface and checking to make sure that all
operations have the expected results. These tests are written using
the Boost.Test unit test framework. Simply compile and run the Test
program to run all the regression tests. Hopefully there are no
errors.

Note that I'm not explicitly testing failures right now. I need to
add a bunch of tests that make sure exceptions are getting thrown
and the like. Also, there really shouldn't be any glaring errors.
I've been tending to fix errors as I've found them. So far, it's
lead to a complete rewrite of the OMF::Set class and fixing the
hashing function for OMF::Integer.

Additionally, I occasionally run the suite throuugh valgrind to
look for memory leaks. Any leaks need to be identified and
eliminated either thru the testing program or the OMF library.

Testing the interfaces is actually somewhat complex. Basically,
the first test is responsible for creating a small metamodel
that includes all of the instantiable objects in the the MOF
implementation. Each regression test from then on is responsible
for testing all of the interfaces of each instantiated object
for correctness. Additional tests check the correctness of the
association extents and excercise them further (especially
removals).