This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 20fed99  [IOTDB-1035] Add test for ReadChunkMetadataInDevice (#2157)
20fed99 is described below

commit 20fed99e276e10db5fc9333fcddfb09825087c80
Author: Zesong Sun <[email protected]>
AuthorDate: Thu Dec 3 21:03:36 2020 +0800

    [IOTDB-1035] Add test for ReadChunkMetadataInDevice (#2157)
---
 .../tsfile/read/TsFileSequenceReaderTest.java      | 41 +++++++++++++---------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git 
a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileSequenceReaderTest.java
 
b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileSequenceReaderTest.java
index f8c80ec..768d7ea 100644
--- 
a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileSequenceReaderTest.java
+++ 
b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileSequenceReaderTest.java
@@ -96,22 +96,6 @@ public class TsFileSequenceReaderTest {
           MetaMarker.handleUnexpectedMarker(marker);
       }
     }
-    /*
-     *
-     * for (Entry<String, TsDeviceMetadataIndex> entry:
-     * metaData.getDeviceMap().entrySet()) { int chunkGroupIndex = 0;
-     * TsDeviceMetadata deviceMetadata =
-     * reader.readTsDeviceMetaData(entry.getValue()); List<ChunkGroupMetaData>
-     * chunkGroupMetaDataList = deviceMetadata.getChunkGroupMetaDataList();
-     * List<Pair<Long, Long>> offsets =
-     * deviceChunkGroupMetadataOffsets.get(entry.getKey()); for 
(ChunkGroupMetaData
-     * chunkGroupMetaData : chunkGroupMetaDataList) { Pair<Long, Long> pair =
-     * offsets.get(chunkGroupIndex++);
-     * Assert.assertEquals(chunkGroupMetaData.getStartOffsetOfChunkGroup(), 
(long)
-     * pair.left);
-     * Assert.assertEquals(chunkGroupMetaData.getEndOffsetOfChunkGroup(), 
(long)
-     * pair.right); } }
-     */
     reader.close();
   }
 
@@ -145,4 +129,29 @@ public class TsFileSequenceReaderTest {
 
     reader.close();
   }
+
+  @Test
+  public void testReadChunkMetadataInDevice() throws IOException {
+    TsFileSequenceReader reader = new TsFileSequenceReader(FILE_PATH);
+
+    // test for exist device "d2"
+    Map<String, List<ChunkMetadata>> chunkMetadataMap = reader
+        .readChunkMetadataInDevice("d2");
+    int[] res = new int[]{20, 75, 100, 13};
+
+    Assert.assertEquals(4, chunkMetadataMap.size());
+    for (int i = 0; i < chunkMetadataMap.size(); i++) {
+      int id = i + 1;
+      List<ChunkMetadata> metadataList = chunkMetadataMap.get("s" + id);
+      int numOfPoints = 0;
+      for (ChunkMetadata metadata : metadataList) {
+        numOfPoints += metadata.getNumOfPoints();
+      }
+      Assert.assertEquals(res[i], numOfPoints);
+    }
+
+    // test for non-exist device "d3"
+    Assert.assertTrue(reader.readChunkMetadataInDevice("d3").isEmpty());
+    reader.close();
+  }
 }

Reply via email to