// Path: src/main/java/com/cardinity/exceptions/ValidationException.java
// public class ValidationException extends CardinityException {
// 
//     private static final long serialVersionUID = -2152842451308691156L;
// 
//     public ValidationException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/com/cardinity/model/Void.java
// public class Void {
// 
//     private UUID id;
//     private Date created;
//     private Boolean live;
//     private UUID parentId;
//     private Status status;
//     private String error;
//     private String orderId;
//     private String description;
// 
//     public Void(String description) {
//         this.description = description;
//     }
// 
//     public Void() {
//     }
// 
//     public enum Status {
// 
//         @SerializedName("approved")
//         APPROVED("approved"),
//         @SerializedName("declined")
//         DECLINED("declined");
// 
//         private final String value;
// 
//         Status(final String value) {
//             this.value = value;
//         }
// 
//         public String getValue() {
//             return this.value;
//         }
// 
//     }
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public Date getCreated() {
//         return created;
//     }
// 
//     public Boolean getLive() {
//         return live;
//     }
// 
//     public UUID getParentId() {
//         return parentId;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public String getError() {
//         return error;
//     }
// 
//     public String getOrderId() {
//         return orderId;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// }
// 
// Path: src/main/java/com/cardinity/model/Payment.java
// public enum Status {
// 
//     @SerializedName("approved")
//     APPROVED("approved"),
//     @SerializedName("declined")
//     DECLINED("declined"),
//     @SerializedName("pending")
//     PENDING("pending");
// 
//     private final String value;
// 
//     Status(final String value) {
//         this.value = value;
//     }
// 
//     public String getValue() {
//         return this.value;
//     }
// 
// }


import com.cardinity.exceptions.ValidationException;
import com.cardinity.model.Void;
import com.cardinity.model.*;
import org.junit.BeforeClass;
import org.junit.Test;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.List;
import java.util.UUID;
import static com.cardinity.model.Payment.Status.*;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.*;
        assertNotNull(cardinityError.getType());
    }

    @Test
    public void testGetPaymentsListWithLimit() {
        Result<List<Payment>> result = client.getPayments(2);
        assertTrue(result.isValid());
        assertEquals(2, result.getItem().size());
    }

    @Test
    public void testGetPaymentsList() {
        Result<List<Payment>> result = client.getPayments();
        assertTrue(result.isValid());
        assertEquals(10, result.getItem().size());
    }

    @Test
    public void testCreateApprovedRefund() {
        Payment payment = getBaseCCPayment();
        payment.setOrderId(TEST_ORDER_ID);
        Result<Payment> result = client.createPayment(payment);
        assertTrue(result.isValid());
        Payment resultPayment = result.getItem();
        assertEquals(APPROVED, resultPayment.getStatus());
        Refund refund = new Refund();
        refund.setAmount(resultPayment.getAmount());
        refund.setDescription(TEST_REFUND_DESCRIPTION);
        Result<Refund> refundResult = client.createRefund(resultPayment.getId(), refund);
        assertTrue(refundResult.isValid());
// Path: src/main/java/com/cardinity/exceptions/ValidationException.java
// public class ValidationException extends CardinityException {
// 
//     private static final long serialVersionUID = -2152842451308691156L;
// 
//     public ValidationException(String message) {
//         super(message);
//     }
// }
// 
// Path: src/main/java/com/cardinity/model/Void.java
// public class Void {
// 
//     private UUID id;
//     private Date created;
//     private Boolean live;
//     private UUID parentId;
//     private Status status;
//     private String error;
//     private String orderId;
//     private String description;
// 
//     public Void(String description) {
//         this.description = description;
//     }
// 
//     public Void() {
//     }
// 
//     public enum Status {
// 
//         @SerializedName("approved")
//         APPROVED("approved"),
//         @SerializedName("declined")
//         DECLINED("declined");
// 
//         private final String value;
// 
//         Status(final String value) {
//             this.value = value;
//         }
// 
//         public String getValue() {
//             return this.value;
//         }
// 
//     }
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public Date getCreated() {
//         return created;
//     }
// 
//     public Boolean getLive() {
//         return live;
//     }
// 
//     public UUID getParentId() {
//         return parentId;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public String getError() {
//         return error;
//     }
// 
//     public String getOrderId() {
//         return orderId;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     public void setDescription(String description) {
//         this.description = description;
//     }
// }
// 
// Path: src/main/java/com/cardinity/model/Payment.java
// public enum Status {
// 
//     @SerializedName("approved")
//     APPROVED("approved"),
//     @SerializedName("declined")
//     DECLINED("declined"),
//     @SerializedName("pending")
//     PENDING("pending");
// 
//     private final String value;
// 
//     Status(final String value) {
//         this.value = value;
//     }
// 
//     public String getValue() {
//         return this.value;
//     }
// 
// }


// Path: src/test/java/com/cardinity/CardinityIntegrationTest.java
import com.cardinity.exceptions.ValidationException;
import com.cardinity.model.Void;
import com.cardinity.model.*;
import org.junit.BeforeClass;
import org.junit.Test;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.List;
import java.util.UUID;
import static com.cardinity.model.Payment.Status.*;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.*;

        assertNotNull(cardinityError.getType());
    }

    @Test
    public void testGetPaymentsListWithLimit() {
        Result<List<Payment>> result = client.getPayments(2);
        assertTrue(result.isValid());
        assertEquals(2, result.getItem().size());
    }

    @Test
    public void testGetPaymentsList() {
        Result<List<Payment>> result = client.getPayments();
        assertTrue(result.isValid());
        assertEquals(10, result.getItem().size());
    }

    @Test
    public void testCreateApprovedRefund() {
        Payment payment = getBaseCCPayment();
        payment.setOrderId(TEST_ORDER_ID);
        Result<Payment> result = client.createPayment(payment);
        assertTrue(result.isValid());
        Payment resultPayment = result.getItem();
        assertEquals(APPROVED, resultPayment.getStatus());
        Refund refund = new Refund();
        refund.setAmount(resultPayment.getAmount());
        refund.setDescription(TEST_REFUND_DESCRIPTION);
        Result<Refund> refundResult = client.createRefund(resultPayment.getId(), refund);
        assertTrue(refundResult.isValid());
        assertEquals(Refund.Status.APPROVED, refundResult.getItem().getStatus());