-
Notifications
You must be signed in to change notification settings - Fork 1
Sprint 2 Test Plan
In this sprint, we added a bear enemy to the game which will be the strongest enemy of the forest biome which has the combat stats, including health, attack, defense, and speed. Moreover, monkey Throwing banana is to enhance the behavior of Monkey enemy NPCs by implementing a new feature where they can throw bananas and spawn banana items within the game. This will add a unique attack mechanic and a new item for players to interact with (dodge).
-
New Enemy Bear: combat stats for bear are health, attack, defense, and speed.
-
Monkey Throwing banana functionality and animations: Adding Projectile entities for banana throwing
-
Banana Spawn: Every monkeys spawn banana items once in the game. These bananas will later make minor damage.
-
Animation and UI Enhancements: Smooth animations for the enemy image and text labels.
The following test styles were used during the testing process for Sprint 2
- Execution
- Pass/fail (JUnit assertions)
- Visual Inspection
Test cases have been added to test new classes that have been created
Bear Enemy NPCs Monkey Projectile Entities Monkey Banana Attack
Tests the creation of projectiles, which is currently only the banana, to ensure they are instantiated correctly with the necessary components.
- TestBananaCreation(): Tests the creation of a banana projectile.
- TestBananaIsEntity(): Verifies that the created banana is an instance of the Entity class.
- TestBananaHasComponents(): Ensures that the banana has all required components, such as PhysicsComponent, PhysicsMovementComponent, BananaAnimationController, ProjectileAttackComponent, HitboxComponent, and ColliderComponent.
Tests the TouchAttackComponent to verify that it correctly handles collision-based attack logic.
View Touch Attack Component Tests
- shouldNotAttackOtherLayer(): Verifies that the attack does not occur if the target entity is on a different physics layer.
- shouldNotAttackWithoutCombatComponent(): Ensures that the attack is ignored if the target entity does not have a CombatStatsComponent.
Tests the ShootTask to verify its behaviour for firing projectiles when within range and the correct wait time has elapsed.
- shouldShootWhenInRangeAndWaitTimeElapsed(): Verifies that the ShootTask fires a projectile (triggers the "FireBanana" event) when the target is within range and the wait time has passed.
- shouldShootOnlyWhenInDistance(): Ensures that the ShootTask only fires when the target is within a specified distance range and does not shoot when the target is too far away.
Visual testing to verify that the cut-scene for enemies before combat is triggering correctly, displaying and formatting correctly as well. The videos recording the functionalities as a test can be found below:
The syntax isn't easy to remember if you don't use it often, but here you go, with the link you provided: