Package org.internna.ossmoney.cache

Source Code of org.internna.ossmoney.cache.CacheStoreTest

package org.internna.ossmoney.cache;

import org.junit.Test;
import org.junit.Before;
import java.util.Map;
import java.util.Date;
import java.util.HashMap;
import java.util.Currency;
import java.math.BigDecimal;
import org.internna.ossmoney.model.Subcategory;
import org.internna.ossmoney.model.security.UserDetails;
import org.internna.ossmoney.model.support.IncomeExpense;
import org.internna.ossmoney.model.support.NameValuePair;

import static org.junit.Assert.*;

public class CacheStoreTest {

  private UserDetails user;
  private CacheStore cache;

  @Before
  public void init() {
    cache = new CacheStore();
    user = new UserDetails();
    user.setId(1L);
  }

  @Test
  public void testInvalidate() {
    testIncomeAndExpenses();
    cache.invalidate(user);
    assertNull("Data invalidated", cache.getIncomeAndExpenses(user, "intervals"));
  }

  @Test
  public void testIncomeAndExpenses() {
    assertNull("Data not stored", cache.getIncomeAndExpenses(user, "intervals"));
    Map<Currency, NameValuePair<BigDecimal, BigDecimal>> data = new HashMap<Currency, NameValuePair<BigDecimal, BigDecimal>>();
    cache.storeIncomeAndExpenses(user, "intervals", data);
    assertNotNull("Data stored", cache.getIncomeAndExpenses(user, "intervals"));
  }

  @Test
  public void testExpensesByCategory() {
    assertNull("Data not stored", cache.getExpensesByCategory(user, "intervals"));
    Map<Currency, Map<Subcategory, BigDecimal>> data = new HashMap<Currency, Map<Subcategory, BigDecimal>>();
    cache.storeExpensesByCategory(user, "intervals", data);
    assertNotNull("Data stored", cache.getExpensesByCategory(user, "intervals"));
  }

  @Test
  public void testNetWorthOverTime() {
    assertNull("Data not stored", cache.getNetWorthOverTime(user, 11));
    Map<Currency, Map<Date, IncomeExpense>> data = new HashMap<Currency, Map<Date, IncomeExpense>>();
    cache.storeNetWorthOverTime(user, 11, data);
    assertNotNull("Data stored", cache.getNetWorthOverTime(user, 11));
  }

  @Test
  public void testIncomeVsExpensesOverTime() {
    assertNull("Data not stored", cache.getIncomeVsExpensesOverTime(user, 11));
    Map<Currency, Map<Date, IncomeExpense>> data = new HashMap<Currency, Map<Date, IncomeExpense>>();
    cache.storeIncomeVsExpensesOverTime(user, 11, data);
    assertNotNull("Data stored", cache.getIncomeVsExpensesOverTime(user, 11));
  }

  @Test
  public void testCategoryData() {
    Subcategory category = new Subcategory();
    category.setId(1L);
    String intervals = "LAST_QUARTER";
    assertNull("Data not stored", cache.getCategoryData(user, category, intervals));
    cache.storeCategoryData(user, category, intervals, new HashMap<String, Map<Date, NameValuePair<Date, BigDecimal>>>());
    assertNotNull("Data stored", cache.getCategoryData(user, category, intervals));
  }

  @Test
  public void testMaxCategoryData() {
    Subcategory category = new Subcategory();
    category.setId(1L);
    String intervals = "LAST_QUARTER";
    assertNull("Data not stored", cache.getMaxCategoryData(user, category, intervals));
    cache.storeMaxCategoryData(user, category, intervals, new HashMap<String, BigDecimal>());
    assertNotNull("Data stored", cache.getMaxCategoryData(user, category, intervals));
  }

}
TOP

Related Classes of org.internna.ossmoney.cache.CacheStoreTest

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.