/** * @covers CollectionType\Map\MapAbstract::containsAll * @covers CollectionType\Map\MapAbstract::__construct * @covers CollectionType\Common\KeyTypeTrait::validateKeyType * @covers CollectionType\Common\ValueTypeTrait::validateValueType * @covers CollectionType\Common\Util\UtilTrait::diffArrays */ public function testContainsAllWhenMapContainsAllElements() { $otherMap = new MapAbstractFake($this->dummyKeyType->reveal(), $this->dummyValueType->reveal()); $key1 = new \stdClass(); $key1->param = 'key'; $value1 = new \stdClass(); $value1->param = 'value'; $this->dummyKeyType->isValid($key1)->willReturn(true); $this->dummyValueType->isValid($value1)->willReturn(true); $this->map->put($key1, $value1); $otherMap->put($key1, $value1); $key2 = new \stdClass(); $key2->param = 'key'; $value2 = new \stdClass(); $value2->param = 'value'; $this->dummyKeyType->isValid($key2)->willReturn(true); $this->dummyValueType->isValid($value2)->willReturn(true); $this->map->put($key2, $value2); $otherMap->put($key2, $value2); $key3 = new \stdClass(); $key3->param = 'key'; $value3 = new \stdClass(); $value3->param = 'value'; $this->dummyKeyType->isValid($key3)->willReturn(true); $this->dummyValueType->isValid($value3)->willReturn(true); $this->map->put($key3, $value3); $otherMap->put($key3, $value3); $result = $this->map->containsAll($otherMap); $this->assertTrue($result); }