Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function addPlaceMarking(PlaceMarkingInterface $marking)
 {
     foreach ($this->placeMarkings as $placeMarking) {
         $place = $placeMarking->getPlace();
         if ($place === $marking->getPlace() || null !== $place->getId() && $place->getId() === $marking->getPlace()->getId()) {
             throw new \InvalidArgumentException('Cannot add two markings for the same place.');
         }
     }
     $this->placeMarkings->add($marking);
 }
 function it_throws_an_exception_when_adding_a_duplicated_place_marking(PlaceInterface $placeOne, PlaceInterface $placeTwo, PlaceMarkingInterface $markingOne, PlaceMarkingInterface $markingTwo)
 {
     $placeOne->getId()->willReturn(5);
     $placeTwo->getId()->willReturn(5);
     $markingOne->getPlace()->willReturn($placeOne);
     $markingTwo->getPlace()->willReturn($placeTwo);
     $this->addPlaceMarking($markingOne);
     $this->shouldThrow(new \InvalidArgumentException('Cannot add two markings for the same place.'))->duringAddPlaceMarking($markingTwo);
 }