Package rewards.internal

Source Code of rewards.internal.StubRestaurantRepository

package rewards.internal;

import java.util.HashMap;
import java.util.Map;

import org.springframework.dao.EmptyResultDataAccessException;

import rewards.internal.restaurant.Restaurant;
import rewards.internal.restaurant.RestaurantRepository;

import common.money.Percentage;

/**
* A dummy restaurant repository implementation. Has a single restaurant "Apple Bees" with a 8% benefit availability
* percentage that's always available.
*
* Stubs facilitate unit testing. An object needing a RestaurantRepository can work with this stub and not have to bring
* in expensive and/or complex dependencies such as a Database. Simple unit tests can then verify object behavior by
* considering the state of this stub.
*/
public class StubRestaurantRepository implements RestaurantRepository {

  private Map<String, Restaurant> restaurantsByMerchantNumber = new HashMap<String, Restaurant>();

  public StubRestaurantRepository() {
    Restaurant restaurant = new Restaurant("1234567890", "Apple Bees");
    restaurant.setBenefitPercentage(Percentage.valueOf("8%"));
    restaurantsByMerchantNumber.put(restaurant.getNumber(), restaurant);
  }

  public Restaurant findByMerchantNumber(String merchantNumber) {
    Restaurant restaurant = (Restaurant) restaurantsByMerchantNumber.get(merchantNumber);
    if (restaurant == null) {
      throw new EmptyResultDataAccessException(1);
    }
    return restaurant;
  }
}
TOP

Related Classes of rewards.internal.StubRestaurantRepository

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.