public async Task Get_All_Countries()
        {
            //Arrange
            conQueries = new CountryQueries(context.Object);

            //Act
            var cqCountries = await conQueries.GetAllCountriesAsync();

            //Assert
            Assert.AreEqual(countries.Count, cqCountries.Count);
        }
        public async Task Country_Not_Found()
        {
            //Arrange
            string countryName = "Earth";

            conQueries = new CountryQueries(context.Object);

            //Act
            var result = await conQueries.GetCountryAsync(countryName);

            //Assert
            Assert.IsNull(result);
        }
        public async Task Get_Country_By_Name()
        {
            //Arrange
            string countryName = "Plain";

            conQueries = new CountryQueries(context.Object);

            //Act
            var result = await conQueries.GetCountryAsync(countryName);

            var cont = countries.Where(w => w.Name == countryName).FirstOrDefault();

            //Assert
            Assert.AreEqual(cont.CountryId, result.CountryId);
            Assert.AreEqual(cont.Name, result.Name);
            Assert.AreEqual(cont.CountryCode, result.CountryCode);
        }
        public async Task Get_Country_And_States()
        {
            //Arrange
            int countryId = 2;
            var single    = countries.Where(w => w.CountryId == countryId).FirstOrDefault();

            single.States.Add(states[0]);
            single.States.Add(states[1]);
            single.States.Add(states[2]);

            conQueries = new CountryQueries(context.Object);

            //Act
            var result = await conQueries.GetCountryAsync(countryId);

            var cont = countries.Where(w => w.CountryId == countryId).FirstOrDefault();

            //Assert
            Assert.AreEqual(cont.CountryId, result.CountryId);
            Assert.AreEqual(cont.Name, result.Name);
            Assert.AreEqual(cont.CountryCode, result.CountryCode);
            Assert.IsTrue(result.States.Count == 3);
        }
 public CountriesController(DbContext context)
 {
     cq = new CountryQueries(context);
 }