Home / Class/ AsciiStringCharacterTest Class — netty Architecture

AsciiStringCharacterTest Class — netty Architecture

Architecture documentation for the AsciiStringCharacterTest class in AsciiStringCharacterTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6["AsciiStringCharacterTest"]
  b55e91a7_9efe_3616_d275_e31ae692c62e["AsciiStringCharacterTest.java"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|defined in| b55e91a7_9efe_3616_d275_e31ae692c62e
  79743b24_8173_105d_55c0_8ffa53a82905["testContentEqualsIgnoreCase()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 79743b24_8173_105d_55c0_8ffa53a82905
  9ca841c3_4c09_44aa_7621_77be71707a33["testGetBytesStringBuilder()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 9ca841c3_4c09_44aa_7621_77be71707a33
  0ab2b573_4777_dc3c_93b4_af70b7981e51["testGetBytesString()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 0ab2b573_4777_dc3c_93b4_af70b7981e51
  19bee4e9_e634_1ee8_2da5_6bde08b0da4d["testGetBytesAsciiString()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 19bee4e9_e634_1ee8_2da5_6bde08b0da4d
  23f607fd_f877_e984_c9e2_1f6427e1399f["testComparisonWithString()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 23f607fd_f877_e984_c9e2_1f6427e1399f
  6f578aa9_e5e9_35bc_e31c_a9dc4cd7ab48["subSequenceTest()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 6f578aa9_e5e9_35bc_e31c_a9dc4cd7ab48
  4f6feaf6_26a8_a8da_1939_f3fbbf0fba60["testContains()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 4f6feaf6_26a8_a8da_1939_f3fbbf0fba60
  3c8f0ede_5287_e7cb_4468_b20841be4156["assertContains()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 3c8f0ede_5287_e7cb_4468_b20841be4156
  522956af_c5e8_3d87_701a_6af9508df6ff["testCaseSensitivity()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 522956af_c5e8_3d87_701a_6af9508df6ff
  c561b031_a097_b012_0e0d_91bcf032b2e7["doCaseSensitivity()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| c561b031_a097_b012_0e0d_91bcf032b2e7
  2a90e921_7202_e692_4a82_bdde14c613b1["caseInsensitiveHasherCharBuffer()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 2a90e921_7202_e692_4a82_bdde14c613b1
  48c7ef3a_8f16_36af_4a53_3165c481850e["testBooleanUtilityMethods()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 48c7ef3a_8f16_36af_4a53_3165c481850e
  0f7e74ae_115a_ea6e_8e30_8fddd3d1d788["testEqualsIgnoreCase()"]
  fd37c1f8_6129_8e57_ad6d_da01ffebceb6 -->|method| 0f7e74ae_115a_ea6e_8e30_8fddd3d1d788

Relationship Graph

Source Code

common/src/test/java/io/netty/util/AsciiStringCharacterTest.java lines 35–553

public class AsciiStringCharacterTest {
    private static final Random r = new Random();

    @Test
    public void testContentEqualsIgnoreCase() {
        byte[] bytes = { 32, 'a' };
        AsciiString asciiString = new AsciiString(bytes, 1, 1, false);
        // https://github.com/netty/netty/issues/9475
        assertFalse(asciiString.contentEqualsIgnoreCase("b"));
        assertFalse(asciiString.contentEqualsIgnoreCase(AsciiString.of("b")));
    }

    @Test
    public void testGetBytesStringBuilder() {
        final StringBuilder b = new StringBuilder();
        for (int i = 0; i < 1 << 16; ++i) {
            b.append("eéaà");
        }
        final String bString = b.toString();
        final Charset[] charsets = CharsetUtil.values();
        for (int i = 0; i < charsets.length; ++i) {
            final Charset charset = charsets[i];
            byte[] expected = bString.getBytes(charset);
            byte[] actual = new AsciiString(b, charset).toByteArray();
            assertArrayEquals(expected, actual, "failure for " + charset);
        }
    }

    @Test
    public void testGetBytesString() {
        final StringBuilder b = new StringBuilder();
        for (int i = 0; i < 1 << 16; ++i) {
            b.append("eéaà");
        }
        final String bString = b.toString();
        final Charset[] charsets = CharsetUtil.values();
        for (int i = 0; i < charsets.length; ++i) {
            final Charset charset = charsets[i];
            byte[] expected = bString.getBytes(charset);
            byte[] actual = new AsciiString(bString, charset).toByteArray();
            assertArrayEquals(expected, actual, "failure for " + charset);
        }
    }

    @Test
    public void testGetBytesAsciiString() {
        final StringBuilder b = new StringBuilder();
        for (int i = 0; i < 1 << 16; ++i) {
            b.append("eéaà");
        }
        final String bString = b.toString();
        // The AsciiString class actually limits the Charset to ISO_8859_1
        byte[] expected = bString.getBytes(CharsetUtil.ISO_8859_1);
        byte[] actual = new AsciiString(bString).toByteArray();
        assertArrayEquals(expected, actual);
    }

    @Test
    public void testComparisonWithString() {
        String string = "shouldn't fail";
        AsciiString ascii = new AsciiString(string.toCharArray());
        assertEquals(string, ascii.toString());
    }

    @Test
    public void subSequenceTest() {
        byte[] init = { 't', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't' };
        AsciiString ascii = new AsciiString(init);
        final int start = 2;
        final int end = init.length;
        AsciiString sub1 = ascii.subSequence(start, end, false);
        AsciiString sub2 = ascii.subSequence(start, end, true);
        assertEquals(sub1.hashCode(), sub2.hashCode());
        assertEquals(sub1, sub2);
        for (int i = start; i < end; ++i) {
            assertEquals(init[i], sub1.byteAt(i - start));
        }
    }

    @Test
    public void testContains() {

Frequently Asked Questions

What is the AsciiStringCharacterTest class?
AsciiStringCharacterTest is a class in the netty codebase, defined in common/src/test/java/io/netty/util/AsciiStringCharacterTest.java.
Where is AsciiStringCharacterTest defined?
AsciiStringCharacterTest is defined in common/src/test/java/io/netty/util/AsciiStringCharacterTest.java at line 35.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free