/** * @covers CollectionType\Map\MapAbstract::containsKeyAll * @covers CollectionType\Map\MapAbstract::__construct * @covers CollectionType\Common\KeyTypeTrait::validateKeyType * @covers CollectionType\Common\ValueTypeTrait::validateValueType * @covers CollectionType\Common\Util\UtilTrait::diffArrays */ public function testContainsKeyAllWhenMapContainsKeyAllWithDifferentValuesElements() { $otherMap = new MapAbstractFake($this->dummyKeyType->reveal(), $this->dummyValueType->reveal()); $key1 = '1'; $valueA = 'A'; $valueB = 'B'; $this->dummyKeyType->isValid($key1)->willReturn(true); $this->dummyValueType->isValid($valueA)->willReturn(true); $this->dummyValueType->isValid($valueB)->willReturn(true); $this->map->put($key1, $valueA); $otherMap->put($key1, $valueB); $key2 = '2'; $value2 = '2'; $this->dummyKeyType->isValid($key2)->willReturn(true); $this->dummyValueType->isValid($value2)->willReturn(true); $this->map->put($key2, $value2); $otherMap->put($key2, $value2); $key3 = '3'; $value3 = '3'; $this->dummyKeyType->isValid($key3)->willReturn(true); $this->dummyValueType->isValid($value3)->willReturn(true); $this->map->put($key3, $value3); $otherMap->put($key3, $value3); $result = $this->map->containsKeyAll($otherMap); $this->assertTrue($result); }