Classi per la configurazione upload
Cristiano Magro
2019-07-09 d5966c9e396b6d15bf079dc6378652403e0ed319
tests/SetupUploadTest.php
@@ -1,16 +1,16 @@
<?php
require 'bootstrap.php';
/**
 * Implementazione dei test per la classe SetupUpload
 *
 * @author Cristiano Magro
 */
class SetupUploadTest extends PHPUnit_Framework_TestCase {
class SetupUploadTest extends PHPUnit_Framework_TestCase
{
    /**
     *  @var $object SetupUpload
     * @var $object SetupUpload
     */
    protected $object;
@@ -18,7 +18,8 @@
     * Set up fixture, inizializzazione dei test.
     * Eseguito prima di ogni test
     */
    protected function setUp() {
    protected function setUp()
    {
        $this->object = SetupUpload::create();
    }
@@ -26,19 +27,23 @@
     * Tears down the fixture, for example, closes a network connection.
     * This method is called after a test is executed.
     */
    protected function tearDown() {
    protected function tearDown()
    {
    }
    public static function setUpBeforeClass() {
    public static function setUpBeforeClass()
    {
    }
    /**
     * Conversione di una stringa nel corrispondente valore di byte
     *
     * @since 0.3.0
     */
    public function test_str2Bytes() {
    public function test_str2Bytes()
    {
        $this->assertEquals('1', SetupUpload::str2Bytes('1'));
        $this->assertEquals('1', SetupUpload::str2Bytes('1b'));
@@ -60,28 +65,55 @@
        $this->assertEquals('0', SetupUpload::str2Bytes('0 mB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 GB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 TB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 XB'));
    }
    /**
     * Conversione di una stringa nel corrispondente valore di byte, stringhe
     * non convertibili devono andare in errore
     *
     * @since             0.3.1
     * @expectedException Upload_Exc_Error
     * @dataProvider      getBytesStringNotValid
     */
    public function test_str2BytesNonValido($byteString)
    {
        SetupUpload::str2Bytes($byteString);
    }
    public function getBytesStringNotValid()
    {
        return array(
            array(''),
            array('b'),
            array('1 k'),
            array('1 a'),
        );
    }
    /**
     * La coda non inizializzata prevede un numero minimo di files
     *
     * @since 0.3.1
     */
    public function testDefaultValue(){
    public function testDefaultValue()
    {
        $this->assertEquals(1, $this->object->getNumMaxFiles());
    }
    /**
     * Gestione di valori non adeguati
     * @since 0.3.1
     * @expectedException UploadFile_Exc
     * @dataProvider getNumMaxFilesException
     * Gestione di valori non adeguati
     *
     * @since             0.3.1
     * @expectedException Upload_Exc_Error
     * @dataProvider      getNumMaxFilesException
     */
    public function testNotValidNumMaxFilesGetException($num){
    public function testNotValidNumMaxFilesGetException($num)
    {
        $this->object->setNumMaxFiles($num);
    }
    public function getNumMaxFilesException () {
    public function getNumMaxFilesException()
    {
        return array(
            array(''),
            array(0),
@@ -92,15 +124,18 @@
    /**
     * Caselle della coda valide
     * @since 0.3.1
     *
     * @since        0.3.1
     * @dataProvider getSomeMaxFiles
     */
    public function testSomeValidMaxFiles($num){
    public function testSomeValidMaxFiles($num)
    {
        $this->object->setNumMaxFiles($num);
        $this->assertEquals($num, $this->object->getNumMaxFiles());
    }
    public function getSomeMaxFiles () {
    public function getSomeMaxFiles()
    {
        return array(
            array(2),
            array(020),
@@ -108,5 +143,39 @@
            array(10000),
        );
    }
    /**
     * Impostazioni delle dimensioni massime del totale caricabile
     *
     * @since 0.3.1
     */
    public function testSetSizeMaxFilesByte()
    {
        $this->object->setSizeMaxFilesByte(100);
        $this->assertEquals(100, $this->object->getSizeMaxFilesByte());
        $this->object->setSizeMaxFilesByte('200');
        $this->assertEquals(200, $this->object->getSizeMaxFilesByte());
        $this->object->setSizeMaxFilesByte('3 kb');
        $this->assertEquals(1024 * 3, $this->object->getSizeMaxFilesByte());
    }
    /**
     * Impostazioni delle dimensioni massime di un file
     *
     * @since 0.3.1
     */
    public function testSetSizeLimitFile()
    {
        $this->object->setSizeLimitFile(100);
        $this->assertEquals(100, $this->object->getSizeLimitFile());
        $this->object->setSizeLimitFile('200');
        $this->assertEquals(200, $this->object->getSizeLimitFile());
        $this->object->setSizeLimitFile('3kb');
        $this->assertEquals(1024 * 3, $this->object->getSizeLimitFile());
    }
}