PageRenderTime 42ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/perl5/li_reference_runme.pl

#
Perl | 36 lines | 35 code | 1 blank | 0 comment | 0 complexity | 35413d5cf8da94989d8e537cc0453ce1 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. use strict;
  2. use warnings;
  3. use Test::More tests => 68;
  4. BEGIN { use_ok('li_reference') }
  5. require_ok('li_reference');
  6. sub chk { my($type, $call, $v1, $v2) = @_;
  7. $li_reference::FrVal = $v1;
  8. my $v = $v2;
  9. eval { $call->(\$v) };
  10. is($@, '', "$type check");
  11. is($li_reference::ToVal, $v2, "$type out");
  12. is($v, $v1, "$type in");
  13. }
  14. chk("double*", \&li_reference::PDouble, 12.2, 18.6);
  15. chk("double&", \&li_reference::RDouble, 32.5, 64.8);
  16. chk("float*", \&li_reference::PFloat, 64.5, 96.0);
  17. chk("float&", \&li_reference::RFloat, 98.5, 6.25);
  18. chk("int*", \&li_reference::PInt, 1887, 3356);
  19. chk("int&", \&li_reference::RInt, 2622, 9867);
  20. chk("short*", \&li_reference::PShort, 4752, 3254);
  21. chk("short&", \&li_reference::RShort, 1898, 5757);
  22. chk("long*", \&li_reference::PLong, 6687, 7132);
  23. chk("long&", \&li_reference::RLong, 8346, 4398);
  24. chk("uint*", \&li_reference::PUInt, 6853, 5529);
  25. chk("uint&", \&li_reference::RUInt, 5483, 7135);
  26. chk("ushort*", \&li_reference::PUShort, 9960, 9930);
  27. chk("ushort&", \&li_reference::RUShort, 1193, 4178);
  28. chk("ulong*", \&li_reference::PULong, 7960, 4788);
  29. chk("ulong&", \&li_reference::RULong, 8829, 1603);
  30. chk("uchar*", \&li_reference::PUChar, 110, 239);
  31. chk("uchar&", \&li_reference::RUChar, 15, 97);
  32. chk("char*", \&li_reference::PChar, -7, 118);
  33. chk("char&", \&li_reference::RChar, -3, -107);
  34. chk("bool*", \&li_reference::PBool, 0, 1);
  35. chk("bool&", \&li_reference::RBool, 1, 0);