CrossedItemRemoverTest.java :  » UnTagged » weektodo » com » weektodo » db » Android Open Source

Android Open Source » UnTagged » weektodo 
weektodo » com » weektodo » db » CrossedItemRemoverTest.java
package com.weektodo.db;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;

import junit.framework.TestCase;


public class CrossedItemRemoverTest extends TestCase {
  private CrossedItemRemover crossedItemRemover; 
  
  @Override
  protected void setUp() throws Exception {
    super.setUp();
    crossedItemRemover = new CrossedItemRemover(null, null, null);
  }

  @SuppressWarnings("unchecked")
  public void testBuildEmptyChainMap(){
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(Collections.EMPTY_LIST);
    assertTrue(res.isEmpty());
  }
  
  public void testBuildSingleItemChainMap(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 2, 1);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(1, res.size());
    assertChainItem(res, 2, 2, 1);
  }
  
  public void testBuildTwoItemChainMap(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 2, 1);
    addChainItem(chainItems, 3, 2);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(1, res.size());
    assertChainItem(res, 3, 2, 1);
  }

  public void testBuildTwoItemChainMapReverse(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 3, 2);
    addChainItem(chainItems, 2, 1);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(1, res.size());
    assertChainItem(res, 3, 2, 1);
  }
  
  public void testBuildTwoItemChainMapTwoPartitions(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 2, 1);
    addChainItem(chainItems, 4, 3);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(2, res.size());
    assertChainItem(res, 2, 2, 1);
    assertChainItem(res, 4, 4, 3);
  }

  public void testBuildThreeItemChainMap(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 2, 1);
    addChainItem(chainItems, 3, 2);
    addChainItem(chainItems, 4, 3);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(1, res.size());
    assertChainItem(res, 4, 2, 1);
  }
  
  public void testBuildThreeItemChainMapTwoPartitions(){
    List<ChainItem> chainItems = new ArrayList<ChainItem>();
    addChainItem(chainItems, 2, 1);
    addChainItem(chainItems, 5, 4);
    addChainItem(chainItems, 3, 2);
    Map<Long, ChainItem> res = crossedItemRemover.buildChainMap(chainItems);
    assertEquals(2, res.size());
    assertChainItem(res, 3, 2, 1);
    assertChainItem(res, 5, 5, 4);
  }
  
  private void addChainItem(List<ChainItem> chainItems, long dbId, long prevId){
    DefaultChainItem chainItem = new DefaultChainItem();
    chainItem.setDbId(dbId);
    chainItem.setPrevId(prevId);
    chainItems.add(chainItem);
  }
  private void assertChainItem(Map<Long, ChainItem> chainItemMap, long key, long dbId, long prevId){
    ChainItem chainItem = chainItemMap.get(key);
    assertEquals((Long)dbId, chainItem.getDbId());
    assertEquals((Long)prevId, chainItem.getPrevId());
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.