public void GivenUSCSVDatatoSortByArea_ShouldReturnleastPopulousState()
        {
            CensusAnalyzer census = new CensusAnalyzer(usCensusData, usCodeHeaders);

            censusData = census.LoadCensusData(Country.CountryName.US);
            string sorted = census.SortingCSVData(censusData, "USArea").ToString();

            USCensusDao[] sortedResult = JsonConvert.DeserializeObject <USCensusDao[]>(sorted);
            Assert.AreEqual("District of Columbia", sortedResult[50].stateName);
        }
        public void GivenIndiaAndUSCSVDatatoSortByPopulationAndDensity_ShouldReturnMostDensityState()
        {
            CensusAnalyzer census = new CensusAnalyzer(usCensusData, usCodeHeaders);

            censusData = census.LoadCensusData(Country.CountryName.US);
            string sorted = census.SortingCSVData(censusData, "USPopulationDensity").ToString();

            USCensusDao[] sortedUSResult = JsonConvert.DeserializeObject <USCensusDao[]>(sorted);

            CensusAnalyzer censusIndia = new CensusAnalyzer(censusFilePath, indianStateCensusHeaders);

            censusData = censusIndia.LoadCensusData(Country.CountryName.INDIA);
            string sortedData = census.SortingCSVData(censusData, "populationDensity").ToString();

            IndiaCensusDAO[] sortedIndiaResult = JsonConvert.DeserializeObject <IndiaCensusDAO[]>(sortedData);
            string           result            = census.getBothSorted(sortedUSResult[0], sortedIndiaResult[0]);

            Assert.AreEqual("District of Columbia", result);
        }
        public void GivenUSCSVDatatoSortByPopulation_ShouldReturnMostPopulousState()
        {
            CensusAnalyzer census = new CensusAnalyzer(usCensusData, usCodeHeaders);

            censusData = census.LoadCensusData(Country.CountryName.US);
            string sorted = census.SortingCSVData(censusData, "population").ToString();

            USCensusDao[] sortedResult = JsonConvert.DeserializeObject <USCensusDao[]>(sorted);
            Assert.AreEqual("California", sortedResult[0].stateName);
        }
        public void GivenCSVDatatoSortByLargestArea_ShouldReturnLeastPopulationDensityState()
        {
            CensusAnalyzer census = new CensusAnalyzer(censusFilePath, indianStateCensusHeaders);

            censusData = census.LoadCensusData(Country.CountryName.INDIA);
            string sorted = census.SortingCSVData(censusData, "area").ToString();

            IndiaCensusDAO[] sortedResult = JsonConvert.DeserializeObject <IndiaCensusDAO[]>(sorted);
            Assert.AreEqual("Goa", sortedResult[28].state);
        }
        public void GivenCSVDatatoSortByPopulation_ShouldReturnMostPopulousState()
        {
            CensusAnalyzer census = new CensusAnalyzer(censusFilePath, indianStateCensusHeaders);

            censusData = census.LoadCensusData(Country.CountryName.INDIA);
            string sorted = census.SortingCSVData(censusData, "population").ToString();

            IndiaCensusDAO[] sortedResult = JsonConvert.DeserializeObject <IndiaCensusDAO[]>(sorted);
            Assert.AreEqual("Uttar Pradesh", sortedResult[0].state);
        }
        public void GivenCSVDatatoSortByStateCode_ShouldReturnLastSorteNameInJsonFormat()
        {
            CensusAnalyzer census = new CensusAnalyzer(stateCodeFilePath, indianStateCodeHeaders);

            censusData = census.LoadCensusData(Country.CountryName.INDIA);
            string sorted = census.SortingCSVData(censusData, "stateCode").ToString();

            StateCodeDao[] indiaStateCodes = JsonConvert.DeserializeObject <StateCodeDao[]>(sorted);
            Assert.AreEqual("WB", indiaStateCodes[36].stateCode);
        }
        public void GivenIndiaCSVDatatoSortByState_ShouldReturnLastSortedDataInJsonFormat()
        {
            CensusAnalyzer census = new CensusAnalyzer(censusFilePath, indianStateCensusHeaders);

            censusData = census.LoadCensusData(Country.CountryName.INDIA);
            string sorted = census.SortingCSVData(censusData, "state").ToString();

            IndiaCensusDAO[] d = JsonConvert.DeserializeObject <IndiaCensusDAO[]>(sorted);
            Assert.AreEqual("West Bengal", d[28].state);
        }