Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
47
tasks_gen/train/G1103/spec.md
Normal file
47
tasks_gen/train/G1103/spec.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# 1. Goal
|
||||
Calculate the price of a car wash order. The checkout program of the car wash
|
||||
calls one function module for each order. The function module also tells the
|
||||
checkout program if the wash tunnel cannot take the vehicle.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- Function group {{P}}FG_WASH exists in package $TMP.
|
||||
- Function module {{P}}WASH_SAMPLE exists in this group. It is the sample wash
|
||||
module. Its interface is the interface that all wash modules must use.
|
||||
|
||||
# 4. Contract
|
||||
- Create the function module {{P}}WASH_FEE in function group {{P}}FG_WASH.
|
||||
- Use exactly the interface of {{P}}WASH_SAMPLE: the same parameter names,
|
||||
kinds, types and exceptions.
|
||||
|
||||
# 5. Business rules
|
||||
1. If the wash program is not BASIC, PLUS or PREMIUM, raise the exception
|
||||
INVALID_PROGRAM.
|
||||
2. If the vehicle category is not S, M or L, raise the exception
|
||||
INVALID_VEHICLE. Check the wash program (rule 1) before the vehicle
|
||||
category.
|
||||
3. Set the reject flag to false, except in rule 5.
|
||||
4. Base price of the wash program: BASIC 8.50, PLUS 12.50, PREMIUM 18.50.
|
||||
5. If the vehicle category is L and the wash program is BASIC, the wash tunnel
|
||||
cannot take the vehicle. Set the reject flag to true and set the price to
|
||||
0.00. Rules 6 to 8 do not apply.
|
||||
6. Vehicle surcharge: category S 0.00, category M 2.50, category L 5.50. Add
|
||||
the surcharge to the base price.
|
||||
7. Extra wax: add 3.50 to the price. For the wash program PREMIUM the wax is
|
||||
included in the price, so add nothing.
|
||||
8. Fleet discount: if the fleet flag is true, the customer pays 85 % of the
|
||||
price after rules 4 to 7, rounded half up to 2 decimals. All prices are in
|
||||
euro.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: SAP_BASIS 816 (ABAP Platform 2025).
|
||||
- Coding standards: Clean ABAP. Keep every method below 40 statements. Do not
|
||||
create ATC findings of priority 1 or 2.
|
||||
- Out of scope: do not change {{P}}WASH_SAMPLE.
|
||||
|
||||
# 7. Acceptance
|
||||
- The function module is active and has no syntax error.
|
||||
- The hidden tests pass.
|
||||
- Write ABAP Unit tests for the function module in a global test class.
|
||||
Reference in New Issue
Block a user