-
Notifications
You must be signed in to change notification settings - Fork 0
Sprint 2 Test Plan
The main functionalities that were tested in this sprint were:
- Banana Projectile Attack functionality
- Enemy combat cut screen
The following test styles were used during the testing process for Sprint 2
- Execution
- Pass/fail (JUnit assertions)
- Visual Inspection
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: