catala/tests/test_proof/good/enums-nonbool.catala_en
2023-12-07 11:27:14 +01:00

65 lines
1.7 KiB
Plaintext

## Test
```catala
declaration enumeration T:
-- C content boolean
-- D content integer
declaration enumeration S:
-- A content integer
-- B content T
declaration scope A:
output x content integer
internal y content S
scope A:
definition y equals B content (D content 1)
definition x under condition (match y with pattern -- A of a: 1 -- B of b: 2) < 2 consequence equals 0
definition x under condition match y with pattern -- A of a: false -- B of b: true consequence equals 1
```
```catala-test-inline
$ catala Typecheck --check_invariants
[WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary?
┌─⯈ tests/test_proof/good/enums-nonbool.catala_en:5.7-5.8:
└─┐
5 │ -- C content boolean
│ ‾
└─ Test
[RESULT]
Invariant Dcalc__Invariants.invariant_typing_defaults
checked. result: [37/37]
[RESULT]
Invariant Dcalc__Invariants.invariant_match_inversion
checked. result: [2/2]
[RESULT]
Invariant Dcalc__Invariants.invariant_app_inversion
checked. result: [1/1]
[RESULT]
Invariant Dcalc__Invariants.invariant_no_return_a_function
checked. result: [4/4]
[RESULT]
Invariant Dcalc__Invariants.invariant_no_partial_evaluation
checked. result: [1/1]
[RESULT]
Invariant Dcalc__Invariants.invariant_default_no_arrow
checked. result: [5/5]
[RESULT] Typechecking successful!
```
```catala-test-inline
$ catala Proof --disable_counterexamples
[WARNING] The constructor "C" of enumeration "T" is never used; maybe it's unnecessary?
┌─⯈ tests/test_proof/good/enums-nonbool.catala_en:5.7-5.8:
└─┐
5 │ -- C content boolean
│ ‾
└─ Test
[RESULT] No errors found during the proof mode run.
```