Home / Class/ DefaultFileRegionTest Class — netty Architecture

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();
        }
    }
}

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