PHP Classes

File: Bs_CsvUtil_PhpUnit.class.php

Recommend this page to a friend!
  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: 21 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");
  }
 
 
}


?>