Login   Register  
PHP Classes
elePHPant
Icontem

File: Bs_CsvUtil_PhpUnit.class.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of blueshoes  >  Bs_CsvUtil.class.php  >  Bs_CsvUtil_PhpUnit.class.php  >  Download  
File: Bs_CsvUtil_PhpUnit.class.php
Role: Unit test script
Content type: text/plain
Description: php unit test, needs blueshoes installed
Class: Bs_CsvUtil.class.php
comma separated values - read and write
Author: By
Last change:
Date: 11 years ago
Size: 5,029 bytes
 

Contents

Class file image Download
<?php

//dependencies
require_once($APP['path']['core'] . 'util/Bs_CsvUtil.class.php');


class 
Bs_CsvUtil_PhpUnit extends Bs_TestCase {
  
  
  var 
$_Bs_CsvUtil;
  
  
  function 
Bs_CsvUtil_PhpUnit($name) {
    
$this->Bs_TestCase($name);
    
$this->_Bs_CsvUtil =& new Bs_CsvUtil;
  }
  
  
  function 
__Bs_CsvUtil_csvStringToArray() {
$string = <<< EOD
  a;b;c
  1;2;3
EOD;
    
$expected = array(array('a''b''c'), array('1''2''3'));
    
$actual   $this->_Bs_CsvUtil->csvStringToArray($string$separator=';'$trim='both'$removeHeader=FALSE);
    
$this->assertEquals($expected$actual"test 1 with abc 123");
  }
  
  
  function 
__Bs_CsvUtil_csvStringToArray2() {
$string = <<< EOD
THIS,IS,TITLE
a,b,c
1,2,3
EOD;
    
$expected = array(array('a''b''c'), array('1''2''3'));
    
$actual   $this->_Bs_CsvUtil->csvStringToArray($string$separator=','$trim='none'$removeHeader=TRUE);
    
$this->assertEquals($expected$actual"test 2 with abc 123 and a space as separator, header removed.");
  }
  
  
  function 
__Bs_CsvUtil_csvStringToArray3() {
$string = <<< EOD
  a; b; c
  ;  ;  
  1; 2; 3
EOD;
    
$expected = array(array('a''b''c'), array('1''2''3'));
    
$actual   $this->_Bs_CsvUtil->csvStringToArray($string$separator='; '$trim='both'$removeHeader=FALSE$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test 3 with abc 123 and empty lines removed. separator is '; ' (with a space aswell).");
  }
  
  
  function 
__Bs_CsvUtil_csvStringToArray4() {
$string = <<< EOD
  a;"b bb";c
  1;2;"3 33"
EOD;
    
$expected = array(array('a''b bb''c'), array('1''2''3 33'));
    
$actual   $this->_Bs_CsvUtil->csvStringToArray($string$separator=';'$trim='both'$removeHeader=FALSE);
    
$this->assertEquals($expected$actual"test 4 with quotes.");
  }
  
  
  
/*
  * this one works aswell, but note that \n and \r\n may cause headache.
  */
  
function __Bs_CsvUtil_csvStringToArray5() {
$string = <<< EOD
this;is;a;"multi
line";csv;string
this;one;is;"another 
multiline";csv;string :)   
EOD;
    
$expected = array(array('this''is''a'"multi\nline"'csv''string'), array('this''one''is'"another \nmultiline"'csv''string :)'));
    
$actual   $this->_Bs_CsvUtil->csvStringToArray($string$separator=';'$trim='both'$removeHeader=FALSE$removeEmptyLines=FALSE$checkMultiline=TRUE);
    
$this->assertEquals($expected$actual"test 5 with multilines.");
  }
  
  
  function 
__Bs_CsvUtil_arrayToCsvString1() {
    
$array = array(
      array(
'madonna''pop''usa'), 
      array(
'alanis morisette''rock''canada'), 
      array(
'falco''pop''austria'), 
    );
$expected 'madonna;pop;usa
alanis morisette;rock;canada
falco;pop;austria'
;
    
$actual   $this->_Bs_CsvUtil->arrayToCsvString($array$separator=';'$trim='none'$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test arrayToCsvString() 1");
  }
  
  
  function 
__Bs_CsvUtil_arrayToCsvString2() {
    
$array = array('madonna''alanis morisette''falco');
    
$expected 'madonna;alanis morisette;falco';
    
$actual   $this->_Bs_CsvUtil->arrayToCsvString($array$separator=';'$trim='none'$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test arrayToCsvString() 2");
  }
  
  
  function 
__Bs_CsvUtil_arrayToCsvString3() {
    
$array = array(
      array(
'madonna''pop''usa'), 
      array(
'alanis morisette''rock''canada'), 
      array(
'falco aka "wolfgang hoelzl"''pop''austria'), 
    );
$expected 'madonna;pop;usa
alanis morisette;rock;canada
"falco aka ""wolfgang hoelzl""";pop;austria'
;
    
$actual   $this->_Bs_CsvUtil->arrayToCsvString($array$separator=';'$trim='none'$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test arrayToCsvString() 3");
  }
  
  
  function 
__Bs_CsvUtil_arrayToCsvString4() {
    
$array = array(
      array(
'madonna''pop''usa'), 
      array(
'alanis morisette''rock''canada'), 
      array(
'falco; wolfgang hoelzl''pop''austria'), 
    );
$expected 'madonna;pop;usa
alanis morisette;rock;canada
"falco; wolfgang hoelzl";pop;austria'
;
    
$actual   $this->_Bs_CsvUtil->arrayToCsvString($array$separator=';'$trim='none'$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test arrayToCsvString() 4");
  }
  
  
  function 
__Bs_CsvUtil_arrayToCsvString5() {
    
$array = array(
      array(
'madonna''pop''usa'), 
      array(
'alanis morisette''rock''canada'), 
      array(
'falco
wolfgang hoelzl'
'pop''austria'), 
    );
$expected 'madonna;pop;usa
alanis morisette;rock;canada
"falco
wolfgang hoelzl";pop;austria'
;
    
$actual   $this->_Bs_CsvUtil->arrayToCsvString($array$separator=';'$trim='none'$removeEmptyLines=TRUE);
    
$this->assertEquals($expected$actual"test arrayToCsvString() 5");
  }
  
  
}


?>