Package com.ebay.erl.mobius.core.function

Source Code of com.ebay.erl.mobius.core.function.ConcateTest

package com.ebay.erl.mobius.core.function;

import static org.junit.Assert.assertEquals;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import com.ebay.erl.mobius.core.MobiusTestJob;
import com.ebay.erl.mobius.core.builder.Dataset;
import com.ebay.erl.mobius.core.model.Array;
import com.ebay.erl.mobius.core.model.Column;
import com.ebay.erl.mobius.core.model.ResultWrapper;
import com.ebay.erl.mobius.core.model.Tuple;

public class ConcateTest extends MobiusTestJob
{
  private static final long serialVersionUID = 9178101309265095838L;

  @Test
  public void test()
    throws IOException
  {
    Dataset ds = this.createDummyDataset("test", new String[]{"ID"});
   
    Concate func = new Concate(new Column(ds, "ID"), ",");
   
    List<Tuple> tuples    = new ArrayList<Tuple>();
    StringBuffer trueAnswer = new StringBuffer();
    final int max = 50;
    for( int i=0;i<max;i++)
    {
      Tuple t = new Tuple();
      t.put("ID", i);
      tuples.add(t);
     
      trueAnswer.append(i);
      if( i<max-1)
      {
        trueAnswer.append(",");
      }
    }
   
    func.reset();
    for( Tuple t:tuples )
    {
      func.consume(t);
    }
   
    String computedResult = func.getComputedResult().toString();
    assertEquals(trueAnswer.toString(), computedResult);
  }
 
 
  @SuppressWarnings("unchecked")
  @Test
  public void test2()
    throws IOException
  {
    // test values that has wrapped results.
    List<Tuple> tuples = new ArrayList<Tuple>();
   
    Array a1 = new Array();
    a1.add(1);
    a1.add(2);
    a1.add(3);   
    Tuple t1 = new Tuple();
    t1.put("C1", new ResultWrapper(a1));   
    tuples.add(t1);
   
    Tuple t2 = new Tuple();
    t2.put("C1", 4);
    tuples.add(t2);
   
    Array a2 = new Array();
    a2.add(5);   
    Tuple t3 = new Tuple();
    t3.put("C1", a2);
    tuples.add(t3);
   
   
    Dataset ds = this.createDummyDataset("test", new String[]{"C1"});
    Concate func = new Concate(new Column(ds, "C1"));
    func.reset();
    for( Tuple t:tuples )
    {
      func.consume(t);
    }
   
    String expectedResult = "1;2;3;4;5";
    String actualResult = func.getComputedResult().toString();
   
    assertEquals(expectedResult, actualResult);
  }
}
TOP

Related Classes of com.ebay.erl.mobius.core.function.ConcateTest

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.