aboutsummaryrefslogtreecommitdiff
path: root/other/java/client/src/test
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-12-27 23:40:23 -0800
committerChris Lu <chris.lu@gmail.com>2018-12-27 23:40:23 -0800
commit9123d799b86a26345d33187463f6d6ed78564fdb (patch)
tree5d5699337a470be024bfd60f66166792b1123d4b /other/java/client/src/test
parent319ab6d98ff6f2d17ebda87fc4cfe65bf02667ef (diff)
downloadseaweedfs-9123d799b86a26345d33187463f6d6ed78564fdb.tar.xz
seaweedfs-9123d799b86a26345d33187463f6d6ed78564fdb.zip
refactor
Diffstat (limited to 'other/java/client/src/test')
-rw-r--r--other/java/client/src/test/java/seaweedfs/client/SeaweedReadTest.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/other/java/client/src/test/java/seaweedfs/client/SeaweedReadTest.java b/other/java/client/src/test/java/seaweedfs/client/SeaweedReadTest.java
new file mode 100644
index 000000000..ccfcdb117
--- /dev/null
+++ b/other/java/client/src/test/java/seaweedfs/client/SeaweedReadTest.java
@@ -0,0 +1,63 @@
+package seaweedfs.client;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SeaweedReadTest {
+
+ @Test
+ public void testNonOverlappingVisibleIntervals() {
+ List<FilerProto.FileChunk> chunks = new ArrayList<>();
+ chunks.add(FilerProto.FileChunk.newBuilder()
+ .setFileId("aaa")
+ .setOffset(0)
+ .setSize(100)
+ .setMtime(1000)
+ .build());
+ chunks.add(FilerProto.FileChunk.newBuilder()
+ .setFileId("bbb")
+ .setOffset(100)
+ .setSize(133)
+ .setMtime(2000)
+ .build());
+
+ List<SeaweedRead.VisibleInterval> visibleIntervals = SeaweedRead.nonOverlappingVisibleIntervals(chunks);
+ for (SeaweedRead.VisibleInterval visibleInterval : visibleIntervals) {
+ System.out.println("visible:" + visibleInterval);
+ }
+
+ Assert.assertEquals(visibleIntervals.size(), 2);
+
+ SeaweedRead.VisibleInterval visibleInterval = visibleIntervals.get(0);
+ Assert.assertEquals(visibleInterval.start, 0);
+ Assert.assertEquals(visibleInterval.stop, 100);
+ Assert.assertEquals(visibleInterval.modifiedTime, 1000);
+ Assert.assertEquals(visibleInterval.fileId, "aaa");
+
+ visibleInterval = visibleIntervals.get(1);
+ Assert.assertEquals(visibleInterval.start, 100);
+ Assert.assertEquals(visibleInterval.stop, 233);
+ Assert.assertEquals(visibleInterval.modifiedTime, 2000);
+ Assert.assertEquals(visibleInterval.fileId, "bbb");
+
+ List<SeaweedRead.ChunkView> chunkViews = SeaweedRead.viewFromVisibles(visibleIntervals, 0, 233);
+
+ SeaweedRead.ChunkView chunkView = chunkViews.get(0);
+ Assert.assertEquals(chunkView.offset, 0);
+ Assert.assertEquals(chunkView.size, 100);
+ Assert.assertEquals(chunkView.logicOffset, 0);
+ Assert.assertEquals(chunkView.fileId, "aaa");
+
+ chunkView = chunkViews.get(1);
+ Assert.assertEquals(chunkView.offset, 0);
+ Assert.assertEquals(chunkView.size, 133);
+ Assert.assertEquals(chunkView.logicOffset, 100);
+ Assert.assertEquals(chunkView.fileId, "bbb");
+
+
+ }
+
+}