Fichier application/controllers/test/albumtest.php

<?php
/*
 * Created by generator
 *
 */
require_once(APPPATH . '/controllers/test/Toast.php');

class AlbumTest extends Toast {

	function __construct(){
		parent::__construct();
		$this->load->database('test');
		
		$this->load->model('Album_model');
		
	}
	
	/**
	 * OPTIONAL; Anything in this function will be run before each test
	 * Good for doing cleanup: resetting sessions, renewing objects, etc.
	 */
	function _pre() {
		$albums = Album_model::getAllAlbums($this->db);
		foreach ($albums as $album) {
			Album_model::delete($this->db, $album->albidalb);
		}
	}
	
	
	/**
	 * OPTIONAL; Anything in this function will be run after each test
	 * I use it for setting $this->message = $this->My_model->getError();
	 */
	function _post() {
		$albums = Album_model::getAllAlbums($this->db);
		foreach ($albums as $album) {
			Album_model::delete($this->db, $album->albidalb);
		}
	}
	
	public function test_insert(){
		$this->message = "Tested methods: save, getAlbum, delete";
		// création d'un enregistrement
		$album_insert = new Album_model();
		// Nothing for field albidalb
		$album_insert->alblbtit = 'test_0';
		$album_insert->albreext = 'test_0';
		$album_insert->albiddes = 0;
		$album_insert->albidsce = 0;
		$album_insert->albidgen = 0;
		$album_insert->save($this->db);
		// $album_insert->albidalb est maintenant affecté
	
		$album_select = Album_model::getAlbum($this->db, $album_insert->albidalb);
	
		$this->_assert_equals($album_select->albidalb, $album_insert->albidalb);
		Album_model::delete($this->db, $album_select->albidalb);
	}
	
	
	public function test_update(){
		$this->message = "Tested methods: save, update, getAlbum, delete";
		$album_insert = new Album_model();

		// Nothing for field albidalb
		$album_insert->alblbtit = 'test_0';
		$album_insert->albreext = 'test_0';
		$album_insert->albiddes = 0;
		$album_insert->albidsce = 0;
		$album_insert->albidgen = 0;
		$album_insert->save($this->db);
	
		// Nothing for field albidalb
		$album_insert->alblbtit = 'test1_0';
		$album_insert->albreext = 'test1_0';
		$album_insert->albiddes = 90;
		$album_insert->albidsce = 90;
		$album_insert->albidgen = 90;
		$album_insert->update($this->db);
	
		$album_update = Album_model::getAlbum($this->db, $album_insert->albidalb);
		
		if(!$this->_assert_equals($album_insert->albidalb, $album_update->albidalb)) {
			return false;
		}
		if(!$this->_assert_equals($album_insert->alblbtit, $album_update->alblbtit)) {
			return false;
		}
		if(!$this->_assert_equals($album_insert->albreext, $album_update->albreext)) {
			return false;
		}
		if(!$this->_assert_equals($album_insert->albiddes, $album_update->albiddes)) {
			return false;
		}
		if(!$this->_assert_equals($album_insert->albidsce, $album_update->albidsce)) {
			return false;
		}
		if(!$this->_assert_equals($album_insert->albidgen, $album_update->albidgen)) {
			return false;
		}

		Album_model::delete($this->db, $album_insert->albidalb);
	}
	
	
	public function test_count(){
		$this->message = "Tested methods: getCountAlbums, save, getAlbum, delete";
	
		// comptage pour vérification : avant
		$countAlbumsAvant = Album_model::getCountAlbums($this->db);
	
		// création d'un enregistrement
		$album = new Album_model();
		// Nothing for field albidalb
		$album->alblbtit = 'test_0';
		$album->albreext = 'test_0';
		$album->albiddes = 0;
		$album->albidsce = 0;
		$album->albidgen = 0;
		$album->save($this->db);
	
		// comptage pour vérification : après insertion
		$countAlbumsApres = Album_model::getCountAlbums($this->db);
	
		// verification d'ajout d'un enregistrement
		$this->_assert_equals($countAlbumsAvant +1, $countAlbumsApres);
	
		// recupération de l'objet par son  albidalb
		$album = Album_model::getAlbum($this->db, $album->albidalb);
	
		// suppression de l'enregistrement
		Album_model::delete($this->db, $album->albidalb);
	
		// comptage pour vérification : après suppression
		$countAlbumsFinal = Album_model::getCountAlbums($this->db);
		$this->_assert_equals($countAlbumsAvant, $countAlbumsFinal);
	
	}
	
	
	function test_list(){
		$this->message = "Tested methods: save, getAllAlbums, delete";
	
		$album_insert = new Album_model();
		// Nothing for field albidalb
		$album_insert->alblbtit = 'test_0';
		$album_insert->albreext = 'test_0';
		$album_insert->albiddes = 0;
		$album_insert->albidsce = 0;
		$album_insert->albidgen = 0;
		$album_insert->save($this->db);
	
		$albums = Album_model::getAllAlbums($this->db);
		if( ! $this->_assert_not_empty($albums) ) {
			return FALSE;
		}
		$found = 0;
		foreach ($albums as $album) {
			if($album->albidalb == $album_insert->albidalb &&
					$this->_assert_equals($album->alblbtit, $album_insert->alblbtit ) && 
					$this->_assert_equals($album->albreext, $album_insert->albreext ) && 
					$this->_assert_equals($album->albiddes, $album_insert->albiddes ) && 
					$this->_assert_equals($album->albidsce, $album_insert->albidsce ) && 
					$this->_assert_equals($album->albidgen, $album_insert->albidgen )
				){
				$found++;
			}
		}
		if( $found == 1 ){
			Album_model::delete($this->db, $album->albidalb);
			return TRUE;
		}else{
			return FALSE;
		}
	}

}
?>