index.php
Current file: /home/rob/github/tests/index.php
Legend: executed not executed dead code

  Coverage
  Classes Functions / Methods Lines
Total
100.00%  
100.00%   CRAP
100.00% 30 / 30
factorial($number)
100.00% 1 / 1 0
100.00% 2 / 2
selectionSort($array, $i = 0)
100.00% 1 / 1 0
100.00% 11 / 11
validate($str)
100.00% 1 / 1 0
100.00% 17 / 17


       1                 : <?php                                                                       
       2                 :                                                                             
       3                 : /**                                                                         
       4                 :  * @file                                                                    
       5                 :  * A random suite of problem solving.                                       
       6                 :  */                                                                         
       7                 :                                                                             
       8                 : /**                                                                         
       9                 :  * Retrieve the factorial value of the given number.                        
      10                 :  */                                                                         
      11               1 : function factorial($number) {                                               
      12               5 :     return $number <= 1 ? $number : $number * factorial($number - 1);       
      13                 : }                                                                           
      14                 :                                                                             
      15                 : /**                                                                         
      16                 :  * A selection sort function.                                               
      17                 :  */                                                                         
      18               1 : function selectionSort($array, $i = 0) {                                    
      19               3 :     if ($i >= sizeof($array)) {                                             
      20               3 :         return $array;                                                      
      21                 :     }                                                                       
      22               3 :     foreach ($array as $index => $value) {                                  
      23               3 :         if ($array[$i] < $array[$index]) {                                  
      24               3 :             $old = $array[$index];                                          
      25               3 :             $array[$index] = $array[$i];                                    
      26               3 :             $array[$i] = $old;                                              
      27               3 :         }                                                                   
      28               3 :     }                                                                       
      29               3 :     return selectionSort($array, $i + 1);                                   
      30                 : }                                                                           
      31                 :                                                                             
      32                 : /**                                                                         
      33                 :  * Check whether the given string has valid open/close brackets.            
      34                 :  */                                                                         
      35               1 : function validate($str) {                                                   
      36                 :     $brackets = array(                                                      
      37               6 :         '(' => ')',                                                         
      38               6 :         '[' => ']',                                                         
      39               6 :         '<' => '>',                                                         
      40               6 :         '{' => '}',                                                         
      41               6 :     );                                                                      
      42               6 :     $stack = array();                                                       
      43               6 :     for ($i = 0; $i < strlen($str); $i++) {                                 
      44               6 :         $bracket = $str[$i];                                                
      45                 :         // Check if it's an open bracket.                                   
      46               6 :         if (isset($brackets[$bracket])) {                                   
      47               6 :             $stack[] = $bracket;                                            
      48               6 :         }                                                                   
      49                 :         else {                                                              
      50                 :             // It's a close bracket, so pop the last off the stack, and make
      51                 :             // sure it matches the open one at the end of the stack.        
      52               6 :             $open = array_pop($stack);                                      
      53               6 :             if ($brackets[$open] != $bracket) {                             
      54               2 :                 return false;                                               
      55                 :             }                                                               
      56                 :         }                                                                   
      57               6 :     }                                                                       
      58                 :                                                                             
      59                 :     // At the end, the stack should be empty.                               
      60               4 :     return empty($stack) ? true : false;                                    
      61                 : }                                                                           

Generated by PHP_CodeCoverage 1.1.2 using PHP 5.4.9-4ubuntu2 and PHPUnit 3.6.10 at Mon May 13 20:03:33 WIT 2013.