Code Duplication    Length = 10-10 lines in 5 locations

tests/test_timer.py 5 locations

@@ 130-139 (lines=10) @@
127
    color, text = timer.get_timer_text(race, entrant.user.full_name)
128
    assert color == timer.third_color
129
130
def test_user_finished_other():
131
    timer = get_test_timer()
132
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=5)
133
    race = get_test_race(started_at=datetime.now(timezone.utc)-entrant.finish_time, entrant=entrant, entrants_count=5)
134
    color, text = timer.get_timer_text(race, entrant.user.full_name)
135
    assert color is None
136
    assert text == "1:09:42.0"
137
    timer.use_podium_colors = True
138
    color, text = timer.get_timer_text(race, entrant.user.full_name)
139
    assert color == timer.finished_color
@@ 119-128 (lines=10) @@
116
    color, text = timer.get_timer_text(race, entrant.user.full_name)
117
    assert color == timer.second_color
118
119
def test_user_finished_third():
120
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=3)
121
    race = get_test_race(started_at=datetime.now(timezone.utc)-entrant.finish_time, entrant=entrant, entrants_count=5, entrants=[entrant])
122
    timer = get_test_timer()
123
    color, text = timer.get_timer_text(race, entrant.user.full_name)
124
    assert color is None
125
    assert text == "1:09:42.0"
126
    timer.use_podium_colors = True
127
    color, text = timer.get_timer_text(race, entrant.user.full_name)
128
    assert color == timer.third_color
129
130
def test_user_finished_other():
131
    timer = get_test_timer()
@@ 108-117 (lines=10) @@
105
    color, text = timer.get_timer_text(race, entrant.user.full_name)
106
    assert color == timer.first_color
107
108
def test_user_finished_second():
109
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=2)
110
    race = get_test_race(started_at=datetime.now(timezone.utc)-entrant.finish_time, entrant=entrant, entrants_count=5, entrants=[entrant])
111
    timer = get_test_timer()
112
    color, text = timer.get_timer_text(race, entrant.user.full_name)
113
    assert color is None
114
    assert text == "1:09:42.0"
115
    timer.use_podium_colors = True
116
    color, text = timer.get_timer_text(race, entrant.user.full_name)
117
    assert color == timer.second_color
118
119
def test_user_finished_third():
120
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=3)
@@ 97-106 (lines=10) @@
94
    color, text = timer.get_timer_text(race, entrant.user.full_name)
95
    assert color == timer.cancel_dq_color
96
97
def test_user_finished_first():
98
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=1)
99
    race = get_test_race(started_at=datetime.now(timezone.utc)-entrant.finish_time, entrant=entrant, entrants_count=5, entrants=[entrant])
100
    timer = get_test_timer()
101
    color, text = timer.get_timer_text(race, entrant.user.full_name)
102
    assert color is None
103
    assert text == "1:09:42.0"
104
    timer.use_podium_colors = True
105
    color, text = timer.get_timer_text(race, entrant.user.full_name)
106
    assert color == timer.first_color
107
108
def test_user_finished_second():
109
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=9, seconds=42, microseconds=1), place=2)
@@ 54-63 (lines=10) @@
51
    assert color is timer.racing_color
52
53
54
def test_timer_midrace_w_entrant():
55
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, minutes=42, seconds=6.9))
56
    race = get_test_race(version=16, entrants_count=2, entrant=entrant, entrants=[entrant])
57
    timer = get_test_timer()
58
    color, text = timer.get_timer_text(race, entrant.user.full_name)
59
    assert color is None
60
    assert text == "1:42:06.9"
61
    timer.use_podium_colors = True
62
    color, text = timer.get_timer_text(race, entrant.user.full_name)
63
    assert color == timer.racing_color
64
65
def test_timer_midrace_w_user_not_in_race():
66
    race = get_test_race(version=17, entrants_count=2, started_at=datetime.now(timezone.utc)-timedelta(hours=1, minutes=42, seconds=42.0))