// ReSharper disable once TooManyDeclarations
        public void AddressParse()
        {
            var addresses = new IAddress[]
            {
                new DHCPService(),
                new DNSService(),
                new DefaultGateway(),
                new WINSService(),
                new LocalSubnet(),
                new IPRange(IPAddress.Parse("192.168.0.0"), IPAddress.Parse("192.168.1.0")),
                new NetworkAddress(IPAddress.Parse("10.10.0.0"), IPAddress.Parse("255.255.255.0")),
                new SingleIP(IPAddress.Parse("192.168.1.1")),
                SingleIP.Loopback
            };

            var addressesInString = AddressHelper.AddressesToString(addresses);

            // Check if all addresses resulted in an entry
            var commas = addressesInString.Count(c => c == ',');

            Assert.AreEqual(addresses.Length - 1, commas);

            var addressesParsed = AddressHelper.StringToAddresses(addressesInString);

            // Check if parsing result in the same output
            Assert.IsTrue(addresses.SequenceEqual(addressesParsed));

            addressesInString = AddressHelper.AddressesToString(
                addresses.Concat(new IAddress[] { SingleIP.Any }).ToArray()
                );

            // Check if adding `SingleIP.Any` results in ignoring all other addresses
            Assert.AreEqual("*", addressesInString);
        }