/** * @covers ::match * * @uses \CommerceGuys\Zone\Model\ZoneMemberZone::setZone */ public function testMatch() { $address = $this->getMockBuilder('CommerceGuys\\Addressing\\Address')->disableOriginalConstructor()->getMock(); $matchingZone = $this->getMockBuilder('CommerceGuys\\Zone\\Model\\Zone')->disableOriginalConstructor()->getMock(); $matchingZone->expects($this->any())->method('match')->with($address)->will($this->returnValue(true)); $nonMatchingZone = $this->getMockBuilder('CommerceGuys\\Zone\\Model\\Zone')->disableOriginalConstructor()->getMock(); $nonMatchingZone->expects($this->any())->method('match')->with($address)->will($this->returnValue(false)); $this->zoneMember->setZone($matchingZone); $this->assertEquals(true, $this->zoneMember->match($address)); $this->zoneMember->setZone($nonMatchingZone); $this->assertEquals(false, $this->zoneMember->match($address)); }
/** * Creates a ZoneMemberZone instance from the provided definition. * * @param array $definition The zone member definition. * * @return ZoneMemberZone */ protected function createZoneMemberZoneFromDefinition(array $definition) { $zone = $this->get($definition['zone']); $zoneMember = new ZoneMemberZone(); $zoneMember->setZone($zone); $setValues = \Closure::bind(function ($definition) { $this->id = $definition['id']; }, $zoneMember, '\\CommerceGuys\\Zone\\Model\\ZoneMemberZone'); $setValues($definition); return $zoneMember; }