Home / Class/ NameServerComparatorTest Class — netty Architecture

NameServerComparatorTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  b448ec25_ecf1_3027_6e5c_0842a9c0d810["NameServerComparatorTest"]
  a5a5b2e8_2fd0_7323_3621_480934b8c27f["NameServerComparatorTest.java"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|defined in| a5a5b2e8_2fd0_7323_3621_480934b8c27f
  37879203_d0fa_ea48_87c7_db811a014774["before()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 37879203_d0fa_ea48_87c7_db811a014774
  6ac0e677_7be5_bf5f_5d6d_c14a23dcfc5f["testCompareResolvedOnly()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 6ac0e677_7be5_bf5f_5d6d_c14a23dcfc5f
  9030fb85_4553_f496_a5e8_da5b0ebce8f3["testCompareUnresolvedSimple()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 9030fb85_4553_f496_a5e8_da5b0ebce8f3
  4ec807ab_5ca6_f6e7_27c3_26ce769cf440["testCompareUnresolvedOnly()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 4ec807ab_5ca6_f6e7_27c3_26ce769cf440
  b751e057_d88e_25d6_a630_5f8ca17abc30["testSortAlreadySortedPreferred()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| b751e057_d88e_25d6_a630_5f8ca17abc30
  901c7aed_f6f1_e244_a4cf_68e84e7f8f76["testSortAlreadySortedNotPreferred()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 901c7aed_f6f1_e244_a4cf_68e84e7f8f76
  cf873aea_0f1d_883d_a1de_d13e6f5c451c["testSortAlreadySortedUnresolved()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| cf873aea_0f1d_883d_a1de_d13e6f5c451c
  dfcae203_cae2_89fc_64fc_1ad7753d2012["testSortAlreadySortedMixed()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| dfcae203_cae2_89fc_64fc_1ad7753d2012
  63165786_4314_c907_a046_3d9ed05d686e["testSort1()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 63165786_4314_c907_a046_3d9ed05d686e
  42a82b0a_9a17_d4aa_8aa9_1a741bb68bde["testSort2()"]
  b448ec25_ecf1_3027_6e5c_0842a9c0d810 -->|method| 42a82b0a_9a17_d4aa_8aa9_1a741bb68bde

Relationship Graph

Source Code

resolver-dns/src/test/java/io/netty/resolver/dns/NameServerComparatorTest.java lines 33–171

public class NameServerComparatorTest {

    private static InetSocketAddress IPV4ADDRESS1;
    private static InetSocketAddress IPV4ADDRESS2;
    private static InetSocketAddress IPV4ADDRESS3;

    private static InetSocketAddress IPV6ADDRESS1;
    private static InetSocketAddress IPV6ADDRESS2;

    private static InetSocketAddress UNRESOLVED1;
    private static InetSocketAddress UNRESOLVED2;
    private static InetSocketAddress UNRESOLVED3;

    @BeforeAll
    public static void before() throws UnknownHostException {
        IPV4ADDRESS1 = new InetSocketAddress(InetAddress.getByAddress("ns1", new byte[] { 10, 0, 0, 1 }), 53);
        IPV4ADDRESS2 = new InetSocketAddress(InetAddress.getByAddress("ns2", new byte[] { 10, 0, 0, 2 }), 53);
        IPV4ADDRESS3 = new InetSocketAddress(InetAddress.getByAddress("ns3", new byte[] { 10, 0, 0, 3 }), 53);

        IPV6ADDRESS1 = new InetSocketAddress(InetAddress.getByAddress(
                "ns1", new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }), 53);
        IPV6ADDRESS2 = new InetSocketAddress(InetAddress.getByAddress(
                "ns2", new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 }), 53);

        UNRESOLVED1 = InetSocketAddress.createUnresolved("ns3", 53);
        UNRESOLVED2 = InetSocketAddress.createUnresolved("ns4", 53);
        UNRESOLVED3 = InetSocketAddress.createUnresolved("ns5", 53);
    }

    @Test
    public void testCompareResolvedOnly() {
        NameServerComparator comparator = new NameServerComparator(Inet4Address.class);
        int x = comparator.compare(IPV4ADDRESS1, IPV6ADDRESS1);
        int y = comparator.compare(IPV6ADDRESS1, IPV4ADDRESS1);

        assertEquals(-1, x);
        assertEquals(x, -y);

        assertEquals(0, comparator.compare(IPV4ADDRESS1, IPV4ADDRESS1));
        assertEquals(0, comparator.compare(IPV6ADDRESS1, IPV6ADDRESS1));
    }

    @Test
    public void testCompareUnresolvedSimple() {
        NameServerComparator comparator = new NameServerComparator(Inet4Address.class);
        int x = comparator.compare(IPV4ADDRESS1, UNRESOLVED1);
        int y = comparator.compare(UNRESOLVED1, IPV4ADDRESS1);

        assertEquals(-1, x);
        assertEquals(x, -y);
        assertEquals(0, comparator.compare(IPV4ADDRESS1, IPV4ADDRESS1));
        assertEquals(0, comparator.compare(UNRESOLVED1, UNRESOLVED1));
    }

    @Test
    public void testCompareUnresolvedOnly() {
        NameServerComparator comparator = new NameServerComparator(Inet4Address.class);
        int x = comparator.compare(UNRESOLVED1, UNRESOLVED2);
        int y = comparator.compare(UNRESOLVED2, UNRESOLVED1);

        assertEquals(0, x);
        assertEquals(x, -y);

        assertEquals(0, comparator.compare(UNRESOLVED1, UNRESOLVED1));
        assertEquals(0, comparator.compare(UNRESOLVED2, UNRESOLVED2));
    }

    @Test
    public void testSortAlreadySortedPreferred() {
        List<InetSocketAddress> expected = Arrays.asList(IPV4ADDRESS1, IPV4ADDRESS2, IPV4ADDRESS3);
        List<InetSocketAddress> addresses = new ArrayList<InetSocketAddress>(expected);
        NameServerComparator comparator = new NameServerComparator(Inet4Address.class);

        Collections.sort(addresses, comparator);

        assertEquals(expected, addresses);
    }

    @Test
    public void testSortAlreadySortedNotPreferred() {
        List<InetSocketAddress> expected = Arrays.asList(IPV4ADDRESS1, IPV4ADDRESS2, IPV4ADDRESS3);

Frequently Asked Questions

What is the NameServerComparatorTest class?
NameServerComparatorTest is a class in the netty codebase, defined in resolver-dns/src/test/java/io/netty/resolver/dns/NameServerComparatorTest.java.
Where is NameServerComparatorTest defined?
NameServerComparatorTest is defined in resolver-dns/src/test/java/io/netty/resolver/dns/NameServerComparatorTest.java at line 33.

Analyze Your Own Codebase

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

Try Supermodel Free