protected function getRebuiltObjectBy(BuildPlan $plan)
 {
     $serializedPlan = $this->haringo->serializeBuildPlan($plan);
     $this->assertTrue(is_string($serializedPlan));
     $deserializedPlan = $this->haringo->deserializeBuildPlan($serializedPlan);
     $builtObject = $this->haringo->buildObjectBasedOn($deserializedPlan);
     return $builtObject;
 }
 public function testMapping()
 {
     $this->container->set("value_from_the_container", 123);
     $plan = $this->getBuildPlanOfObjectUsing("value_from_the_container");
     $serializedPlan = $this->haringo->serializeBuildPlan($plan);
     $unserializedPlan = $this->haringo->deserializeBuildPlan($serializedPlan);
     $builtObject = $this->haringo->buildObjectBasedOn($unserializedPlan);
     $this->assertEquals(123, $builtObject->val);
 }