public function testFailedOffSitePurchase()
 {
     $payment = $this->payment->setGateway('PaymentExpress_PxPay');
     $service = new PurchaseService($payment);
     $this->setMockHttpResponse('PaymentExpress/Mock/PxPayPurchaseFailure.txt');
     //add success mock response from file
     $response = $service->purchase();
     $this->assertFalse($response->isSuccessful());
     //payment has not been captured
     $this->assertFalse($response->isRedirect());
     //redirect won't occur, because of failure
     $this->assertSame("Created", $payment->Status);
     //check messaging
     $this->assertDOSContains(array(array('ClassName' => 'PurchaseRequest'), array('ClassName' => 'PurchaseError')), $payment->Messages());
     //TODO: fail in various ways
     $this->markTestIncomplete();
 }