// Path: src/main/java/co/omise/models/Bank.java
// public class Bank {
//     private String code;
//     private String name;
//     private boolean active;
// 
//     public String getCode() {
//         return this.code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public boolean isActive() {
//         return this.active;
//     }
// 
//     public void setActive(boolean active) {
//         this.active = active;
//     }
// }
// 
// Path: src/main/java/co/omise/models/Capability.java
// public class Capability extends Model {
//     private List<String> banks;
//     private String country;
//     private String location;
//     @JsonProperty("payment_methods")
//     private List<PaymentMethod> paymentMethods;
//     @JsonProperty("zero_interest_installments")
//     private boolean zeroInterestInstallments;
// 
//     public List<String> getBanks() {
//         return this.banks;
//     }
// 
//     public void setBanks(List<String> banks) {
//         this.banks = banks;
//     }
// 
//     public String getCountry() {
//         return this.country;
//     }
// 
//     public void setCountry(String country) {
//         this.country = country;
//     }
// 
//     public String getLocation() {
//         return this.location;
//     }
// 
//     public void setLocation(String location) {
//         this.location = location;
//     }
// 
//     public List<PaymentMethod> getPaymentMethods() {
//         return this.paymentMethods;
//     }
// 
//     public void setPaymentMethods(List<PaymentMethod> paymentMethods) {
//         this.paymentMethods = paymentMethods;
//     }
// 
//     public boolean isZeroInterestInstallments() {
//         return this.zeroInterestInstallments;
//     }
// 
//     public void setZeroInterestInstallments(boolean zeroInterestInstallments) {
//         this.zeroInterestInstallments = zeroInterestInstallments;
//     }
// 
//     public static class GetRequestBuilder extends RequestBuilder<Capability> {
// 
//         @Override
//         protected String method() {
//             return GET;
//         }
// 
//         @Override
//         protected HttpUrl path() {
//             return buildUrl(Endpoint.API, "capability");
//         }
// 
//         @Override
//         protected ResponseType<Capability> type() {
//             return new ResponseType<>(Capability.class);
//         }
//     }
// }
// 
// Path: src/main/java/co/omise/models/OmiseException.java
// public class OmiseException extends Exception implements OmiseObject {
//     private String object;
//     private String location;
//     private String code;
//     private int httpStatusCode;
//     private String message;
// 
//     @Override
//     public String getObject() {
//         return object;
//     }
// 
//     @Override
//     public void setObject(String object) {
//         this.object = object;
//     }
// 
//     @Override
//     public String getLocation() {
//         return location;
//     }
// 
//     @Override
//     public void setLocation(String location) {
//         this.location = location;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public int getHttpStatusCode() {
//         return httpStatusCode;
//     }
// 
//     public void setHttpStatusCode(int httpStatusCode) {
//         this.httpStatusCode = httpStatusCode;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public void setMessage(String message) {
//         this.message = message;
//     }
// 
//     @Override
//     public String toString() {
//         return "(" + Integer.toString(httpStatusCode) + "/" + code + ") " + message;
//     }
// }
// 
// Path: src/main/java/co/omise/models/PaymentMethod.java
// public class PaymentMethod extends Model {
//     @JsonProperty("card_brands")
//     private List<String> cardBrands;
//     private List<String> currencies;
//     @JsonProperty("installment_terms")
//     private List<Integer> installmentTerms;
//     private String name;
//     private List<Bank> banks;
// 
//     public List<String> getCardBrands() {
//         return this.cardBrands;
//     }
// 
//     public void setCardBrands(List<String> cardBrands) {
//         this.cardBrands = cardBrands;
//     }
// 
//     public List<String> getCurrencies() {
//         return this.currencies;
//     }
// 
//     public void setCurrencies(List<String> currencies) {
//         this.currencies = currencies;
//     }
// 
//     public List<Integer> getInstallmentTerms() {
//         return this.installmentTerms;
//     }
// 
//     public void setInstallmentTerms(List<Integer> installmentTerms) {
//         this.installmentTerms = installmentTerms;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public List<Bank> getBanks() {
//         return this.banks;
//     }
// 
//     public void setBanks(List<Bank> banks) {
//         this.banks = banks;
//     }
// }


import co.omise.models.Bank;
import co.omise.models.Capability;
import co.omise.models.OmiseException;
import co.omise.models.PaymentMethod;
import org.junit.Test;
import java.io.IOException;
import java.util.List;
package co.omise.requests;



public class CapabilityRequestTest extends RequestTest {

    @Test
    public void testGet() throws IOException, OmiseException {
        Requester requester = getTestRequester();
        Request<Capability> request = new Capability.GetRequestBuilder().build();
// Path: src/main/java/co/omise/models/Bank.java
// public class Bank {
//     private String code;
//     private String name;
//     private boolean active;
// 
//     public String getCode() {
//         return this.code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public boolean isActive() {
//         return this.active;
//     }
// 
//     public void setActive(boolean active) {
//         this.active = active;
//     }
// }
// 
// Path: src/main/java/co/omise/models/Capability.java
// public class Capability extends Model {
//     private List<String> banks;
//     private String country;
//     private String location;
//     @JsonProperty("payment_methods")
//     private List<PaymentMethod> paymentMethods;
//     @JsonProperty("zero_interest_installments")
//     private boolean zeroInterestInstallments;
// 
//     public List<String> getBanks() {
//         return this.banks;
//     }
// 
//     public void setBanks(List<String> banks) {
//         this.banks = banks;
//     }
// 
//     public String getCountry() {
//         return this.country;
//     }
// 
//     public void setCountry(String country) {
//         this.country = country;
//     }
// 
//     public String getLocation() {
//         return this.location;
//     }
// 
//     public void setLocation(String location) {
//         this.location = location;
//     }
// 
//     public List<PaymentMethod> getPaymentMethods() {
//         return this.paymentMethods;
//     }
// 
//     public void setPaymentMethods(List<PaymentMethod> paymentMethods) {
//         this.paymentMethods = paymentMethods;
//     }
// 
//     public boolean isZeroInterestInstallments() {
//         return this.zeroInterestInstallments;
//     }
// 
//     public void setZeroInterestInstallments(boolean zeroInterestInstallments) {
//         this.zeroInterestInstallments = zeroInterestInstallments;
//     }
// 
//     public static class GetRequestBuilder extends RequestBuilder<Capability> {
// 
//         @Override
//         protected String method() {
//             return GET;
//         }
// 
//         @Override
//         protected HttpUrl path() {
//             return buildUrl(Endpoint.API, "capability");
//         }
// 
//         @Override
//         protected ResponseType<Capability> type() {
//             return new ResponseType<>(Capability.class);
//         }
//     }
// }
// 
// Path: src/main/java/co/omise/models/OmiseException.java
// public class OmiseException extends Exception implements OmiseObject {
//     private String object;
//     private String location;
//     private String code;
//     private int httpStatusCode;
//     private String message;
// 
//     @Override
//     public String getObject() {
//         return object;
//     }
// 
//     @Override
//     public void setObject(String object) {
//         this.object = object;
//     }
// 
//     @Override
//     public String getLocation() {
//         return location;
//     }
// 
//     @Override
//     public void setLocation(String location) {
//         this.location = location;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     public int getHttpStatusCode() {
//         return httpStatusCode;
//     }
// 
//     public void setHttpStatusCode(int httpStatusCode) {
//         this.httpStatusCode = httpStatusCode;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public void setMessage(String message) {
//         this.message = message;
//     }
// 
//     @Override
//     public String toString() {
//         return "(" + Integer.toString(httpStatusCode) + "/" + code + ") " + message;
//     }
// }
// 
// Path: src/main/java/co/omise/models/PaymentMethod.java
// public class PaymentMethod extends Model {
//     @JsonProperty("card_brands")
//     private List<String> cardBrands;
//     private List<String> currencies;
//     @JsonProperty("installment_terms")
//     private List<Integer> installmentTerms;
//     private String name;
//     private List<Bank> banks;
// 
//     public List<String> getCardBrands() {
//         return this.cardBrands;
//     }
// 
//     public void setCardBrands(List<String> cardBrands) {
//         this.cardBrands = cardBrands;
//     }
// 
//     public List<String> getCurrencies() {
//         return this.currencies;
//     }
// 
//     public void setCurrencies(List<String> currencies) {
//         this.currencies = currencies;
//     }
// 
//     public List<Integer> getInstallmentTerms() {
//         return this.installmentTerms;
//     }
// 
//     public void setInstallmentTerms(List<Integer> installmentTerms) {
//         this.installmentTerms = installmentTerms;
//     }
// 
//     public String getName() {
//         return this.name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public List<Bank> getBanks() {
//         return this.banks;
//     }
// 
//     public void setBanks(List<Bank> banks) {
//         this.banks = banks;
//     }
// }


// Path: src/test/java/co/omise/requests/CapabilityRequestTest.java
import co.omise.models.Bank;
import co.omise.models.Capability;
import co.omise.models.OmiseException;
import co.omise.models.PaymentMethod;
import org.junit.Test;
import java.io.IOException;
import java.util.List;

package co.omise.requests;



public class CapabilityRequestTest extends RequestTest {

    @Test
    public void testGet() throws IOException, OmiseException {
        Requester requester = getTestRequester();
        Request<Capability> request = new Capability.GetRequestBuilder().build();
        Capability capability = requester.sendRequest(request);