1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2016 - Scilab Enterprises - Pierre-Aime Agnel
4//
5//  This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- CLI SHELL MODE -->
9//
10// <-- ENGLISH IMPOSED -->
11
12// Testing oldEmptyBehaviour default mode
13behaviour = oldEmptyBehaviour("query");
14assert_checkequal(behaviour, "off");
15
16// Changing the behaviour
17oldEmptyBehaviour("on");
18behaviour = oldEmptyBehaviour("query");
19assert_checkequal(behaviour, "on");
20E = [];
21s = 1;
22sc = 1 + %i;
23M = [1 2; 3 4];
24MC = M + M.*%i;
25I = int8(M);
26P = [3*%s^2 + %s + 1; %s^2];
27PC = P + %i*%s;
28st = ["this is a test"; "with a string"];
29
30num = {s, sc, M, MC, I, P, PC};
31
32// Test all numeric
33for i = 1:size(num, "*")
34    assert_checkequal(E + num{i}, num{i});
35    assert_checkequal(E - num{i}, -num{i});
36    assert_checkequal(num{i} + E, num{i});
37    assert_checkequal(num{i} - E, num{i});
38end
39
40// test strings
41assert_checkequal(E + st, st);
42assert_checkequal(st + E, st);
43
44// New behaviour
45oldEmptyBehaviour("off");
46behaviour = oldEmptyBehaviour("query");
47assert_checkequal(behaviour, "off");
48
49// Test all numeric
50for i = 1:size(num, "*")
51    assert_checkequal(E + num{i}, E);
52    assert_checkequal(E - num{i}, E);
53    assert_checkequal(num{i} + E, E);
54    assert_checkequal(num{i} - E, E);
55end
56
57// test strings
58assert_checkequal(E + st, E);
59assert_checkequal(st + E, E);
60
61