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

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

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