All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
* tests/AllPropertytest.cpp: Statistics property no longer needs
to be connected to a character.
* tests/Makefile.am: Remove deleted object files from server.
* tests/TestPropertyManager.h, tests/TestPropertyManager.cpp:
Implement the updated interface.
* tests/Makefile.am: Add the necessary properties as used by
Plant.
* tests/Stackabletest.cpp: Update which properties are expected
by default.
* tests/AllPropertytest.cpp, tests/Propertytest.cpp: Update tests
now the core property classes have all changed.
* common/type_utils.h: Properlly check for Atlas data type when
converting data to objects.
* tests/AllPropertytest.cpp: Enable LineProperty test now that the
type checking is good enough.
* common/Property.cpp: Add some specialisations that are useful
to cover in the tests, even though we are not using them in
the server yet.
* common/inheritance.h: Provide an accessor for the dictionary of
class objects for testing purposes.
* rulesets/AreaProperty.cpp: Use Map() rather than isMap() once we
have already tested it.
* rulesets/Entity.cpp: Remove some debug output.
* server/CorePropertyManager.cpp: Remove some debug output.
* tests/PropertyExerciser.h, tests/PropertyExerciser.cpp: Fill out
the functionality of the property tester. Add functions to get
random values. Use vector for value storage to make it easier
to generate the random values.
* tests/AllPropertytest.cpp: Cover all the property classes we can
test.
* tests/Makefile.am: Add mercator libraries to the property test,
as we are now testing the terrain property.
* tests/PropertyExerciser.h, tests/PropertyExerciser.cpp:
New class which thoroughly exercises any property class via its
base interface.
* tests/AllPropertytest.cpp: Start passing all property classes
through the as yet incomplete exerciser.