public function testShouldSkip() { $this->propertyMetadata->setExpose(true); $this->assertFalse($this->propertySkipper->shouldSkip($this->propertyMetadata)); $skipExclusionGroupSpecification = new GroupsSpecification(array('test1')); $this->propertySkipper->registerSpecification($skipExclusionGroupSpecification); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); $nonSkipExclusionGroupSpecification = new GroupsSpecification(array('test')); $this->propertySkipper->registerSpecification($nonSkipExclusionGroupSpecification); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); $this->propertySkipper->cleanUpSpecifications(); $this->propertySkipper->registerSpecification($nonSkipExclusionGroupSpecification); $this->assertFalse($this->propertySkipper->shouldSkip($this->propertyMetadata)); $skipExclusionVersionSpecification = new VersionSpecification('5.5'); $this->propertySkipper->registerSpecification($skipExclusionVersionSpecification); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); $nonSkipExclusionVersionSpecification = new VersionSpecification('5.1'); $this->propertySkipper->registerSpecification($nonSkipExclusionVersionSpecification); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); $this->propertySkipper->cleanUpSpecifications(); $this->propertySkipper->registerSpecification($nonSkipExclusionGroupSpecification); $this->assertFalse($this->propertySkipper->shouldSkip($this->propertyMetadata)); $this->propertySkipper->registerSpecification($skipExclusionGroupSpecification); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); $this->propertySkipper->cleanUpSpecifications(); $this->assertFalse($this->propertySkipper->shouldSkip($this->propertyMetadata)); $this->propertyMetadata->setExpose(false); $this->assertTrue($this->propertySkipper->shouldSkip($this->propertyMetadata)); }
/** * {@inheritDoc} * * @param Specification $exclusionSpecification */ public function addExclusionSpecification(Specification $exclusionSpecification) { $this->propertySkipper->registerSpecification($exclusionSpecification); }