PageRenderTime 42ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/test-suite/lua/li_typemaps_runme.lua

#
Lua | 40 lines | 38 code | 1 blank | 1 comment | 0 complexity | 38306dd2bcd908eac4941edbb198df57 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. require("import") -- the import fn
  2. import("li_typemaps") -- import code
  3. -- catch "undefined" global variables
  4. setmetatable(getfenv(),{__index=function (t,i) error("undefined global variable `"..i.."'",2) end})
  5. -- Check double INPUT typemaps
  6. assert(li_typemaps.in_double(22.22) == 22.22)
  7. assert(li_typemaps.inr_double(22.22) == 22.22)
  8. -- Check double OUTPUT typemaps
  9. assert(li_typemaps.out_double(22.22) == 22.22)
  10. assert(li_typemaps.outr_double(22.22) == 22.22)
  11. -- Check double INOUT typemaps
  12. assert(li_typemaps.inout_double(22.22) == 22.22)
  13. assert(li_typemaps.inoutr_double(22.22) == 22.22)
  14. -- check long long
  15. assert(li_typemaps.in_ulonglong(20)==20)
  16. assert(li_typemaps.inr_ulonglong(20)==20)
  17. assert(li_typemaps.out_ulonglong(20)==20)
  18. assert(li_typemaps.outr_ulonglong(20)==20)
  19. assert(li_typemaps.inout_ulonglong(20)==20)
  20. assert(li_typemaps.inoutr_ulonglong(20)==20)
  21. -- check bools
  22. assert(li_typemaps.in_bool(true)==true)
  23. assert(li_typemaps.inr_bool(false)==false)
  24. assert(li_typemaps.out_bool(true)==true)
  25. assert(li_typemaps.outr_bool(false)==false)
  26. assert(li_typemaps.inout_bool(true)==true)
  27. assert(li_typemaps.inoutr_bool(false)==false)
  28. -- the others
  29. a,b=li_typemaps.inoutr_int2(1,2)
  30. assert(a==1 and b==2)
  31. f,i=li_typemaps.out_foo(10)
  32. assert(f.a==10 and i==20)