Adding new tests for mxIsNumeric
[scilab.git] / scilab / modules / mexlib / tests / unit_tests / mxIsNumeric.tst
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) Gsoc 2017 - Siddhartha Gairola
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7
8 // <-- CLI SHELL MODE -->
9 // ============================================================================
10 // Unitary tests for mxIsNumeric mex function
11 // ============================================================================
12
13 cd(TMPDIR);
14 ilib_verbose(0);
15 mputl(["#include ""mex.h""";
16 "void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[])";
17 "{";
18 "    bool isNumeric = mxIsNumeric(prhs[0]);";
19 "    mxArray* pOut = mxCreateLogicalScalar(isNumeric);";
20 "    plhs[0] = pOut;";
21 "}"],"mexisNumeric.c");
22
23 ilib_mex_build("libmextest",["isNumeric","mexisNumeric","cmex"], "mexisNumeric.c",[]);
24 exec("loader.sce");
25
26 res = isNumeric(1);
27 assert_checktrue(res);
28
29 res_int8 = isNumeric(int8(1));
30 assert_checktrue(res_int8);
31
32 res_int16 = isNumeric(int16(1));
33 assert_checktrue(res_int16);
34
35 res_int32 = isNumeric(int32(1));
36 assert_checktrue(res_int32);
37
38 res_int64 = isNumeric(int64(1));
39 assert_checktrue(res_int64);
40
41 res_uint8 = isNumeric(uint8(1));
42 assert_checktrue(res_uint8);
43
44 res_uint16 = isNumeric(uint16(1));
45 assert_checktrue(res_uint16);
46
47 res_uint32 = isNumeric(uint32(1));
48 assert_checktrue(res_uint32);
49
50 res_uint64 = isNumeric(uint64(1));
51 assert_checktrue(res_uint64);
52
53 res_double = isNumeric(2.0);
54 assert_checktrue(res_double);
55
56 res_char = isNumeric("a");
57 assert_checkfalse(res_char);