public async Task Reverse()
        {
            var doh  = new DohClient();
            var name = await doh.ResolveAsync(IPAddress.Parse("1.1.1.1"));

            Assert.AreEqual("one.one.one.one", name);

            name = await doh.ResolveAsync(IPAddress.Parse("2606:4700:4700::1111"));

            Assert.AreEqual("one.one.one.one", name);
        }
        public async Task Resolve_Reverse()
        {
            var doh       = new DohClient();
            var github    = "github.com";
            var addresses = await doh.ResolveAsync(github);

            foreach (var address in addresses)
            {
                var name = await doh.ResolveAsync(address);

                StringAssert.EndsWith(name.ToString(), ".com");
            }
        }
        public void Resolve_Unknown()
        {
            var doh = new DohClient();

            ExceptionAssert.Throws <IOException>(() =>
            {
                var _ = doh.ResolveAsync("emanon.noname").Result;
            });
        }
        public async Task Resolve()
        {
            var doh       = new DohClient();
            var addresses = await doh.ResolveAsync("cloudflare-dns.com");

            Assert.AreNotEqual(0, addresses.Count());
            Assert.IsTrue(addresses.Any(a => a.AddressFamily == AddressFamily.InterNetwork));
            Assert.IsTrue(addresses.Any(a => a.AddressFamily == AddressFamily.InterNetworkV6));
        }