PHP Classes

File: DB_Simpletest

Recommend this page to a friend!
  Classes of Gombos Lorand   PDO_DB   DB_Simpletest   Download  
File: DB_Simpletest
Role: Unit test script
Content type: text/plain
Description: Please use this only with simpletest eclipse extension.
Class: PDO_DB
Execute database queries from parameters using PDO
Author: By
Last change:
Date: 15 years ago
Size: 2,728 bytes
 

Contents

Class file image Download
<?php
require_once dirname(__FILE__).'/DB.php';

class
DBTest extends UnitTestCase{
   
    private
$db;
    private
$createDbQuery =
   
'
    CREATE DATABASE /*!32312 IF NOT EXISTS*/`pdo_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
    USE `pdo_db`;
    /*Table structure for table `user` */
    DROP TABLE IF EXISTS `user`;
    CREATE TABLE `user` (
      `id` int(11) NOT NULL auto_increment,
      `name` varchar(20) default NULL,
      `password` varchar(20) default NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    '
;
   
   
    public function
DBTest(){
       
$this->UnitTestCase('DB Test');
       
$this->db = new DB();
    }
   
    public function
testCreateDb(){
       
$result = $this->db->query($this->createDbQuery);
       
$this->db->selectDB('pdo_db');
       
$this->assertEqual(1,$result);
    }
   
    public function
testInsert(){
       
$data = array('name'=>'testName','password'=>'testPassword');
       
$table = 'user';
       
$this->assertEqual(1,$this->db->insert($table,$data));
    }
   
    public function
testUpdate(){
       
$data = array('name'=>'testName1', 'password'=>'testPassword1');
       
$where = array("id= ".$this->db->getLastInsertId(),"AND name='testName'");
       
$table = 'user';
       
$this->assertEqual(1,$this->db->update($table,$data,$where));
    }
   
    public function
testInsertQuery(){
       
$query = "INSERT INTO `user` SET `name`='testName2', `password`='testPassword2'";
       
$this->assertTrue($this->db->query($query));
    }
   
    public function
testUpdateQuery(){
       
$query = "UPDATE `user` SET `name`='testName3', `password`='testPassword3' WHERE `id`=2";
       
$this->assertTrue($this->db->query($query));
    }
   
    public function
testSelectQuery(){
       
$query = "SELECT * FROM `user` WHERE `id`='1'";
       
$this->db->query($query);
       
$this->assertEqual(1,$this->db->getRowCount());
    }
   
    public function
testGetRow(){
       
$query = "SELECT * FROM `user`";
       
$result = $this->db->getRow($query);
       
       
$testObject = new stdClass();
       
$testObject->id = '1';
       
$testObject->name = 'testName1';
       
$testObject->password = 'testPassword1';
       
       
$this->assertIdentical($result,$testObject);
    }
   
    public function
testGetResults(){
       
$query = "SELECT * FROM `user`";
       
$this->db->getResults($query);
       
$this->assertEqual(2,$this->db->getRowCount());
    }
   
    public function
testDelete(){
       
$where = array('id = 1');
       
$table = 'user';
       
$this->assertTrue($this->db->delete($table,$where));
    }
   
    public function
testDeleteQuery(){
       
$query = "DELETE FROM `user` WHERE `id`='2'";
       
$this->assertEqual(1,$this->db->query($query));
    }
   
   
/**
     * @property DB $db
     */
   
public function testDeleteDB(){
       
$query = "DROP DATABASE IF EXISTS `pdo_db`";
       
$this->assertTrue($this->db->query($query));
    }
}
?>