Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
58
tasks_gen/train/G1948/spec.md
Normal file
58
tasks_gen/train/G1948/spec.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 1. Goal
|
||||
The archery club "Green Quiver" checks a range booking before it confirms the
|
||||
shooting session. The club keeps all its messages in one message class. The club
|
||||
also needs a class-based exception that carries one of these messages, so that
|
||||
the caller of the range check can handle a rejection.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- All objects are in package $TMP.
|
||||
- The club keeps all its messages in one message class.
|
||||
- Every message of the club has at most two placeholders.
|
||||
- The range check raises the exception with the message that describes the
|
||||
rejection.
|
||||
|
||||
# 4. Contract
|
||||
- Create the message class {{P}}MSG_ARC in package $TMP. It contains the
|
||||
messages 001, 002, 003 and 004.
|
||||
- Create the exception class {{P}}CX_BOW_CHECK in package $TMP.
|
||||
- The class is public and final. It inherits from CX_STATIC_CHECK.
|
||||
- The class implements the interface IF_T100_MESSAGE.
|
||||
- The class has a public constructor with these importing parameters:
|
||||
- iv_msgno TYPE symsgno
|
||||
- iv_value1 TYPE string
|
||||
- iv_value2 TYPE string
|
||||
- The class has the public read-only attributes value1 and value2, both of type
|
||||
string. The constructor copies iv_value1 to value1 and iv_value2 to value2.
|
||||
- The method get_message_text( ) returns the text of the message with the number
|
||||
iv_msgno of the message class {{P}}MSG_ARC. In this text, &1 is replaced by
|
||||
iv_value1 and &2 is replaced by iv_value2.
|
||||
|
||||
# 5. Business rules
|
||||
1. Message 001 is an error message. The range check uses it when the archer is
|
||||
not licensed for the planned bow class. Its text is
|
||||
"Archer &1 is not licensed for bow class &2". &1 is the name of the archer.
|
||||
&2 is the bow class.
|
||||
2. Message 002 is an error message. The range check uses it when too few arrows
|
||||
are available. Its text is "Arrows &1 are below the minimum of &2". &1 is
|
||||
the number of arrows. &2 is the minimum number of arrows.
|
||||
3. Message 003 is a warning message. The range check uses it when the group is
|
||||
too large. Its text is "Group of &1 archers exceeds the range limit of &2".
|
||||
&1 is the group size. &2 is the limit of the range.
|
||||
4. Message 004 is an information message. The range check uses it when the
|
||||
booking is confirmed. Its text is "Booking &1 is confirmed for &2 archers".
|
||||
&1 is the booking number. &2 is the number of archers.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: 8.16.
|
||||
- Use clean ABAP. Keep every method below 40 statements.
|
||||
- Out of scope: do not create or change other objects.
|
||||
|
||||
# 7. Acceptance
|
||||
- The message class {{P}}MSG_ARC is active and contains the messages 001 to 004.
|
||||
- The class {{P}}CX_BOW_CHECK is active and has no syntax error.
|
||||
- The hidden tests pass.
|
||||
- Write ABAP Unit tests for the messages and for the exception class in a global
|
||||
test class.
|
||||
Reference in New Issue
Block a user