DefaultFileRegionTest Class — netty Architecture
Architecture documentation for the DefaultFileRegionTest class in DefaultFileRegionTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 4827225f_a470_f31a_244d_0b1a22a04604["DefaultFileRegionTest"] c78ca0ea_e008_0d35_00b3_74d2bf10d463["DefaultFileRegionTest.java"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|defined in| c78ca0ea_e008_0d35_00b3_74d2bf10d463 550437b4_63fb_5a72_ab7f_40643b28a703["File()"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|method| 550437b4_63fb_5a72_ab7f_40643b28a703 c89c7a55_3cbd_94bf_17d0_ba91c46a6afd["testCreateFromFile()"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|method| c89c7a55_3cbd_94bf_17d0_ba91c46a6afd 32ee1b60_be8c_8e93_0f1a_6662d535f46f["testCreateFromFileChannel()"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|method| 32ee1b60_be8c_8e93_0f1a_6662d535f46f ccbd6323_a2cd_2443_66c0_80c4b6f1c5f0["testFileRegion()"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|method| ccbd6323_a2cd_2443_66c0_80c4b6f1c5f0 ce1dd54c_9c7d_fa01_70f2_0f17e92b8064["testTruncated()"] 4827225f_a470_f31a_244d_0b1a22a04604 -->|method| ce1dd54c_9c7d_fa01_70f2_0f17e92b8064
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/DefaultFileRegionTest.java lines 34–112
public class DefaultFileRegionTest {
private static final byte[] data = new byte[1048576 * 10];
static {
ThreadLocalRandom.current().nextBytes(data);
}
private static File newFile() throws IOException {
File file = PlatformDependent.createTempFile("netty-", ".tmp", null);
file.deleteOnExit();
final FileOutputStream out = new FileOutputStream(file);
out.write(data);
out.close();
return file;
}
@Test
public void testCreateFromFile() throws IOException {
File file = newFile();
try {
testFileRegion(new DefaultFileRegion(file, 0, data.length));
} finally {
file.delete();
}
}
@Test
public void testCreateFromFileChannel() throws IOException {
File file = newFile();
try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r")) {
testFileRegion(new DefaultFileRegion(randomAccessFile.getChannel(), 0, data.length));
} finally {
file.delete();
}
}
private static void testFileRegion(FileRegion region) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try (WritableByteChannel channel = Channels.newChannel(outputStream)) {
assertEquals(data.length, region.count());
assertEquals(0, region.transferred());
assertEquals(data.length, region.transferTo(channel, 0));
assertEquals(data.length, region.count());
assertEquals(data.length, region.transferred());
assertArrayEquals(data, outputStream.toByteArray());
}
}
@Test
public void testTruncated() throws IOException {
File file = newFile();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try (WritableByteChannel channel = Channels.newChannel(outputStream);
RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw")) {
FileRegion region = new DefaultFileRegion(randomAccessFile.getChannel(), 0, data.length);
randomAccessFile.getChannel().truncate(data.length - 1024);
assertEquals(data.length, region.count());
assertEquals(0, region.transferred());
assertEquals(data.length - 1024, region.transferTo(channel, 0));
assertEquals(data.length, region.count());
assertEquals(data.length - 1024, region.transferred());
try {
region.transferTo(channel, data.length - 1024);
fail();
} catch (IOException expected) {
// expected
}
} finally {
file.delete();
}
}
}
Source
Frequently Asked Questions
What is the DefaultFileRegionTest class?
DefaultFileRegionTest is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultFileRegionTest.java.
Where is DefaultFileRegionTest defined?
DefaultFileRegionTest is defined in transport/src/test/java/io/netty/channel/DefaultFileRegionTest.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free