catala/tests/test_exception/good/grouped_exceptions.catala_en
2023-05-02 11:49:09 +02:00

61 lines
1.4 KiB
Plaintext

```catala-metadata
# Motivating example from https://github.com/CatalaLang/catala/issues/170
declaration structure Person:
data age content integer
data disabled content boolean
declaration scope Benefit:
context output person content Person
context output benefit content money
scope Benefit:
definition person equals Person {
-- age: 26
-- disabled: true
}
```
## Article 1
If the person is less than 25 years old, then the benefit is $1000.
```catala
scope Benefit:
label benefits_base_case
definition benefit under condition person.age <= 25 consequence equals $1000
```
## Article 2
If the person is more than 25 years old, then the benefit is $500.
```catala
scope Benefit:
label benefits_base_case
definition benefit under condition person.age > 25 consequence equals $500
```
## Article 3
If the person is disabled, the benefit is equal to $2000.
```catala
scope Benefit:
exception benefits_base_case
definition benefit under condition person.disabled consequence equals $2000
```
```catala-test-inline
$ catala Interpret -s Benefit
[RESULT] Computation successful! Results:
[RESULT] benefit = $2000.00
[RESULT] person = { Person age = 26; disabled = true; }
```
```catala-test-inline
$ catala Interpret_Lcalc -s Benefit --avoid_exceptions --optimize
[RESULT] Computation successful! Results:
[RESULT] benefit = ESome $2000.00
[RESULT] person = ESome { Person age = ESome 26; disabled = ESome true; }
```