Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
107 lines
2.6 KiB
JSON
107 lines
2.6 KiB
JSON
{
|
|
"id": "G0022",
|
|
"category": "D",
|
|
"object_type": "CLAS",
|
|
"difficulty": 2,
|
|
"release_target": "v816",
|
|
"expected_outcome": "implement",
|
|
"budget": {
|
|
"max_tool_calls": 60,
|
|
"max_activations": 15
|
|
},
|
|
"seed": [
|
|
{
|
|
"type": "INTF",
|
|
"name": "{{P}}IF_EXPENSE_CLAIM",
|
|
"file": "seed/if_expense_claim.intf.abap",
|
|
"description": "Types for an expense claim"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_ERROR",
|
|
"file": "seed/cx_claim_error.clas.abap",
|
|
"description": "Base exception that carries a message text"
|
|
}
|
|
],
|
|
"contract": [
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_AMOUNT"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_CURRENCY"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_DATE"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_RECEIPT"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_COSTCENTER"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}EXPENSE_VALIDATOR"
|
|
}
|
|
],
|
|
"out_of_scope": [
|
|
"{{P}}IF_EXPENSE_CLAIM",
|
|
"{{P}}CX_CLAIM_ERROR"
|
|
],
|
|
"hidden_tests": [
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}D01_HIDDEN",
|
|
"file": "hidden/d01_hidden.clas.abap",
|
|
"description": "Hidden tests for the expense claim validation"
|
|
}
|
|
],
|
|
"reference": [
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_AMOUNT",
|
|
"file": "reference/cx_claim_amount.clas.abap",
|
|
"description": "Exception for a non positive amount"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_CURRENCY",
|
|
"file": "reference/cx_claim_currency.clas.abap",
|
|
"description": "Exception for an unsupported currency"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_DATE",
|
|
"file": "reference/cx_claim_date.clas.abap",
|
|
"description": "Exception for a claim date in the future"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_RECEIPT",
|
|
"file": "reference/cx_claim_receipt.clas.abap",
|
|
"description": "Exception for a missing receipt"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}CX_CLAIM_COSTCENTER",
|
|
"file": "reference/cx_claim_costcenter.clas.abap",
|
|
"description": "Exception for a missing cost center"
|
|
},
|
|
{
|
|
"type": "CLAS",
|
|
"name": "{{P}}EXPENSE_VALIDATOR",
|
|
"file": "reference/expense_validator.clas.abap",
|
|
"description": "Validates an expense claim and raises class-based exceptions",
|
|
"testclasses_file": "reference/expense_validator.testclasses.abap"
|
|
}
|
|
],
|
|
"craft_checks": [
|
|
"method_length",
|
|
"exception_design"
|
|
]
|
|
} |