All Unit tests
Current file: C:\code\midiparser\src\Midi\Emit\Track.php
Legend: executed not executed dead code

  Coverage
  Classes Functions / Methods Lines
Total
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 4 / 4
100.00%100.00%
100.00% 16 / 16
 
Midi\Track
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 4 / 4
100.00%100.00%
100.00% 16 / 16
 public function __construct()
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 2 / 2
 public function appendEvent(Event $event, Delta $delta = null)
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 5 / 5
 public function getData()
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 7 / 7
 public function createTrackHeader($size)
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 1 / 1


       1                 : <?php                                                                                  
       2                 :                                                                                        
       3                 :     /**                                                                                
       4                 :      * \Midi\Emit\Track                                                                
       5                 :      *                                                                                 
       6                 :      * @package    Midi                                                                
       7                 :      * @subpackage Emit                                                                
       8                 :      * @copyright  © 2009 Tommy Montgomery <http://phpmidiparser.com/>                 
       9                 :      * @since      1.0                                                                 
      10                 :      */                                                                                
      11                 :                                                                                        
      12                 :     namespace Midi\Emit;                                                               
      13                 :                                                                                        
      14                 :     use \Midi\Util\Util;                                                               
      15                 :     use \Midi\Delta;                                                                   
      16                 :     use \Midi\TrackHeader;                                                             
      17                 :     use \Midi\Event;                                                                   
      18                 :                                                                                        
      19                 :     /**                                                                                
      20                 :      * Represents a MIDI track                                                         
      21                 :      *                                                                                 
      22                 :      * @package    Midi                                                                
      23                 :      * @subpackage Emit                                                                
      24                 :      * @since      1.0                                                                 
      25                 :      */                                                                                
      26               1 :     class Track {                                                                      
      27                 :                                                                                        
      28                 :         /**                                                                            
      29                 :          * @var array                                                                  
      30                 :          */                                                                            
      31                 :         private $chunks;                                                               
      32                 :                                                                                        
      33                 :         /**                                                                            
      34                 :          * Constructor                                                                 
      35                 :          *                                                                             
      36                 :          * @since 1.0                                                                  
      37                 :          */                                                                            
      38                 :         public function __construct() {                                                
      39               6 :             $this->chunks = array();                                                   
      40               6 :         }                                                                              
      41                 :                                                                                        
      42                 :         /**                                                                            
      43                 :          * Appends an event to the track data                                          
      44                 :          *                                                                             
      45                 :          * @since 1.0                                                                  
      46                 :          *                                                                             
      47                 :          * @param  Event $event                                                        
      48                 :          * @param  Delta $delta The delta to wait before firing the event; if not given
      49                 :          *                      a delta of zero is assumed                             
      50                 :          * @return Track A reference to $this                                          
      51                 :          */                                                                            
      52                 :         public function appendEvent(Event $event, Delta $delta = null) {               
      53               2 :             if ($delta === null) {                                                     
      54               1 :                 $delta = new Delta(0);                                                 
      55               1 :             }                                                                          
      56                 :                                                                                        
      57               2 :             array_push($this->chunks, $delta, $event);                                 
      58               2 :             return $this;                                                              
      59                 :         }                                                                              
      60                 :                                                                                        
      61                 :         /**                                                                            
      62                 :          * Gets the track data                                                         
      63                 :          *                                                                             
      64                 :          * @since 1.0                                                                  
      65                 :          * @uses  Chunk::getLength()                                                   
      66                 :          * @uses  Chunk::toBinary()                                                    
      67                 :          * @uses  createTrackHeader()                                                  
      68                 :          * @uses  TrackHeader::toBinary()                                              
      69                 :          *                                                                             
      70                 :          * @return binary                                                              
      71                 :          */                                                                            
      72                 :         public function getData() {                                                    
      73               1 :             $data = '';                                                                
      74               1 :             $size = 0;                                                                 
      75               1 :             foreach ($this->chunks as $chunk) {                                        
      76               1 :                 $size += $chunk->getLength();                                          
      77               1 :                 $data .= $chunk->toBinary();                                           
      78               1 :             }                                                                          
      79                 :                                                                                        
      80               1 :             return $this->createTrackHeader($size)->toBinary() . $data;                
      81                 :         }                                                                              
      82                 :                                                                                        
      83                 :         /**                                                                            
      84                 :          * Creates a track header chunk                                                
      85                 :          *                                                                             
      86                 :          * @since 1.0                                                                  
      87                 :          *                                                                             
      88                 :          * @param  int $size The length of the track in bytes                          
      89                 :          * @return TrackHeader                                                         
      90                 :          */                                                                            
      91                 :         public function createTrackHeader($size) {                                     
      92               1 :             return new TrackHeader($size);                                             
      93                 :         }                                                                              
      94                 :                                                                                        
      95                 :     }                                                                                  
      96                 :                                                                                        

Generated by PHPUnit 3.4.1 and Xdebug 2.0.5 using PHP 5.3.0 at Sun Oct 25 23:35:09 PDT 2009.