/**
  * @param Vampire $vampire
  */
 public function addVampire(Vampire $vampire)
 {
     $position = FilePosition::createPosition($vampire->getFile(), $vampire->getLine());
     $logDate = strtotime($vampire->getInvocationDate());
     if (!isset($this->vampires[$position]) || $logDate > $this->maxDatePerPosition[$position]) {
         $this->vampires[$position] = $vampire;
         $this->maxDatePerPosition[$position] = $logDate;
     }
 }
 /**
  * @param string $file
  * @param int $line
  * @return Tombstone
  */
 public function getInFileAndLine($file, $line)
 {
     $pos = FilePosition::createPosition($file, $line);
     if (isset($this->fileLineIndex[$pos])) {
         return $this->fileLineIndex[$pos];
     }
     $pos = FilePosition::createPosition($file, $line);
     if (isset($this->relativeFileLineIndex[$pos])) {
         return $this->relativeFileLineIndex[$pos];
     }
     return null;
 }
 /**
  * @test
  */
 public function createPosition_fileAndLineGiven_returnString()
 {
     $returnValue = FilePosition::createPosition('file.php', 12);
     $this->assertEquals('file.php:12', $returnValue);
 }