diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-12-27 23:40:23 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-12-27 23:40:23 -0800 |
| commit | 9123d799b86a26345d33187463f6d6ed78564fdb (patch) | |
| tree | 5d5699337a470be024bfd60f66166792b1123d4b /other/java/client/src/test | |
| parent | 319ab6d98ff6f2d17ebda87fc4cfe65bf02667ef (diff) | |
| download | seaweedfs-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.java | 63 |
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"); + + + } + +} |
