public function setup()
 {
     $reconstitute = new ReconstituteUsingInstantiatorAndHydrator(new Instantiator(), new HydrateUsingReflection());
     // test run, for calibration
     $reconstitute->objectFrom(SerializableClassUsingTrait::class, []);
     $reconstitute->objectFrom(SomeOtherSerializableClassUsingTrait::class, []);
     Reconstitution::reconstituteUsing($reconstitute);
 }
 /**
  * @test
  */
 public function it_reconstitutes_a_serialized_object()
 {
     $reconstitute = new ReconstituteUsingInstantiatorAndHydrator(new Instantiator(), new HydrateUsingReflection());
     $className = 'BroadwaySerialization\\Test\\Serialization\\Fixtures\\TraditionalSerializableObject';
     $data = ['bar' => 'baz'];
     $object = $reconstitute->objectFrom($className, $data);
     $this->assertInstanceOf($className, $object);
     $this->assertSame($data['bar'], $object->getBar());
 }
 protected function classSetUp()
 {
     $this->traditionalSerializableClass = new TraditionalSerializableClass();
     $this->serializableClassUsingTrait = new SerializableClassUsingTrait();
     $reconstitute = new ReconstituteUsingInstantiatorAndHydrator(new Instantiator(), new HydrateUsingReflection());
     // test run, for calibration
     $reconstitute->objectFrom('BroadwaySerialization\\Test\\Performance\\SerializableClassUsingTrait', []);
     $reconstitute->objectFrom('\\BroadwaySerialization\\Test\\Performance\\SomeOtherSerializableClassUsingTrait', []);
     Reconstitution::reconstituteUsing($reconstitute);
 }