/**
  * Test serialize/deserialize method.
  */
 public function testSerializeDeserialize()
 {
     $this->given($serializer = new DefaultSerializer())->when($data = $serializer->serialize(10.32))->then()->float($serializer->deserialize($data))->isEqualTo(10.32)->and()->when($data = $serializer->serialize('test'))->then()->string($serializer->deserialize($data))->isEqualTo('test')->and()->when($data = $serializer->serialize(array('foo' => 'bar')))->then()->array($serializer->deserialize($data))->isEqualTo(array('foo' => 'bar'));
     $this->given($serializer = new DefaultSerializer())->and($address = new Address('Avinguda Vilares, 5, Montgar', '08390', 'Barcelona'))->and($person = new Person('Ivannis Suarez Jerez', $address))->and($person1 = new Person('Carla Fernandez Couso', $address))->when($data = $serializer->serialize($person))->then()->boolean($person->equals($serializer->deserialize($data)))->isTrue()->boolean($person1->equals($serializer->deserialize($data)))->isFalse()->exception(function () use($serializer, $address) {
         $serializer->serialize($address);
     })->isInstanceOf(\InvalidArgumentException::class);
 }
Beispiel #2
0
 /**
  * @param Person $other
  *
  * @return bool
  */
 public function equals(Person $other)
 {
     return $this->address() == $other->address() && $this->name() == $other->name();
 }