Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
53
tasks_gen/train/G1095/spec.md
Normal file
53
tasks_gen/train/G1095/spec.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 1. Goal
|
||||
Calculate the price of a sightseeing flight for a helicopter operator. The
|
||||
booking program calls one function module for each flight that a customer books.
|
||||
The function module must use the interface of the sample module, because the
|
||||
booking program calls all flight modules in the same way.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- Function group {{P}}FG_HELI exists in package $TMP.
|
||||
- Function module {{P}}HELI_FEE exists in this group. It has the correct
|
||||
interface, but its implementation is empty.
|
||||
- Function module {{P}}HELI_SAMPLE exists in this group. It is the sample
|
||||
module. Its interface is the interface that all flight modules must use.
|
||||
- A flight has a tour type, a number of passengers, and a flight time in
|
||||
minutes.
|
||||
- A customer is a member of the flying club or not.
|
||||
|
||||
# 4. Contract
|
||||
- Implement the function module {{P}}HELI_FEE in function group {{P}}FG_HELI.
|
||||
- Keep exactly the interface of {{P}}HELI_SAMPLE: the same parameter names,
|
||||
kinds, types, and exceptions.
|
||||
|
||||
# 5. Business rules
|
||||
1. If the number of passengers is less than 1 or greater than 6, raise the
|
||||
exception INVALID_PASSENGERS.
|
||||
2. If the flight time is less than 5 minutes, raise the exception
|
||||
INVALID_MINUTES.
|
||||
3. Set the skip flag to false, except in rule 6.
|
||||
4. Tour type SC (sightseeing circuit):
|
||||
- The gross price is 8.00 per minute plus 15.00 per passenger.
|
||||
- If the customer is a member, subtract 12.5 % of the gross price.
|
||||
- Round the result half up to 2 decimals.
|
||||
- The minimum price is 50.00. The maximum price is 1500.00.
|
||||
5. Tour type TR (training flight):
|
||||
- The gross price is 12.00 per minute. There is no passenger surcharge.
|
||||
- The member discount does not apply.
|
||||
- Round the result half up to 2 decimals.
|
||||
- The minimum price is 50.00. The maximum price is 1500.00.
|
||||
6. Tour type CH (charter flight): set the skip flag to true. Do not change the
|
||||
price.
|
||||
7. All other tour types: the price is 0.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: SAP_BASIS 816.
|
||||
- Use Clean ABAP. Keep every method below 40 statements.
|
||||
- Out of scope: do not change {{P}}HELI_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