Scicos: reimplement scicos_block() depth comparison
[scilab.git] / scilab / modules / scicos / tests / unit_tests / comparison.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2015 - Scilab Enterprises - Paul Bignier
4 // Copyright (C) 2017 - Scilab Enterprises - Clement DAVID
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 //
9 // <-- XCOS TEST -->
10 // <-- CLI SHELL MODE -->
11 //
12
13 b = scicos_block();
14 assert_checktrue(and(b==b));
15
16 d = scicos_diagram();
17 assert_checktrue(and(d==d));
18
19 l = scicos_link();
20 assert_checktrue(and(l==l));
21
22 assert_checkfalse(b==l);
23 assert_checkfalse(b==d);
24 assert_checkfalse(d==l);
25
26 // Just modifying 'graphics'
27 b2 = b;
28 b2.graphics.sz = [50 50];
29 resRef = [%t %f %t %t %t];
30 assert_checkequal(b==b2, resRef);
31
32 // 'graphics', 'model' and 'gui' differ
33 Sum = BIGSOM_f("define");
34 resRef = [%t %f %f %f %t];
35 assert_checkequal(b==Sum, resRef);
36
37 // 'props' and 'objs' differ
38 d2 = d;
39 d2.props.tf = 50;
40 d2.objs = list(Sum);
41 resRef = [%t %f %f %t %t];
42 assert_checkequal(d==d2, resRef);
43
44
45 // Now test '~='
46 assert_checkfalse(or(b~=b));
47 assert_checkfalse(or(d~=d));
48 assert_checkfalse(or(l~=l));
49
50 assert_checktrue(b~=l);
51 assert_checktrue(b~=d);
52 assert_checktrue(d~=l);
53
54 resRef = [%f %t %f %f %f];
55 assert_checkequal(b~=b2, resRef);
56
57 resRef = [%f %t %t %t %f];
58 assert_checkequal(b~=Sum, resRef);
59
60 resRef = [%f %t %t %f %f];
61 assert_checkequal(d~=d2, resRef);
62
63
64 // check with an object hierarchy
65
66 o1 = CLOCK_f("define");
67 o2 = CLOCK_f("define");
68 assert_checktrue(o1 == o2);
69
70 o1.model.rpar.objs(2).graphics.exprs = ["30" ; "0"];
71 assert_checkequal(o1 == o2, [%t %t %f %t %t]);
72