original_string: public function sameValueAs(ValueObjectInterface $date)
      {
          if (false === Util::classEquals($this, $date)) {
              return false;
          }
  
          return $this->getYear()->sameValueAs($date->getYear()) &&
                 $this->getMonth()->sameValueAs($date->getMonth()) &&
                 $this->getDay()->sameValueAs($date->getDay());
      }
code: public function sameValueAs(ValueObjectInterface $date)
      {
          if (false === Util::classEquals($this, $date)) {
              return false;
          }
  
          return $this->getYear()->sameValueAs($date->getYear()) &&
                 $this->getMonth()->sameValueAs($date->getMonth()) &&
                 $this->getDay()->sameValueAs($date->getDay());
      }
code_tokens: public function sameValueAs ( ValueObjectInterface $ date ) { if ( false === Util :: classEquals ( $ this , $ date ) ) { return false ; } return $ this -> getYear ( ) -> sameValueAs ( $ date -> getYear ( ) ) && $ this -> getMonth ( ) -> sameValueAs ( $ date -> getMonth ( ) ) && $ this -> getDay ( ) -> sameValueAs ( $ date -> getDay ( ) ) ; }
docstring: Tells whether two Date are equal by comparing their values
  
  @param  ValueObjectInterface $date
  @return bool
docstring_tokens: Tells whether two Date are equal by comparing their values