Merge remote-tracking branch 'origin/master' into windows
[scilab.git] / scilab / modules / ast / src / cpp / types / test-types.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #include <iostream>
17 #include <assert.h>
18 #include "alltypes.hxx"
19
20 int main(void)
21 {
22
23     /*
24     ** types::Int
25     */
26     types::Int32 i42(1, 1);
27     i42.set(0, 0, 42);
28     std::cout << "i42 = " << ((long long*) i42.get())[0] << std::endl;
29     assert(i42.get()[0] == 42);
30     assert(i42.isInt() == true);
31     assert(i42.isDouble() == false);
32
33     /*
34     ** types::Double
35     */
36     types::Double d42(42);
37     std::cout << "d42 = " << d42.get(0, 0) << std::endl;
38     assert(d42.get(0, 0) == 42);
39     assert(d42.isInt() == false);
40     assert(d42.isDouble() == true);
41
42     /*
43     ** types::String
44     */
45     types::String s42("42");
46     std::cout << "s42 = " << d42.get(0, 0) << std::endl;
47     assert(strcmp(s42.get(0, 0), "42") == 0);
48     assert(s42.isInt() == false);
49     assert(s42.isDouble() == false);
50     assert(s42.isString() == true);
51
52     /*
53     ** types::Generic
54     */
55     /* -*- WARNING : GenericType() is protected -*- */
56     //types::GenericType *gt = new types::GenericType();
57
58     return 0;
59
60 }