ResulSetTestCase.hx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package ;
  2. import haxe.unit.TestCase;
  3. import sys.FileSystem;
  4. import sys.db.Connection;
  5. import sys.db.Sqlite;
  6. import sys.db.ResultSet;
  7. class ResulSetTestCase extends TestCase
  8. {
  9. var file : String;
  10. var cnx : Connection;
  11. override public function setup( ) : Void
  12. {
  13. super.setup();
  14. file = '${currentTest.classname}-${currentTest.method}.sqlite';
  15. cnx = Sqlite.open(file);
  16. cnx.request('DROP TABLE IF EXISTS t1');
  17. cnx.request('CREATE TABLE t1(i int, f float, t text, bl blob, bo bool)');
  18. cnx.request('INSERT INTO t1 VALUES(1, 0.1, "hello", "\x11", 1)');
  19. cnx.request('INSERT INTO t1 VALUES(2, 0.00002, "goodbye", "\x1111", 0)');
  20. cnx.request('INSERT INTO t1 VALUES(3, 0.000000003, "Привет!", "\x111111", 1)');
  21. }
  22. override public function tearDown( ) : Void
  23. {
  24. super.tearDown();
  25. cnx.close();
  26. FileSystem.deleteFile(file);
  27. }
  28. public function testLength( ) : Void
  29. {
  30. var res : ResultSet = cnx.request('SELECT * FROM t1');
  31. assertFalse(res == null);
  32. assertTrue(res.hasNext());
  33. assertEquals(3, res.length);
  34. }
  35. public function testFieldsLen( ) : Void
  36. {
  37. var res : ResultSet = cnx.request('SELECT * FROM t1 WHERE i = 1');
  38. assertFalse(res == null);
  39. assertTrue(res.hasNext());
  40. assertEquals(5, res.nfields);
  41. var fields = res.getFieldsNames();
  42. assertFalse(fields == null);
  43. assertEquals(res.nfields, fields.length);
  44. }
  45. public function testFieldsName( ) : Void
  46. {
  47. var res : ResultSet = cnx.request('SELECT * FROM t1 WHERE i = 1');
  48. assertFalse(res == null);
  49. assertTrue(res.hasNext());
  50. var fields = res.getFieldsNames();
  51. assertEquals('i', fields[0]);
  52. assertEquals('f', fields[1]);
  53. assertEquals('t', fields[2]);
  54. assertEquals('bl', fields[3]);
  55. assertEquals('bo', fields[4]);
  56. }
  57. public function testFieldsVal1( ) : Void
  58. {
  59. var res : ResultSet = cnx.request('SELECT * FROM t1 WHERE i = 1');
  60. assertFalse(res == null);
  61. assertTrue(res.hasNext());
  62. var vals = res.next();
  63. assertEquals(1, vals.i);
  64. assertEquals(0.1, vals.f);
  65. assertEquals("hello", vals.t);
  66. assertEquals("\x11", vals.bl);
  67. assertEquals(true, vals.bo);
  68. }
  69. public function testFieldsVal2( ) : Void
  70. {
  71. var res : ResultSet = cnx.request('SELECT * FROM t1 WHERE i = 2');
  72. assertFalse(res == null);
  73. assertTrue(res.hasNext());
  74. var vals = res.next();
  75. assertEquals(2, vals.i);
  76. assertEquals(0.00002, vals.f);
  77. assertEquals("goodbye", vals.t);
  78. assertEquals("\x1111", vals.bl);
  79. assertEquals(false, vals.bo);
  80. }
  81. public function testFieldsVal3( ) : Void
  82. {
  83. var res : ResultSet = cnx.request('SELECT * FROM t1 WHERE i = 3');
  84. assertFalse(res == null);
  85. assertTrue(res.hasNext());
  86. var vals = res.next();
  87. assertEquals(3, vals.i);
  88. assertEquals(0.000000003, vals.f);
  89. assertEquals("Привет!", vals.t);
  90. assertEquals("\x111111", vals.bl);
  91. assertEquals(true, vals.bo);
  92. }
  93. }