function testCreateSuccess()
 {
     $data = array("amount" => 10.5, "currency" => "bhd", "card" => array("number" => "4242424242424242", "exp_month" => 11, "exp_year" => 2014, "cvc" => "123"), "description" => "Charge for test@example.com");
     $result = White_Charge::create($data);
     $expected = array("tag" => "ch_3c513b0dfdc110b11b4091e2cbf6dc23", "livemode" => true, "amount" => "0.1", "is_captured" => true, "currency" => "bhd", "is_paid" => null, "is_refunded" => null, "description" => null, "failure_code" => null, "failure_message" => null, "created_at" => "2014-08-14T16:20:53.451+03:00");
     $this->assertEquals(array_keys($expected), array_keys($result));
     $this->assertNull($result['failure_code']);
 }
 function testInvalidMonth()
 {
     $data = array("amount" => 10.5, "currency" => "bhd", "card" => array("number" => "4242424242424242", "exp_month" => 15, "exp_year" => 2015, "cvc" => "123"), "description" => "Charge for test@example.com");
     try {
         $result = White_Charge::create($data);
     } catch (White_Error_Card $e) {
         $this->assertEquals('invalid_expiry_month', $e->getErrorCode());
     }
 }
 /**
  * @expectedException White_Error_Api
  */
 function testApiException()
 {
     White::setApiKey('sk_test_1234567890abcdefghijklmnopq');
     $data = array("amount" => 10.5, "currency" => "bhd", "card" => array("number" => "3566002020360505", "exp_month" => 12, "exp_year" => 2014, "cvc" => "123"), "description" => "Charge for test@example.com");
     White_Charge::create($data);
 }