Home / Class/ TypeParameterMatcherTest Class — netty Architecture

TypeParameterMatcherTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c["TypeParameterMatcherTest"]
  137ceb2e_a87f_9c7b_b530_e76dc7021ecb["TypeParameterMatcherTest.java"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|defined in| 137ceb2e_a87f_9c7b_b530_e76dc7021ecb
  38f2cdaa_fe72_2aaf_7c1d_0891f296e70c["testConcreteClass()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| 38f2cdaa_fe72_2aaf_7c1d_0891f296e70c
  dccf3a5e_d828_f1cc_7ef4_a463bbbd0514["testUnsolvedParameter()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| dccf3a5e_d828_f1cc_7ef4_a463bbbd0514
  891c85d5_a0d2_e46e_03c1_dbbeb5723a8e["testAnonymousClass()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| 891c85d5_a0d2_e46e_03c1_dbbeb5723a8e
  8d8e1c1b_ae99_1fe7_391e_4dce9556a9bc["testAbstractClass()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| 8d8e1c1b_ae99_1fe7_391e_4dce9556a9bc
  2ed7f232_52f5_7d86_7b43_434b1035c101["testInaccessibleClass()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| 2ed7f232_52f5_7d86_7b43_434b1035c101
  f83165a9_aaa7_5ad3_ce6a_11db107d25c6["testArrayAsTypeParam()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| f83165a9_aaa7_5ad3_ce6a_11db107d25c6
  c2cd6fb3_c849_9de5_fe45_67709d8e78cd["testRawType()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| c2cd6fb3_c849_9de5_fe45_67709d8e78cd
  a9502b2b_a500_6ce9_650f_8b50933f14f1["testInnerClass()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| a9502b2b_a500_6ce9_650f_8b50933f14f1
  eb0c16b8_985f_e57b_192c_242c6da117d8["testErasure()"]
  0471a2ea_34fb_90fc_b83b_eaf4cc2b794c -->|method| eb0c16b8_985f_e57b_192c_242c6da117d8

Relationship Graph

Source Code

common/src/test/java/io/netty/util/internal/TypeParameterMatcherTest.java lines 28–157

public class TypeParameterMatcherTest {

    @Test
    public void testConcreteClass() throws Exception {
        TypeParameterMatcher m = TypeParameterMatcher.find(new TypeQ(), TypeX.class, "A");
        assertFalse(m.match(new Object()));
        assertFalse(m.match(new A()));
        assertFalse(m.match(new AA()));
        assertTrue(m.match(new AAA()));
        assertFalse(m.match(new B()));
        assertFalse(m.match(new BB()));
        assertFalse(m.match(new BBB()));
        assertFalse(m.match(new C()));
        assertFalse(m.match(new CC()));
    }

    @Test
    public void testUnsolvedParameter() throws Exception {
        assertThrows(IllegalStateException.class, new Executable() {
            @Override
            public void execute() {
                TypeParameterMatcher.find(new TypeQ(), TypeX.class, "B");
            }
        });
    }

    @Test
    public void testAnonymousClass() throws Exception {
        TypeParameterMatcher m = TypeParameterMatcher.find(new TypeQ<BBB>() { }, TypeX.class, "B");
        assertFalse(m.match(new Object()));
        assertFalse(m.match(new A()));
        assertFalse(m.match(new AA()));
        assertFalse(m.match(new AAA()));
        assertFalse(m.match(new B()));
        assertFalse(m.match(new BB()));
        assertTrue(m.match(new BBB()));
        assertFalse(m.match(new C()));
        assertFalse(m.match(new CC()));
    }

    @Test
    public void testAbstractClass() throws Exception {
        TypeParameterMatcher m = TypeParameterMatcher.find(new TypeQ(), TypeX.class, "C");
        assertFalse(m.match(new Object()));
        assertFalse(m.match(new A()));
        assertFalse(m.match(new AA()));
        assertFalse(m.match(new AAA()));
        assertFalse(m.match(new B()));
        assertFalse(m.match(new BB()));
        assertFalse(m.match(new BBB()));
        assertFalse(m.match(new C()));
        assertTrue(m.match(new CC()));
    }

    public static class TypeX<A, B, C> {
        A a;
        B b;
        C c;
    }

    public static class TypeY<D extends C, E extends A, F extends B> extends TypeX<E, F, D> { }

    public abstract static class TypeZ<G extends AA, H extends BB> extends TypeY<CC, G, H> { }

    public static class TypeQ<I extends BBB> extends TypeZ<AAA, I> { }

    public static class A { }
    public static class AA extends A { }
    public static class AAA extends AA { }

    public static class B { }
    public static class BB extends B { }
    public static class BBB extends BB { }

    public static class C { }
    public static class CC extends C { }

    @Test
    public void testInaccessibleClass() throws Exception {
        TypeParameterMatcher m = TypeParameterMatcher.find(new U<T>() { }, U.class, "E");
        assertFalse(m.match(new Object()));

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free