@Test
    public void testGetAllTransactionRecordsWithCriteria() {
        CardPaymentRequest paymentRequest = getCreditCardPaymentRequest(
				getRandomOrderId("TEST_QUERY"), "12.34");
        paymentRequest.getCard().setName("Sideshow Bob");
        
        try {
            PaymentResponse payment = beanstream.payments().makePayment(paymentRequest);
            Assert.assertNotNull("Payment was null, cannot proceed with test", payment);
            Assert.assertNotNull("Payment had no ID, cannot proceed with test", payment.id);
            Calendar cal = Calendar.getInstance();
            cal.add(Calendar.DAY_OF_MONTH, -1);
            Date startDate = cal.getTime(); // yesterday
            Date endDate = new Date(); // today
            Criteria[] searchFilter = new Criteria[]{
                new Criteria(QueryFields.CardOwner, Operators.StartWith, "Sideshow")
            };
            List<TransactionRecord> results = beanstream.reports().query(startDate, endDate, 1, 100, searchFilter);
            Assert.assertNotNull(results);
            Assert.assertFalse("The transaction list should not be empty.", results.isEmpty());
            boolean foundIt = false;
            for (TransactionRecord t : results) {
                if (t.getCardOwner().contains("Sideshow Bob") )
                    foundIt = true;
            }
            Assert.assertTrue("Did not find our transaction record in the query!", foundIt);
            
        } catch (BeanstreamApiException ex) {
            Logger.getLogger(ReportsAPITest.class.getName()).log(Level.SEVERE, "Error accessing Beanstream API", ex);
            Assert.assertTrue("Unexpected Exception", false);
        }
    }