예제 #1
0
파일: Parser.php 프로젝트: jk/dslanalytics
 /**
  * @param string $filepath
  * @return array
  */
 public function convertToArray($filepath)
 {
     $reader = Reader::createFromPath($filepath);
     $reader->setDelimiter(',');
     $date = $reader->setOffset(5)->fetchColumn(0);
     $mbps = $reader->setOffset(5)->fetchColumn(5);
     $date = array_slice($date, 0, count($mbps));
     $data_unprocessed = array_combine($date, $mbps);
     $data = [];
     foreach ($data_unprocessed as $thisDate => $thisMbps) {
         $datetime = new \DateTime($thisDate);
         $index1 = Helper::hashToFirstIndex($datetime);
         $index2 = Helper::hashToSecondIndex($datetime);
         $time = Helper::indexToTime($index2);
         //            $data[$index1][$index2] = ['mbps' => floatval($thisMbps), 'time' => $time_str];
         $data[$index1][$index2] = floatval($thisMbps);
     }
     return $data;
 }
예제 #2
0
 /**
  * @dataProvider secondIndexProvider
  */
 public function testIndexToSecondIndex($timestamp, $expectedIndex)
 {
     $datetime = new \DateTime($timestamp);
     $result = Helper::hashToSecondIndex($datetime);
     $this->assertSame($expectedIndex, $result, "Helper::hashToSecondIndex('{$timestamp}') should be {$expectedIndex}.");
 }