Test Plan for StationChoppingComponent - UQcsse3200/2024-studio-3 GitHub Wiki
The purpose of this plan is to test the basic functionality of the chopping component.
Test Environment
- Framework: JUnit4
- Objects Used: Chopping Board
Test Cases - Testing ChoppingComponent
Ingredient Starts Chopping
Purpose:
The purpose of this test is to verify that an ingredient starts chopping when the chopping event is triggered.
Test Method:
IngredientStartsChopping()
Expected Outcome:
When the 'Chop Ingredient' event is triggered, the getIsChopping() method of the ChopIngredientComponent should return true.
Ingredient Stops Chopping After Starting
Purpose:
The purpose of this test is to verify that an ingredient starts chopping and then stops when a certain event is triggered.
Test Method:
IngredientStopsChoppingThenStarts()
Expected Outcomes:
- When the 'Chop Ingredient' event is triggered, the
getIsChopping()method should returntrue. - When the 'Stop Chopping Ingredient' event is triggered, the event
getIsChoppingmethod should returnfalse.
Test that ingredient chops
Purpose:
The purpose of this test is to verify that an ingredient completes chopping after the specified chopping duration has elapsed.
Test Method:
TestIngredientChops()
Expected Outcome:
- When the 'Chop Ingredient' event is triggered, the
getIsChopping()method should returntrue. - After
chopEntity.update()is called,chopItem()should be triggered, andgetIsChopping()should returnfalse.
Test that rage mode reduces chopping time
Purpose:
The purpose of this test is to verify that the rageMode event triggers reduced chopping time.
Test Method:
testRageMode()
Expected Outcome:
- When the
rageModeOnevent is triggered, the ingredient should be chopped instantly as set by thechopIngredienttrigger called as soon as rage mode is turned on.