/trunk/Examples/test-suite/d/li_typemaps_runme.1.d
D | 94 lines | 73 code | 11 blank | 10 comment | 36 complexity | e4abac65e1b41304d83bfaced3593fac MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- /// Tests correct handling of a few INPUT/OUTPUT/INOUT-typemapped functions.
- module li_typemaps_runme;
- import li_typemaps.li_typemaps;
- void main() {
- // Check double INPUT typemaps
- if (in_double(22.22) != 22.22) raiseError("in_double");
- if (inr_double(22.22) != 22.22) raiseError("inr_double");
- // Check double OUTPUT typemaps
- {
- double var = 44.44;
- out_double(22.22, var);
- if (var != 22.22) raiseError("out_double");
- }
- {
- double var = 44.44;
- outr_double(22.22, var);
- if (var != 22.22) raiseError("outr_double");
- }
- // Check double INOUT typemaps
- {
- double var = 44.44;
- inout_double(var);
- if (var != 44.44) raiseError("inout_double");
- }
- {
- double var = 44.44;
- inoutr_double(var);
- if (var != 44.44) raiseError("inoutr_double");
- }
- // Check unsigned long long INPUT typemaps
- if (in_ulonglong(20) != 20) raiseError("in_ulonglong");
- if (inr_ulonglong(20) != 20) raiseError("inr_ulonglong");
- // Check unsigned long long OUTPUT typemaps
- {
- ulong var = 40;
- out_ulonglong(20, var);
- if (var != 20) raiseError("out_ulonglong");
- }
- {
- ulong var = 40;
- outr_ulonglong(20, var);
- if (var != 20) raiseError("outr_ulonglong");
- }
- // Check unsigned long long INOUT typemaps
- {
- ulong var = 40;
- inout_ulonglong(var);
- if (var != 40) raiseError("inout_ulonglong");
- }
- {
- ulong var = 40;
- inoutr_ulonglong(var);
- if (var != 40) raiseError("inoutr_ulonglong");
- }
- // Check unsigned bool INPUT typemaps
- if (in_bool(false) != false) raiseError("in_bool");
- if (inr_bool(false) != false) raiseError("inr_bool");
- // Check unsigned bool OUTPUT typemaps
- {
- bool var = false;
- out_bool(true, var);
- if (var != true) raiseError("out_bool");
- }
- {
- bool var = false;
- outr_bool(true, var);
- if (var != true) raiseError("outr_bool");
- }
- // Check unsigned bool INOUT typemaps
- {
- bool var = false;
- inout_bool(var);
- if (var != false) raiseError("inout_bool");
- }
- {
- bool var = false;
- inoutr_bool(var);
- if (var != false) raiseError("inoutr_bool");
- }
- }
- void raiseError(char[] funcName) {
- throw new Exception("Test FAILED for function " ~ funcName);
- }