Package javax.datagrid.transientdatagrid

Source Code of javax.datagrid.transientdatagrid.TransientDataGridTest

package javax.datagrid.transientdatagrid;

import org.testng.annotations.Test;

import javax.datagrid.DataGrid;
import javax.datagrid.mapreduce.Mapper;
import javax.datagrid.mapreduce.Reducer;
import java.util.Collection;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;

public class TransientDataGridTest {
  @Test
  public void instantiateDataGrid() {
    DataGrid dataGrid = new TransientDataGrid();
    assertNotNull(dataGrid);
  }

  @Test
  public void testReadWrite() {
    DataGrid dataGrid = new TransientDataGrid();
    String result = dataGrid.write("key", "value");
    assertEquals(result, "value");
    result = dataGrid.read("key");
    assertEquals(result, "value");
    result = dataGrid.take("key");
    assertEquals(result, "value");
    result = dataGrid.read("key");
    assertNull(result);
    result = dataGrid.read("newKey");
    assertNull(result);
  }

  @Test
  public void testExpirations() {
    DataGrid dataGrid = new TransientDataGrid();
    String result = dataGrid.write("key", "value", 100);
    assertEquals("value", result);
    result = dataGrid.read("key");
    assertEquals(result, "value");
    sleep(110);
    result = dataGrid.read("key");
    assertNull(result);

    result = dataGrid.write("key", "value", 100);
    assertEquals(result, "value");
    result = dataGrid.read("key");
    assertEquals(result, "value");
    sleep(110);
    result = dataGrid.take("key");
    assertNull(result);
  }

  @Test(expectedExceptions = ClassCastException.class)
  public void testCastingProblems() {
    DataGrid dataGrid = new TransientDataGrid();
    String result = dataGrid.write("key", "value");
    Integer r=dataGrid.read("key");
  }

  @Test
  public void testMapReduce() {
    DataGrid dataGrid = new TransientDataGrid();
    Integer result = dataGrid.map(new Mapper<Integer>() {
      @Override
      public Integer execute() {
        return 1;
      }
    },
                                 new Reducer<Integer>() {
                                   @Override
                                   public Integer reduce(Collection<Integer> mappedResults) {
                                     int sum = 0;
                                     for (Integer i : mappedResults) {
                                       sum += i;
                                     }
                                     return sum;
                                   }
                                 }
    );
    assertEquals(result.intValue(), 1);
  }

  private void sleep(long time) {
    try {
      Thread.sleep(time);
    } catch (InterruptedException ignored) {
    }
  }
}
TOP

Related Classes of javax.datagrid.transientdatagrid.TransientDataGridTest

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.