예제 #1
0
        public void TestGetResults()
        {
            string   address      = "www.google.com";
            IAdapter geoIPAdapter = new GeoIPAdapter(new GeoLocationProvider());

            Result result = geoIPAdapter.GetResults(address);

            Assert.IsTrue(result.Data.TryGetValue(GeoIPAdapter.CountryCode, out string actualCode));
            Assert.AreEqual("US", actualCode);
        }
예제 #2
0
        public IAdapter GetAdapter(string adapterName)
        {
            IAdapter adapter;

            switch (adapterName)
            {
            case nameof(PingAdapter):
                adapter = new PingAdapter(new Ping());
                break;

            case nameof(ReverseDNSAdapter):
                adapter = new ReverseDNSAdapter();
                break;

            case nameof(GeoIPAdapter):
                adapter = new GeoIPAdapter(new GeoLocationProvider());
                break;

            default:
                throw new InvalidOperationException($"No adapter found for service {adapterName}");
            }
            return(adapter);
        }