public void TestEmptyLookupRejected()
        {
            var crashSender = new MockCrashingSender();
            var client      = new Client(crashSender, null);

            Assert.Throws <UnprocessableEntityException>(() => client.Send(new Lookup()));
        }
        public void TestRejectsLookupsWithOnlyCountry()
        {
            var crashSender = new MockCrashingSender();
            var client      = new Client(crashSender, null);
            var lookup      = new Lookup {
                Country = "0"
            };

            Assert.Throws <UnprocessableEntityException>(() => client.Send(lookup));
        }
        public void TestRejectsLookupsWithOnlyCountryAndAddress1()
        {
            var crashSender = new MockCrashingSender();
            var client      = new Client(crashSender, null);
            var lookup      = new Lookup
            {
                Country  = "0",
                Address1 = "1"
            };

            Assert.ThrowsAsync <UnprocessableEntityException>(async() => await client.SendAsync(lookup));
        }
        public void TestRejectsLookupsWithOnlyCountryAndAddress1AndAdministrativeArea()
        {
            var crashSender = new MockCrashingSender();
            var client      = new Client(crashSender, null);
            var lookup      = new Lookup
            {
                Country            = "0",
                Address1           = "1",
                AdministrativeArea = "2"
            };

            Assert.Throws <UnprocessableEntityException>(() => client.Send(lookup));
        }