Package batch.internal

Source Code of batch.internal.RewardBatchImplTests

package batch.internal;

import java.io.ByteArrayInputStream;

import junit.framework.TestCase;

import org.springframework.core.io.InputStreamResource;

import rewards.AccountContribution;
import rewards.Dining;
import rewards.RewardConfirmation;
import rewards.internal.RewardNetworkImpl;
import rewards.internal.StubAccountRepository;
import rewards.internal.StubRestaurantRepository;
import rewards.internal.StubRewardRepository;

public class RewardBatchImplTests extends TestCase {

  private RewardBatchImpl batch = new RewardBatchImpl();

  private int confirmations = 0;

  @Override
  protected void setUp() throws Exception {
    super.setUp();
    batch.setRewardNetwork(new RewardNetworkImpl(new StubAccountRepository(), new StubRestaurantRepository(),
        new StubRewardRepository() {
          @Override
          public RewardConfirmation confirmReward(AccountContribution contribution, Dining dining) {
            confirmations++;
            return super.confirmReward(contribution, dining);
          }
        }));
  }

  public void testNoRecords() throws Exception {
    int count = batch.processResource(new InputStreamResource(new ByteArrayInputStream("".getBytes())));
    assertEquals(0, count);
    assertEquals(confirmations, 0);
  }

  public void testSunnyDay() throws Exception {
    int count = batch.processResource(new InputStreamResource(new ByteArrayInputStream(
        ("100,1234123412341234,1234567890,2007/02/12\n" + "200,1234123412341234,1234567890,2007/02/26\n")
            .getBytes())));
    assertEquals(2, count);
    assertEquals(confirmations, 2);
  }
}
TOP

Related Classes of batch.internal.RewardBatchImplTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.