Repository: kylin
Updated Branches:
  refs/heads/master 18d4a5ecf -> 4662adab7


minor, revise InMemCubeBuilderTest to cover both SSB and orignal kylin test cube


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4662adab
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4662adab
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4662adab

Branch: refs/heads/master
Commit: 4662adab73fb87591400afa11b6741198d9fa7e4
Parents: 18d4a5e
Author: Li Yang <liy...@apache.org>
Authored: Fri Mar 11 13:48:09 2016 +0800
Committer: Li Yang <liy...@apache.org>
Committed: Fri Mar 11 13:49:22 2016 +0800

----------------------------------------------------------------------
 .../cube/inmemcubing/InMemCubeBuilderTest.java  | 64 +++++++++++++-------
 1 file changed, 41 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/4662adab/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java
 
b/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java
index 76674d3..d96de4f 100644
--- 
a/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java
+++ 
b/core-cube/src/test/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilderTest.java
@@ -46,8 +46,8 @@ import org.apache.kylin.gridtable.GTRecord;
 import org.apache.kylin.metadata.model.FunctionDesc;
 import org.apache.kylin.metadata.model.MeasureDesc;
 import org.apache.kylin.metadata.model.TblColRef;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -61,36 +61,54 @@ public class InMemCubeBuilderTest extends 
LocalFileMetadataTestCase {
 
     private static final Logger logger = 
LoggerFactory.getLogger(InMemCubeBuilderTest.class);
 
-    private static final int INPUT_ROWS = 1000;
-    private static final int THREADS = 1;
+    private CubeInstance cube;
+    private String flatTable;
+    private Map<TblColRef, Dictionary<String>> dictionaryMap;
 
-    private static CubeInstance cube;
-    private static String flatTable;
-    private static Map<TblColRef, Dictionary<String>> dictionaryMap;
+    private int nInpRows;
+    private int nThreads;
 
-    @BeforeClass
-    public static void before() throws IOException {
-        staticCreateTestMetadata();
+    @Before
+    public void before() throws IOException {
+        createTestMetadata();
+    }
+
+    @After
+    public void after() throws Exception {
+        cleanupTestMetadata();
+    }
+
+    @Test
+    public void testKylinCube() throws Exception {
+        testBuild("test_kylin_cube_without_slr_left_join_empty", //
+                
"../examples/test_case_data/localmeta/data/flatten_data_for_without_slr_left_join.csv",
 70000, 4);
+    }
 
+    @Test
+    public void testSSBCube() throws Exception {
+        testBuild("ssb", //
+                
"../examples/test_case_data/localmeta/data/kylin_intermediate_ssb_19920101000000_19920201000000.csv",
 1000, 1);
+    }
+
+    public void testBuild(String cubeName, String flatTable, int nInpRows, int 
nThreads) throws Exception {
         KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv();
         CubeManager cubeManager = CubeManager.getInstance(kylinConfig);
 
-        cube = cubeManager.getCube("ssb");
-        flatTable = 
"../examples/test_case_data/localmeta/data/kylin_intermediate_ssb_19920101000000_19920201000000.csv";
-        dictionaryMap = getDictionaryMap(cube, flatTable);
-    }
+        this.nInpRows = nInpRows;
+        this.nThreads = nThreads;
+
+        this.cube = cubeManager.getCube(cubeName);
+        this.flatTable = flatTable;
+        this.dictionaryMap = getDictionaryMap(cube, flatTable);
 
-    @AfterClass
-    public static void after() throws Exception {
-        staticCleanupTestMetadata();
+        testBuildInner();
     }
 
-    @Test
-    public void test() throws Exception {
+    private void testBuildInner() throws Exception {
 
         InMemCubeBuilder cubeBuilder = new 
InMemCubeBuilder(cube.getDescriptor(), dictionaryMap);
         //DoggedCubeBuilder cubeBuilder = new 
DoggedCubeBuilder(cube.getDescriptor(), dictionaryMap);
-        cubeBuilder.setConcurrentThreads(THREADS);
+        cubeBuilder.setConcurrentThreads(nThreads);
 
         ArrayBlockingQueue<List<String>> queue = new 
ArrayBlockingQueue<List<String>>(1000);
         ExecutorService executorService = Executors.newSingleThreadExecutor();
@@ -99,7 +117,7 @@ public class InMemCubeBuilderTest extends 
LocalFileMetadataTestCase {
             // round 1
             {
                 Future<?> future = 
executorService.submit(cubeBuilder.buildAsRunnable(queue, new 
ConsoleGTRecordWriter()));
-                feedData(cube, flatTable, queue, INPUT_ROWS);
+                feedData(cube, flatTable, queue, nInpRows);
                 future.get();
             }
 
@@ -113,7 +131,7 @@ public class InMemCubeBuilderTest extends 
LocalFileMetadataTestCase {
             // round 3
             {
                 Future<?> future = 
executorService.submit(cubeBuilder.buildAsRunnable(queue, new 
ConsoleGTRecordWriter()));
-                feedData(cube, flatTable, queue, INPUT_ROWS);
+                feedData(cube, flatTable, queue, nInpRows);
                 future.get();
             }
 
@@ -213,7 +231,7 @@ public class InMemCubeBuilderTest extends 
LocalFileMetadataTestCase {
         List<String> lines = FileUtils.readLines(new File(flatTable), "UTF-8");
         for (String line : lines) {
             String[] row = line.trim().split(",");
-            if ( row.length != nColumns) {
+            if (row.length != nColumns) {
                 throw new IllegalStateException();
             }
             if (row[c] != null) {

Reply via email to