Code Duplication    Length = 18-18 lines in 2 locations

tests/test_qualifier.py 2 locations

@@ 96-113 (lines=18) @@
93
    assert qualifier.entrant_score == "1.00"
94
    assert qualifier.par_text == "1:35:00.0"
95
96
def test_cutoff_and_entrant_finished_in_first():
97
    entrant = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=20), finish_time=timedelta(hours=1, minutes=30, microseconds=1), place=2)
98
    second_place = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=15), finish_time=timedelta(hours=1, minutes=35, microseconds=1), place=1, users_used=[entrant.user.id])
99
    third_place = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=10), finish_time=timedelta(hours=1, minutes=40, microseconds=1), place=3, users_used=[entrant.user.id, second_place.user.id])
100
    entrants = [ entrant, second_place, third_place ]
101
    for i in range(4, 20):
102
        users_used = (x.user for x in entrants)
103
        entrants.append(get_test_entrant(users_used=users_used))
104
    race = get_test_race(entrants=entrants)
105
    qualifier = Qualifier()
106
    qualifier.enabled = True
107
    qualifier.qualifier_cutoff = 3
108
    qualifier.par_source = "par source"
109
    qualifier.score_source = "score source"
110
    qualifier.update_qualifier_text(race, entrant.user.full_name)
111
    # par is 95 minutes, entrant's time is 90 minutes. 2-(90/95) ""= 1.05
112
    assert qualifier.entrant_score == "1.05"
113
    assert qualifier.par_text == "1:35:00.0"
@@ 77-94 (lines=18) @@
74
    assert qualifier.entrant_score == "0.89"
75
    assert qualifier.par_text == "1:35:00.0"
76
77
def test_cutoff_and_entrant_finished_in_top():
78
    entrant = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=15), finish_time=timedelta(hours=1, minutes=35, microseconds=1), place=2)
79
    first_place = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=20), finish_time=timedelta(hours=1, minutes=30, microseconds=1), place=1, users_used=[entrant.user.id])
80
    third_place = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=10), finish_time=timedelta(hours=1, minutes=40, microseconds=1), place=3, users_used=[entrant.user.id, first_place.user.id])
81
    entrants = [ first_place, entrant, third_place ]
82
    for i in range(4, 20):
83
        users_used = (x.user for x in entrants)
84
        entrants.append(get_test_entrant(users_used=users_used))
85
    race = get_test_race(entrants=entrants)
86
    qualifier = Qualifier()
87
    qualifier.enabled = True
88
    qualifier.qualifier_cutoff = 3
89
    qualifier.par_source = "par source"
90
    qualifier.score_source = "score source"
91
    qualifier.update_qualifier_text(race, entrant.user.full_name)
92
    # par is 95 minutes, entrant's time is 95 minutes. 2-(95/95) = 1.00
93
    assert qualifier.entrant_score == "1.00"
94
    assert qualifier.par_text == "1:35:00.0"
95
96
def test_cutoff_and_entrant_finished_in_first():
97
    entrant = get_test_entrant(status_value="finished", finished_at=time_ago(minutes=20), finish_time=timedelta(hours=1, minutes=30, microseconds=1), place=2)