/**
  * @return Strategy
  */
 public function getStrategy()
 {
     if ($this->strategy instanceof Strategy) {
         return $this->strategy;
     }
     $strategyClass = __NAMESPACE__ . '\\' . $this->mapping[$this->user->getType()];
     $this->strategy = new $strategyClass();
     $this->strategy->setUser($this->user);
     return $this->strategy;
 }
 /**
  * @test
  */
 public function testUser()
 {
     $user = new User(self::TEST_ID, User::TYPE_DIAMANTE);
     $this->assertEquals(self::TEST_ID, $user->getId());
     $this->assertEquals(User::TYPE_DIAMANTE, $user->getType());
     $this->assertEquals(User::TYPE_DIAMANTE . User::DELIMITER . self::TEST_ID, (string) $user);
 }
 /**
  * @return string
  */
 public function getAuthorType()
 {
     return $this->author->getType();
 }