Revert "Merge branch 'master' into palette-browser"
[scilab.git] / scilab / modules / elementary_functions / tests / unit_tests / bitcmp.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 // <-- CLI SHELL MODE -->
9
10 // unit test for bitcmp function
11 // =============================================================================
12
13 // Tests for one input argument
14 assert_checkequal(bitcmp(uint8(99)),uint8(156));
15 assert_checkequal(bitcmp(uint16(99)),uint16(65436));
16 assert_checkequal(bitcmp(uint32(99)),uint32(4294967196));
17
18 assert_checkequal(bitcmp(uint8([13,99])),uint8([242,156]));
19 assert_checkequal(bitcmp(uint16([13,99])),uint16([65522,65436]));
20 assert_checkequal(bitcmp(uint32([13,99])),uint32([4294967282,4294967196]));
21
22 // Tests for two input arguments
23 assert_checktrue(bitcmp(99,8)==uint8(156));
24 assert_checktrue(bitcmp(99,16)==uint16(65436));
25 assert_checktrue(bitcmp(99,32)==uint32(4294967196));
26
27 assert_checktrue(bitcmp([13,99],8)==uint8([242,156]));
28 assert_checktrue(bitcmp([13,99],16)==uint16([65522,65436]));
29 assert_checktrue(bitcmp([13,99],32)==uint32([4294967282,4294967196]));
30
31 // Error messages
32 errmsg = msprintf(_("%s: Wrong number of input argument(s): At least %d expected.\n"),"bitcmp",1);
33 assert_checkerror("bitcmp()",errmsg); //no input argument
34 errmsg2 = msprintf(_("Wrong number of input arguments."));
35 assert_checkerror("bitcmp(3,3,3)",errmsg2,58); //too many input arguments
36 errmsg3 = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"),"bitcmp",2);
37 assert_checkerror("bitcmp(99)",errmsg3); //First (and only) argument is not an unsigned integer
38 errmsg4 = msprintf(_("%s: Wrong input argument #%d: Scalar/matrix of unsigned integers expected.\n"),"bitcmp",1);
39 assert_checkerror("bitcmp(""s"")",errmsg4); //input argument is a char
40 errmsg5 = msprintf(_("%s: Wrong value for input argument #%d: Must be between %d and %d.\n"),"bitcmp",2,1,8);
41 assert_checkerror("bitcmp(uint8(99),16)",errmsg5); //wrong value for second input argument
42 errmsg6 = msprintf(_("%s: Wrong input argument #%d: An unsigned integer expected.\n"),"bitcmp",2);
43 assert_checkerror("bitcmp(uint8(99),5.5)",errmsg6); //second argument is a double