hasExtension = m::mock(HasExtension::class); $this->isHidden = m::mock(IsHidden::class); $this->fixture = new AndSpecification($this->hasExtension, $this->isHidden); } public function tearDown() : void { m::close(); } /** * @covers ::__construct * @covers ::isSatisfiedBy */ public function testIfSpecificationIsSatisfied() : void { $this->hasExtension->shouldReceive('isSatisfiedBy')->once()->andReturn(true); $this->isHidden->shouldReceive('isSatisfiedBy')->once()->andReturn(true); $this->assertTrue($this->fixture->isSatisfiedBy(['test'])); } /** * @covers ::__construct * @covers ::isSatisfiedBy */ public function testIfSpecificationIsNotSatisfied() : void { $this->hasExtension->shouldReceive('isSatisfiedBy')->once()->andReturn(true); $this->isHidden->shouldReceive('isSatisfiedBy')->once()->andReturn(false); $this->assertFalse($this->fixture->isSatisfiedBy(['test'])); } }