-
Notifications
You must be signed in to change notification settings - Fork 7
GameMap Test Instances
Some methods have been introduced to help create test GameMap
instances for use in JUnit testing (to get that sweet code coverage). An additional method has also been included to load an alternate map into the SpaceGameArea
class during player testing. The methods introduced for JUnit testing do not create a TerrainComponent
to render the terrain since that would only add unnecessary complications. An example of how to create a test instance for JUnit testing will be shown below.
Store test maps in assets/configs/TestMaps/, file paths should read "configs/TestMaps/[map name].txt" when being passed to methods <--- need to improve.
Loading in a map from the assets/configs/TestMaps/ folder can be done using the createTestTerrainComponent method. The file path is the only argument for this method. You should comment out the createTerrainComponent method in the spawnTerrain method in the SpaceGameArea
class and replace it with the createTestTerrainComponent method.
The below screenshot shows how the game has loaded with a different map layout, but it still usable.
It is important to note that creating maps that are too small while play testing may crash the game. This is because teams have designed components to fit within the original 100x100 tiled map, meaning smaller maps may have some oddities occuring.
The loadTestTerrain method was added to the GameMap
class to facilitate JUnit testing when the components necessary for TerrainComponent creation were not available. The method goes through the same processes as the createTestTerrainComponent method but does not create a TerrainComponent. An example of how a test GameMap
instance is created and used can be found in the test/com/csse3200/game/areas/terrain/GameMapTest.java file.