def test_dame_namsor_get_method_returns_correct_result(self): g = DameNamsor() self.assertEqual(['male', -1.0], g.get("David", "Arroyo", binary=False)) self.assertEqual(['male', -1.0], g.get("David", "Arroyo", binary=True)) self.assertEqual(['female', 1.0], g.get("Karen", "Arroyo", binary=True))
def average(self, name, surname): r = 0 count = 0 avg = 0 dgg = DameGenderGuesser() guess1 = int(dgg.guess(name, binary="True")) if (guess1 != 2): r = r + guess1 count = count + 1 if (self.config['DEFAULT']['genderapi'] == 'yes'): dga = DameGenderApi() guess2 = int(dga.guess(name, binary="True")) if (guess2 != 2): r = r + guess2 count = count + 1 if (self.config['DEFAULT']['genderize'] == 'yes'): dg = DameGenderize() guess3 = int(dg.guess(name, binary="True")) if (guess3 != 2): r = r + guess3 count = count + 1 if (self.config['DEFAULT']['namsor'] == 'yes'): dn = DameNamsor() guess4 = int(dn.guess(str(name), str(surname), binary="True")) if (guess4 != 2): r = r + guess4 count = count + 1 avg = r / count return avg
def test_dame_namsor_accuracy_score_dame(self): dn = DameNamsor() score1 = dn.accuracy_score_dame([1, 1], [1, 1]) self.assertEqual(score1, 1) score2 = dn.accuracy_score_dame([1, 1, 1, 0], [1, 1, 2, 0]) self.assertEqual(score2, 0.75) score3 = dn.accuracy_score_dame([1, 1, 1, 1, 2, 1], [1, 1, 1, 1, 2, 1]) self.assertEqual(score3, 1)
def test_dame_namsor_json2guess_list(self): dn = DameNamsor() j2gl = dn.json2guess_list( jsonf="files/names/namsorfiles_names_min.csv.json", binary=False) self.assertEqual(['male', 'male', 'male', 'male', 'male', 'female'], j2gl) j2gl = dn.json2guess_list( jsonf="files/names/namsorfiles_names_min.csv.json", binary=True) self.assertEqual([1, 1, 1, 1, 1, 0], j2gl)
def test_dame_namsor_accuracy_score_dame_method_returns_correct_result( self): g = DameNamsor() score1 = g.accuracy_score_dame([1, 1], [1, 1]) self.assertEqual(score1, 1) score2 = g.accuracy_score_dame([1, 1, 1, 0], [1, 1, 2, 0]) self.assertEqual(score2, 0.75) score3 = g.accuracy_score_dame([1, 1, 1, 1, 2, 1], [1, 1, 1, 1, 2, 1]) self.assertEqual(score3, 1)
def test_dame_namsor_get(self): dn = DameNamsor() if (dn.config['DEFAULT']['namsor'] == 'yes'): l1 = dn.get("David", "Arroyo", binary=False) self.assertEqual(['male', -1.0], [l1[0], round(l1[1])]) l2 = dn.get("David", "Arroyo", binary=True) self.assertEqual(['male', -1.0], [l2[0], round(l2[1])]) l3 = dn.get("Karen", "Arroyo", binary=True) self.assertEqual(['female', 1.0], [l3[0], round(l3[1])])
def test_dame_namsor_download(self): dn = DameNamsor() du = DameUtils() path1 = "files/names/min.csv" if (dn.config['DEFAULT']['namsor'] == 'yes'): g = dn.download(path1) self.assertTrue( os.path.isfile("files/names/namsor" + du.path2file(path1) + ".json"))
def test_dame_namsor_gender_list(self): dn = DameNamsor() gl = dn.gender_list(path="files/names/partial.csv") self.assertEqual( gl, [1, 1, 1, 1, 2, 1, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]) self.assertEqual(len(gl), 21) self.assertEqual(dn.females, 3) self.assertEqual(dn.males, 16) self.assertEqual(dn.unknown, 2)
def test_dame_namsor_gender_list_method_returns_correct_result(self): g = DameNamsor() gl = g.gender_list() self.assertEqual( gl, [1, 1, 1, 1, 2, 1, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]) self.assertEqual(len(gl), 21) self.assertEqual(g.females, 3) self.assertEqual(g.males, 16) self.assertEqual(g.unknown, 2)
def test_dame_namsor_guess_list_method_returns_correct_result(self): g = DameNamsor() self.assertEqual([ 'male', 'male', 'male', 'male', 'male', 'male', 'female', 'female', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'female', 'male', 'male' ], g.guess_list(path="files/names/partial.csv", binary=False)) self.assertEqual( [1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1], g.guess_list(path="files/names/partial.csv", binary=True))
def test_dame_namsor_guess_list(self): dn = DameNamsor() if (dn.config['DEFAULT']['namsor'] == 'yes'): self.assertEqual([ 'male', 'male', 'male', 'male', 'male', 'male', 'female', 'female', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'male', 'female', 'male', 'male' ], dn.guess_list(path="files/names/partial.csv", binary=False)) self.assertEqual([ 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 ], dn.guess_list(path="files/names/partial.csv", binary=True))
def test_dame_namsor_gender_guess(self): dn = DameNamsor() if (dn.config['DEFAULT']['namsor'] == 'yes'): self.assertEqual(1, dn.guess("David", "Arroyo", binary=True)) self.assertEqual(0, dn.guess("Andrea", "Arroyo", binary=True)) self.assertEqual(1, dn.guess("Asdf", "qwer", binary=True))
def test_dame_namsor_scale(self): dn = DameNamsor() if (dn.config['DEFAULT']['namsor'] == 'yes'): self.assertEqual(-1.0, round(dn.scale("David", "Arroyo")))
def test_dame_namsor_getGeo(self): dn = DameNamsor() if (dn.config['DEFAULT']['namsor'] == 'yes'): l1 = dn.get("David", "Arroyo", binary=False) self.assertEqual(['male', -1.0], [l1[0], round(l1[1])])
def test_dame_namsor_scale_method_returns_correct_result(self): g = DameNamsor() self.assertEqual(-1.0, g.scale("David", "Arroyo"))
def test_dame_namsor_init_method_returns_correct_result(self): g = DameNamsor() self.assertEqual(g.males, 0) self.assertEqual(g.females, 0) self.assertEqual(g.unknown, 0)
choices=['accuracy', 'precision', 'recall', 'f1score']) parser.add_argument('--api', required=True, choices=[ 'customsearch', 'namsor', 'genderize', 'genderguesser', 'damegender', 'genderapi', 'nameapi', 'all' ]) args = parser.parse_args() du = DameUtils() if (args.api == "all"): dg = Gender() if (dg.config['DEFAULT']['namsor'] == 'yes'): dn = DameNamsor() dn.pretty_gg_list(path=args.csv, jsonf=args.jsondownloaded, measure=args.measure, api='Namsor') if (dg.config['DEFAULT']['genderize'] == 'yes'): dg = DameGenderize() dg.pretty_gg_list(path=args.csv, jsonf=args.jsondownloaded, measure=args.measure, api='Genderize') dgg = DameGenderGuesser() dgg.pretty_gg_list(path=args.csv, jsonf=args.jsondownloaded,
def test_dame_namsor_features_list_method_returns_correct_result(self): g = DameNamsor() fl = g.features_list() self.assertTrue(len(fl) > 20)
def test_dame_namsor_features_list(self): dn = DameNamsor() fl = dn.features_list() self.assertTrue(len(fl) > 20)
def test_dame_namsor_json2names(self): dn = DameNamsor() l = dn.json2names(jsonf="files/names/namsorfiles_names_min.csv.json") self.assertEqual( ['Pierre', 'Raul', 'Adriano', 'Ralf', 'Guillermo', 'Sabina'], l)
def test_dame_namsor_init(self): g = DameNamsor() self.assertEqual(g.males, 0) self.assertEqual(g.females, 0) self.assertEqual(g.unknown, 0)
gl1 = d.gender_list(path=args.csv) if (os.path.isfile(args.jsondownloaded)): gl2 = d.json2guess_list(jsonf=args.jsondownloaded, binary=True) else: gl2 = d.guess_list(path=args.csv, binary=True) # gl2 = d.guess_list(path=args.csv, binary=True) ec = d.error_coded(gl1, gl2) print("+ The error code: %s" % ec) ecwa = d.error_coded_without_na(gl1, gl2) print("+ The error code without na: %s" % ecwa) naCoded = d.na_coded(gl1, gl2) print("+ The na coded: %s" % naCoded) egb = d.error_gender_bias(gl1, gl2) print("+ The error gender bias: %s" % egb) elif (args.api == "namsor"): d = DameNamsor() print("Namsor with %s has: " % args.csv) gl1 = d.gender_list(path=args.csv) if (os.path.isfile(args.jsondownloaded)): gl2 = d.json2guess_list(jsonf=args.jsondownloaded, binary=True) else: gl2 = d.guess_list(path=args.csv, binary=True) ec = d.error_coded(gl1, gl2) print("+ The error code: %s" % ec) ecwa = d.error_coded_without_na(gl1, gl2) print("+ The error code without na: %s" % ecwa) naCoded = d.na_coded(gl1, gl2) print("+ The na coded: %s" % naCoded) egb = d.error_gender_bias(gl1, gl2) print("+ The error gender bias: %s" % egb)
def test_dame_namsor_gender_guess_method_returns_correct_result(self): g = DameNamsor() self.assertEqual(1, g.guess("David", "Arroyo", binary=True)) self.assertEqual(0, g.guess("Andrea", "Arroyo", binary=True)) self.assertEqual(0, g.guess("Asdf", "qwer", binary=True))