1
// Tests for various functionalities of the Model
2

            
3
use conjure_cp::ast::Model;
4
use conjure_cp::ast::*;
5

            
6
#[test]
7
3
fn modify_domain() {
8
3
    let mut m = Model::new(Default::default());
9

            
10
3
    let mut symbols = m.symbols_mut();
11

            
12
3
    let name_a = Name::user("a");
13

            
14
3
    let d1 = Domain::int(vec![Range::Bounded(1, 3)]);
15
3
    let d2 = Domain::int(vec![Range::Bounded(1, 2)]);
16

            
17
3
    let mut decl_a = DeclarationPtr::new_find(name_a, d1.clone());
18

            
19
3
    symbols.insert(decl_a.clone()).unwrap();
20

            
21
3
    assert_eq!(&decl_a.domain().unwrap(), &d1);
22

            
23
3
    decl_a.as_find_mut().unwrap().domain = d2.clone();
24

            
25
3
    assert_eq!(&decl_a.domain().unwrap(), &d2);
26
3
}