diff --git a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/test/JobRunStepByStepTest.java b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/test/JobRunStepByStepTest.java
index 0ee2253..3a8746c 100644
--- a/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/test/JobRunStepByStepTest.java
+++ b/genomix/genomix-hyracks/src/test/java/edu/uci/ics/genomix/hyracks/test/JobRunStepByStepTest.java
@@ -60,6 +60,7 @@
     private static final String EXPECTED_KMER_TO_READID = EXPECTED_DIR + "result_after_kmer2readId";
     private static final String EXPECTED_GROUPBYREADID = EXPECTED_DIR + "result_after_readIDAggreage";
     private static final String EXPECTED_OUPUT_NODE = EXPECTED_DIR + "result_after_generateNode";
+    private static final String EXPECTED_UNMERGED = EXPECTED_DIR + "result_unmerged";
 
     private static final String DUMPED_RESULT = ACTUAL_RESULT_DIR + HDFS_OUTPUT_PATH + "/merged.txt";
     private static final String CONVERT_RESULT = DUMPED_RESULT + ".txt";
@@ -79,6 +80,15 @@
         TestMapKmerToRead();
         TestGroupByReadID();
         TestEndToEnd();
+        TestUnMergedNode();
+    }
+
+    public void TestUnMergedNode() throws Exception {
+        conf.set(GenomixJobConf.OUTPUT_FORMAT, GenomixJobConf.OUTPUT_FORMAT_BINARY);
+        cleanUpReEntry();
+        conf.set(GenomixJobConf.GROUPBY_TYPE, GenomixJobConf.GROUPBY_TYPE_PRECLUSTER);
+        driver.runJob(new GenomixJobConf(conf), Plan.BUILD_UNMERGED_GRAPH, true);
+        Assert.assertEquals(true, checkResults(EXPECTED_UNMERGED, new int[] { 1, 2, 3, 4 }));
     }
 
     public void TestReader() throws Exception {
diff --git a/genomix/genomix-hyracks/src/test/resources/expected/result_unmerged b/genomix/genomix-hyracks/src/test/resources/expected/result_unmerged
new file mode 100644
index 0000000..f617779
--- /dev/null
+++ b/genomix/genomix-hyracks/src/test/resources/expected/result_unmerged
@@ -0,0 +1,24 @@
+((1,1)	[(1,2)]	[]	[]	[]	AATAG)
+((1,2)	[(1,3)]	[]	[]	[(1,1)]	ATAGA)
+((1,3)	[(6,1),(1,4)]	[]	[]	[(1,2)]	TAGAA)
+((1,4)	[(6,2)]	[]	[]	[(1,3)]	AGAAG)
+((2,1)	[(2,2)]	[]	[]	[]	AATAG)
+((2,2)	[(2,3)]	[]	[]	[(2,1)]	ATAGC)
+((2,3)	[(2,4)]	[]	[]	[(2,2)]	TAGCT)
+((2,4)	[]	[]	[]	[(2,3)]	AGCTT)
+((3,1)	[(3,2)]	[]	[]	[]	AATAG)
+((3,2)	[(3,3)]	[]	[]	[(3,1)]	ATAGA)
+((3,3)	[(6,1),(3,4)]	[]	[]	[(3,2)]	TAGAA)
+((3,4)	[(6,2)]	[]	[]	[(3,3)]	AGAAG)
+((4,1)	[(4,2)]	[]	[]	[]	AATAG)
+((4,2)	[(4,3)]	[]	[]	[(4,1)]	ATAGC)
+((4,3)	[(4,4)]	[]	[]	[(4,2)]	TAGCT)
+((4,4)	[]	[]	[]	[(4,3)]	AGCTT)
+((5,1)	[(5,2)]	[]	[]	[]	AATAG)
+((5,2)	[(5,3)]	[]	[]	[(5,1)]	ATAGA)
+((5,3)	[(6,1),(5,4)]	[]	[]	[(5,2)]	TAGAA)
+((5,4)	[(6,2)]	[]	[]	[(5,3)]	AGAAG)
+((6,1)	[(6,2)]	[]	[]	[(1,3),(3,3),(5,3)]	AGAAG)
+((6,2)	[(6,3)]	[]	[]	[(3,4),(1,4),(5,4),(6,1)]	GAAGA)
+((6,3)	[(6,4)]	[]	[]	[(6,2)]	AAGAA)
+((6,4)	[]	[]	[]	[(6,3)]	AGAAG)
