1
use conjure_cp::ast::Metadata;
2
use conjure_cp::ast::{Expression, Moo};
3
use conjure_cp::essence_expr;
4
use conjure_cp::matrix_expr;
5
use conjure_cp_core::{domain_int, range};
6
use defile as _;
7

            
8
#[test]
9
1
fn test_2plus2() {
10
1
    let expr = essence_expr!(2 + 2);
11
1
    assert_eq!(
12
        expr,
13
1
        Expression::Sum(
14
1
            Metadata::new(),
15
1
            Moo::new(matrix_expr![
16
1
                Expression::Atomic(Metadata::new(), 2.into()),
17
1
                Expression::Atomic(Metadata::new(), 2.into());
18
1
                domain_int!(1..)
19
1
            ])
20
1
        )
21
    );
22
1
}
23

            
24
#[test]
25
1
fn test_metavar_const() {
26
1
    let x = 4;
27
1
    let expr = essence_expr!(&x + 2);
28
1
    assert_eq!(
29
        expr,
30
1
        Expression::Sum(
31
1
            Metadata::new(),
32
1
            Moo::new(matrix_expr![
33
1
                Expression::Atomic(Metadata::new(), 4.into()),
34
1
                Expression::Atomic(Metadata::new(), 2.into());
35
1
                domain_int!(1..)
36
1
            ])
37
1
        )
38
    );
39
1
}