示例#1
0
    def test_legal_single_1524(self):
        """ Test the function get_top_states with the Case : Legal Occupations, Single status, 15 - 24 years old. """

        result = ranking.get_top_states("1ad", "Legal Occupations", "single_1524", 4, 4, 4, 4, professionptn='None')
        Montana = {'crimerank': 3296.1, 'professionrank': '41398.96',
                    'marRank': 16, 'livingrank': 31}
        California = {'crimerank': 4048.1, 'professionrank': '96417.76',
                    'marRank': 168, 'livingrank': 47}

        Ohio = {'crimerank': 3885.8, 'professionrank': '65523.52',
                    'marRank': 128, 'livingrank': 16}

        # tests if the returned object is a List
        print "Testing if returns a list"
        self.assertIsInstance(result, list, "The object is not an instance of class List")

        # tests if the returned list has 50 elements
        print "Testing if the returned list contains 50 elements"
        self.assertEqual(len(result), 50, "The list must have 50 items on it")

        my_keys = [u'crimerank', u'professionrank', 'Total', u'median_household_income', u'name', u'a_mean', 'marRank', u'id', u'number_households', u'totalmarital', 'personalprofession', 'professionptn', u'livingrank', 'criRank', 'LivRank', 'profRank', u'jobs_1000', u'percapita_income', 'rate', u'population']
        for item in result:
    
            # tests if the returned list has all the columns on it
            self.assertListEqual(item.keys(), my_keys, "All the items should have all the keys") 

            for key, value in item.iteritems():
                # tests that all the values not null
                self.assertGreaterEqual(value, 0, "All values must be filled")

            if (item['name'] == 'Montana'):
                # tests the calculations for Montana
                self.assertEqual(item['crimerank'], Montana['crimerank'], "The rank is different"+str(item['crimerank'])+" - "+ str(Montana['crimerank'])) 
                self.assertEqual(item['professionrank'], Montana['professionrank'], "The Profession rank is different"+str(item['professionrank'])+" - "+ str(Montana['professionrank'])) 
                self.assertEqual(item['marRank'], Montana['marRank'], "The Marital rank is different"+str(item['marRank'])+" - "+ str(Montana['marRank'])) 
                self.assertEqual(item['livingrank'], Montana['livingrank'], "The Living rank is different"+str(item['livingrank'])+" - "+ str(Montana['livingrank'])) 

            if (item['name'] == 'California'):
                # tests the calculations for California
                self.assertEqual(item['crimerank'], California['crimerank'], "The rank is different"+str(item['crimerank'])+" - "+ str(California['crimerank'])) 
                self.assertEqual(item['professionrank'], California['professionrank'], "The Profession rank is different"+str(item['professionrank'])+" - "+ str(California['professionrank'])) 
                self.assertEqual(item['marRank'], California['marRank'], "The Marital rank is different"+str(item['marRank'])+" - "+ str(California['marRank'])) 
                self.assertEqual(item['livingrank'], California['livingrank'], "The Living rank is different"+str(item['livingrank'])+" - "+ str(California['livingrank'])) 

            if (item['name'] == 'Ohio'):
                # tests the calculations for Ohio
                self.assertEqual(item['crimerank'], Ohio['crimerank'], "The rank is different"+str(item['crimerank'])+" - "+ str(Ohio['crimerank'])) 
                self.assertEqual(item['professionrank'], Ohio['professionrank'], "The Profession rank is different"+str(item['professionrank'])+" - "+ str(Ohio['professionrank'])) 
                self.assertEqual(item['marRank'], Ohio['marRank'], "The Marital rank is different"+str(item['marRank'])+" - "+ str(Ohio['marRank'])) 
                self.assertEqual(item['livingrank'], Ohio['livingrank'], "The Living rank is different"+str(item['livingrank'])+" - "+ str(Ohio['livingrank'])) 
示例#2
0
def search_states():
    """Search the top states with the info in the search form."""

    tax = request.args.get("tax")
    profession = request.args.get("profession")
    age = request.args.get("age")
    marital = request.args.get("marital")
    mstatus = marital + "_" + age
    wl = int(request.args.get("opcLiving"))
    wp = int(request.args.get("opcProfession"))
    wc = int(request.args.get("opcCrime"))
    wm = int(request.args.get("opcMarital"))
    professionptn = request.args.get("professionptn")
    top_states = ranking.get_top_states(tax, profession, mstatus, wl, wp, wc, wm, professionptn.strip())

    return jsonify(data=top_states)
示例#3
0
def search_states():
    """Search the top states with the info in the search form."""

    tax = request.args.get("tax")
    profession = request.args.get("profession")
    age = request.args.get("age")
    marital = request.args.get("marital")
    mstatus = marital + "_" + age
    wl = int(request.args.get("opcLiving"))
    wp = int(request.args.get("opcProfession"))
    wc = int(request.args.get("opcCrime"))
    wm = int(request.args.get("opcMarital"))
    professionptn = request.args.get("professionptn")
    top_states = ranking.get_top_states(tax, profession, mstatus, wl, wp, wc,
                                        wm, professionptn.strip())

    return jsonify(data=top_states)