/**
  * @param array $arguments
  * @param mixed $expectation
  * @dataProvider unserializableFieldsDataProvider
  */
 public function testUnserializeFields(array $arguments, $expectation)
 {
     /** @var DataObject $dataObject */
     list($dataObject, $field, $defaultValue) = $arguments;
     $abstractResource = new AbstractResourceStub();
     $abstractResource->_unserializeField($dataObject, $field, $defaultValue);
     static::assertEquals($expectation, $dataObject->getDataByKey($field));
 }
 public function testCommitNotCompletedTransaction()
 {
     /** @var AdapterInterface|\PHPUnit_Framework_MockObject_MockObject $connection */
     $connection = $this->getMock(AdapterInterface::class);
     /** @var DataObject|\PHPUnit_Framework_MockObject_MockObject $closureExpectation */
     $closureExpectation = $this->getMockBuilder(DataObject::class)->disableOriginalConstructor()->getMock();
     $abstractResource = new AbstractResourceStub();
     $abstractResource->setConnection($connection);
     $abstractResource->addCommitCallback(function () use($closureExpectation) {
         $closureExpectation->setData(1);
     });
     $connection->expects(static::once())->method('commit');
     $connection->expects(static::once())->method('getTransactionLevel')->willReturn(1);
     $closureExpectation->expects(static::never())->method('setData')->with(1);
     $abstractResource->commit();
 }