public function testSetters()
 {
     $request = new InvoiceCheckOrderStatusRequest($this->getHttpClient(), $this->getHttpRequest());
     $this->assertNull($request->getTestMode());
     $this->assertSame($request, $request->setTestMode(true));
     $this->assertTrue($request->getTestMode());
     $reservationNumber = uniqid();
     $this->assertNull($request->getReservationNumber());
     $this->assertSame($request, $request->setReservationNumber($reservationNumber));
     $this->assertSame($reservationNumber, $request->getReservationNumber());
     $this->assertSame($request, $request->setReservationNumber(null));
     $this->assertNull($request->getReservationNumber());
     $invoiceNumber = uniqid();
     $this->assertNull($request->getInvoiceNumber());
     $this->assertSame($request, $request->setInvoiceNumber($invoiceNumber));
     $this->assertSame($invoiceNumber, $request->getInvoiceNumber());
     $this->assertSame($request, $request->setInvoiceNumber(null));
     $this->assertNull($request->getInvoiceNumber());
     $orderId = uniqid();
     $this->assertNull($request->getOrderId());
     $this->assertSame($request, $request->setOrderId($orderId));
     $this->assertSame($orderId, $request->getOrderId());
     $this->assertSame($request, $request->setOrderId(null));
     $this->assertNull($request->getOrderId());
     $transactionId = uniqid();
     $this->assertNull($request->getTransactionId());
     $this->assertSame($request, $request->setTransactionId($transactionId));
     $this->assertSame($transactionId, $request->getTransactionId());
     $this->assertSame($request, $request->setTransactionId(null));
     $this->assertNull($request->getTransactionId());
     $this->assertNull($request->getCountry());
     $this->assertNull($request->getLanguage());
     $this->assertNull($request->getCurrency());
     $this->assertSame($request, $request->setLocale('de_at'));
     $this->assertSame('de', $request->getLanguage());
     $this->assertSame('AT', $request->getCountry());
     $this->assertSame('EUR', $request->getCurrency());
     $this->assertSame($request, $request->setCountry('SE'));
     $this->assertSame('SE', $request->getCountry());
     $this->assertSame($request, $request->setLanguage('sv'));
     $this->assertSame('sv', $request->getLanguage());
     $this->assertSame($request, $request->setCurrency('sek'));
     $this->assertSame('SEK', $request->getCurrency());
     $this->assertNull($request->getMerchantId());
     $this->assertSame($request, $request->setMerchantId($this->merchantId));
     $this->assertSame($this->merchantId, $request->getMerchantId());
     $this->assertSame($request, $request->setMerchantId(null));
     $this->assertNull($request->getMerchantId());
     $this->assertNull($request->getSharedSecret());
     $this->assertSame($request, $request->setSharedSecret($this->sharedSecret));
     $this->assertSame($this->sharedSecret, $request->getSharedSecret());
     $this->assertSame($request, $request->setSharedSecret(null));
     $this->assertNull($request->getSharedSecret());
 }
 /**
  * @expectedException \InvalidArgumentException
  * @expectedExceptionMessage One of reservationNumber, invoiceNumber, orderId or transactionId need to be provided
  */
 public function testExceptionForSendingIncompleteDataWithInvoiceCheckOrderStatusRequest()
 {
     if (empty($this->sharedSecret)) {
         $this->markTestSkipped('API credentials not provided, online test skipped.');
     }
     $request = new InvoiceCheckOrderStatusRequest($this->getHttpClient(), $this->getHttpRequest());
     $data = ['testMode' => true, 'merchantId' => $this->merchantId, 'sharedSecret' => $this->sharedSecret, 'country' => 'AT', 'language' => 'de', 'currency' => 'EUR'];
     $request->sendData($data);
 }