mirror of
https://github.com/CatalaLang/catala.git
synced 2024-09-20 08:47:14 +03:00
65 lines
1.7 KiB
Plaintext
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.
|
|
```
|