/** * @param array $inputEntityData * @param array $expectedErrors * @dataProvider validateDataProvider */ public function testIsValid(array $inputEntityData, array $expectedErrors) { $entity = new \Magento\Framework\DataObject($inputEntityData); $isValid = $this->_model->isValid($entity); $this->assertFalse($isValid, 'Validation is expected to fail.'); $actualMessages = $this->_model->getMessages(); $this->assertCount(count($expectedErrors), $actualMessages, 'Number of messages does not meet expectations.'); foreach ($expectedErrors as $errorIndex => $expectedErrorMessage) { /** @var $actualMessage \Magento\Framework\Message\AbstractMessage */ $actualMessage = $actualMessages[$errorIndex]; $this->assertEquals($expectedErrorMessage, $actualMessage); } }