TestServer.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace loyalsoft;
  3. include_once __DIR__ . '/AppServer.php';
  4. require_once __DIR__ . '/../process/ActiveProc/CipheredBase32.php'; # 算法库
  5. /**
  6. * Description of TestServer
  7. * UT 测试
  8. * @author jgao
  9. */
  10. class TestServer {
  11. /**
  12. * 入口函数专用测试
  13. * @param type $req
  14. */
  15. static public function testApi($req) {
  16. DebugHelper::debug($req);
  17. $app = new AppServer();
  18. $ret = $app->api(new Req($req));
  19. DebugHelper::debug($ret);
  20. }
  21. /**
  22. * 运行环境自检:
  23. * PHP 版本,扩展模块
  24. * redis操作性
  25. * sqldb操作性
  26. */
  27. static function selfTest() {
  28. echoLine("phpver: " . PHP_VERSION . PHP_EOL); # 打印下PHP版本
  29. SelfChecker::CheckConfig(); # 进行配置环境检测
  30. }
  31. //----------------------------------------------------
  32. public function testRedisLua($key, $value) {
  33. $mem = gMem();
  34. $script = <<<SCR
  35. if redis.call("get",KEYS[1]) == ARGV[1]
  36. then
  37. return redis.call("del",KEYS[1])
  38. else
  39. return 0
  40. end
  41. SCR;
  42. DebugHelper:: var_dump($script);
  43. $ret = $mem->redis->eval($script, 1, $key, $value);
  44. DebugHelper:: var_dump($ret);
  45. $mem->close();
  46. }
  47. public function testBinSearch($v) {
  48. $arr = array(1, 2, 3, 4, 4, 11, 12, 124);
  49. $start = 0;
  50. $end = count($arr) - 1;
  51. while ($start <= $end) {
  52. $index = intval(($start + $end) / 2);
  53. if ($v < $arr[$index]) {
  54. $end = $index - 1;
  55. } elseif ($v > $arr[$index]) {
  56. $start = $index + 1;
  57. } else {
  58. echo($index);
  59. return;
  60. }
  61. }
  62. echo($index);
  63. }
  64. }