* rulesets/Motion.cpp: Add more thorough assert checks.
* tests/IGEntityExerciser.h: Ensure the containership is complete and
legal on entities to be tested, so collision code called from
update handler works correctly.
* tests/IGEntityExerciser.h: Provide more coverage of the operation
error permutations, and add some verification of the type of
operation in the results.
* tests/IGEntityExerciser.h: Provide more coverage of the operation
error permutations, and add some verification of the type of
operation in the results.
* tests/IGEntityExerciser.h: Provide more coverage of the operation
error permutations, and add some verification of the type of
operation in the results.
* tests/IGEntityExerciser.h: Provide more coverage of the operation
error permutations, and add some verification of the type of
operation in the results.
* rulesets/Entity.cpp: Initialise motion pointer to zero, so
so tests know whether it is there.
* rulesets/Thing.cpp: Don't attempt to do a movement update if
LOC is zero. It is a sign something not quite right is going on.
* tests/IGEntityExerciser.h: Check motion is not null before using
it.
* tests/IGEntityExerciser.h: Treat entities with ID 0 a little
differently as they should be rigged up as the world for testing.
* tests/Creatortest.cpp, tests/Worldtest.cpp: Remove the test world
is it is now set up in the exerciser.
* tests/IGEntityExerciser.h: Add more test coverage for operations
to trigger errer detection in Thing.MoveOperation.
* tests/TestWorld.h: Add test code to allow entities to be added to
the test world.
* rulesets/Entity.h, rulesets/Entity.cpp: Add getProperty method
which allows the property object of an attribute to be accessed.
* tests/IGEntityExerciser.h, tests/Entitytest.cpp: Add tests for
getProperty() basic functionality.
* common/Property.cpp: Add required type checks to property set
methods.
* modules/Location.cpp: Don't send LOC attribute when the
pointer is NULL.
* rulesets/EntityProperties.cpp: Add a Property specialisation
for list of IDs.
* rulesets/MemMap.cpp: Fix the memory code to use the correct
PARENTS attribute rather than type, which is not an Atlas
attribute.
* tests/IGEntityExerciser.h: Add debugging output to attribute
checks.
* tests/EntityExerciser.h: Make entity reference protected for use
by other exercisers.
* tests/IGEntityExerciser.h, tests/Entitytest.cpp: Implement
and use the attribute testing code.
* common/BaseEntity.cpp: Add in the unimplemented subscribe
method.
* tests/EntityExerciser.h: Add new functionality to properlly
exercise the dispatch/subscription mechansim.
* tests/BaseEntitytest.cpp, tests/OOGThingtest.cpp: Update tests
to use new EntityExerciser functionality.
* tests/IGEntityExerciser.h, tests/Entitytest.cpp: New test for
testing the IG Entity base class.