/*
* Copyright LGPL3
* YES Technology Association
* http://yestech.org
*
* http://www.opensource.org/licenses/lgpl-3.0.html
*/
package org.yestech.lib.util;
import org.junit.Before;
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
import static com.google.common.collect.Lists.newArrayList;
import java.util.ArrayList;
/**
*
*
*/
public class ConsistentHashUnitTest {
ConsistentHash<String> nodes;
@Before
public void setUp() {
nodes = new ConsistentHash<String>(HashAlgorithm.KETAMA_HASH, 2);
}
@Test
public void testAdd() {
String node1 = "node-A";
nodes.add(node1);
int totalNodes = nodes.getTotalNodes();
assertEquals(2, totalNodes);
}
@Test
public void testRemove() {
String node1 = "node-A";
nodes.add(node1);
String node2 = "node-B";
nodes.add(node2);
int totalNodes = nodes.getTotalNodes();
assertEquals(4, totalNodes);
nodes.remove(node1);
totalNodes = nodes.getTotalNodes();
assertEquals(2, totalNodes);
}
@Test
public void testGet() {
String node1 = "node-C";
nodes.add(node1);
String node2 = "node-D";
nodes.add(node2);
int totalNodes = nodes.getTotalNodes();
assertEquals(4, totalNodes);
String node = nodes.get("abcd");
assertEquals(node1, node);
node = nodes.get(node2);
assertEquals(node2, node);
}
}