/**
  * @see RequestEntity::toArray()
  * @dataProvider providerTransactionMockData
  */
 public function testToArray($type, $paymentMethod, $paymentCountry, $ipAddress, $cookie, $userAgent, $expiration)
 {
     $transaction = $this->object->getTransaction();
     $transaction->setType($type)->setPaymentMethod($paymentMethod)->setPaymentCountry($paymentCountry)->setIpAddress($ipAddress)->setCookie($cookie)->setUserAgent($userAgent)->setExpiration($expiration);
     $this->object->setTransaction($transaction);
     $rs = $this->object->toArray();
     $this->assertInternalType('array', $rs);
     $this->assertEquals(1, count($rs));
     $this->assertArrayHasKey('transaction', $rs);
     $transaction = $rs['transaction'];
     $this->assertInternalType('array', $transaction);
     $this->assertEquals(11, count($transaction));
     $this->assertArrayHasKey('expiration', $transaction);
     $this->assertEquals($expiration, $transaction['expiration']);
     $this->assertArrayHasKey('type', $transaction);
     $this->assertEquals($type, $transaction['type']);
     $this->assertArrayHasKey('paymentMethod', $transaction);
     $this->assertEquals($paymentMethod, $transaction['paymentMethod']);
     $this->assertArrayHasKey('paymentCountry', $transaction);
     $this->assertEquals($paymentCountry, $transaction['paymentCountry']);
     $this->assertArrayHasKey('ipAddress', $transaction);
     $this->assertEquals($ipAddress, $transaction['ipAddress']);
     $this->assertArrayHasKey('cookie', $transaction);
     $this->assertEquals($cookie, $transaction['cookie']);
     $this->assertArrayHasKey('userAgent', $transaction);
     $this->assertEquals($userAgent, $transaction['userAgent']);
     $this->assertArrayHasKey('order', $transaction);
     $this->assertInternalType('array', $transaction['order']);
     $this->assertArrayHasKey('creditCard', $transaction);
     $this->assertInternalType('array', $transaction['creditCard']);
     $this->assertArrayHasKey('payer', $transaction);
     $this->assertInternalType('array', $transaction['payer']);
     $this->assertArrayHasKey('extraParameters', $transaction);
     $this->assertInternalType('array', $transaction['extraParameters']);
 }