Package org.landal.mvcsample.service

Source Code of org.landal.mvcsample.service.ProductManagerTest

package org.landal.mvcsample.service;

import java.util.ArrayList;
import java.util.List;

import org.landal.mvcsample.domain.Product;
import org.landal.mvcsample.service.impl.SimpleProductManager;

import junit.framework.TestCase;

public class ProductManagerTest extends TestCase {

  private SimpleProductManager productManager;
  private List<Product> products;
  private static int PRODUCT_COUNT = 2;
  private static Double CHAIR_PRICE = new Double(20.50);
  private static String CHAIR_DESCRIPTION = "Chair";
  private static String TABLE_DESCRIPTION = "Table";
  private static Double TABLE_PRICE = new Double(150.10);

  private static int POSITIVE_PRICE_INCREASE = 10;

  protected void setUp() throws Exception {
    productManager = new SimpleProductManager();
    products = new ArrayList<Product>();
    // stub up a list of products
    Product product = new Product();
    product.setDescription("Chair");
    product.setPrice(CHAIR_PRICE);
    products.add(product);
    product = new Product();
    product.setDescription("Table");
    product.setPrice(TABLE_PRICE);
    products.add(product);
    productManager.setProducts(products);
  }

  public void testGetProductsWithNoProducts() {
    productManager = new SimpleProductManager();
    assertNull(productManager.getProducts());
  }

  public void testGetProducts() {
    List<Product> products = productManager.getProducts();
    assertNotNull(products);
    assertEquals(PRODUCT_COUNT, productManager.getProducts().size());
    Product product = products.get(0);
    assertEquals(CHAIR_DESCRIPTION, product.getDescription());
    assertEquals(CHAIR_PRICE, product.getPrice());
    product = products.get(1);
    assertEquals(TABLE_DESCRIPTION, product.getDescription());
    assertEquals(TABLE_PRICE, product.getPrice());
  }

  public void testIncreasePriceWithNullListOfProducts() {
    try {
      productManager = new SimpleProductManager();
      productManager.increasePrice(POSITIVE_PRICE_INCREASE);
    } catch (NullPointerException ex) {
      fail("Products list is null.");
    }
  }

  public void testIncreasePriceWithEmptyListOfProducts() {
    try {
      productManager = new SimpleProductManager();
      productManager.setProducts(new ArrayList<Product>());
      productManager.increasePrice(POSITIVE_PRICE_INCREASE);
    } catch (Exception ex) {
      fail("Products list is empty.");
    }
  }

  public void testIncreasePriceWithPositivePercentage() {
    productManager.increasePrice(POSITIVE_PRICE_INCREASE);
    double expectedChairPriceWithIncrease = 22.55;
    double expectedTablePriceWithIncrease = 165.11;
    List<Product> products = productManager.getProducts();
    Product product = products.get(0);
    assertEquals(expectedChairPriceWithIncrease, product.getPrice());
    product = products.get(1);
    assertEquals(expectedTablePriceWithIncrease, product.getPrice());
  }

}
TOP

Related Classes of org.landal.mvcsample.service.ProductManagerTest

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.