Reformat code to pythonic standards
This commit is contained in:
1 parent
e2b8f5497c
commit
ea62bdfc0b
6 files changed
+249
-100
No files matched your search
+102
-39
@@ -1,15 +1,15 @@
|
||||
"""Tests for the `util` module."""
|
||||
from datetime import datetime
|
||||
|
||||
import pytest
|
||||
from httpx import ConnectError
|
||||
|
||||
import pytest
|
||||
import util.convert as uc
|
||||
import util.drawing as ud
|
||||
import util.environment as ue
|
||||
import util.scrape as sc
|
||||
import util.odds as uo
|
||||
from data.database import PowerballDraw, MegaMillionsDraw
|
||||
import util.scrape as sc
|
||||
from data.database import MegaMillionsDraw, PowerballDraw
|
||||
|
||||
|
||||
def test_convert_string_to_integer() -> None:
|
||||
@@ -31,7 +31,8 @@ def test_get_previous_draw_date_none() -> None:
|
||||
|
||||
|
||||
def test_get_next_draw_date_minimum() -> None:
|
||||
"""Test the next draw date returned for each game and when an invalid name is presented (None)"""
|
||||
"""Test the next draw date returned for each game and when an invalid
|
||||
name is presented (None)"""
|
||||
assert ud.get_next_draw_date(game="mega-millions")
|
||||
assert ud.get_next_draw_date(game="powerball")
|
||||
assert not ud.get_next_draw_date(game="something")
|
||||
@@ -40,7 +41,8 @@ def test_get_next_draw_date_minimum() -> None:
|
||||
|
||||
|
||||
def test_get_previous_draw_date_minimum() -> None:
|
||||
"""Test the next draw date returned for each game and when an invalid name is presented (None)"""
|
||||
"""Test the next draw date returned for each game and when an invalid
|
||||
name is presented (None)"""
|
||||
assert ud.get_previous_draw_date(game="mega-millions")
|
||||
assert ud.get_previous_draw_date(game="powerball")
|
||||
assert not ud.get_previous_draw_date(game="something")
|
||||
@@ -50,39 +52,84 @@ def test_get_previous_draw_date_minimum() -> None:
|
||||
|
||||
def test_get_next_draw_date_specified_from_date() -> None:
|
||||
"""Test drawing dates returned for each possible day of the week."""
|
||||
assert ud.get_next_draw_date(game="mega-millions", from_date='02/15/2026') == '02/17/2026'
|
||||
assert ud.get_next_draw_date(game="mega-millions", from_date='02/16/2026') == '02/17/2026'
|
||||
assert ud.get_next_draw_date(game="mega-millions", from_date='02/17/2026') == '02/17/2026'
|
||||
assert ud.get_next_draw_date(game="mega-millions", from_date='02/18/2026') == '02/20/2026'
|
||||
assert ud.get_next_draw_date(game="mega-millions", from_date='02/19/2026') == '02/20/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game="mega-millions", from_date='02/15/2026',
|
||||
) == '02/17/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game="mega-millions", from_date='02/16/2026',
|
||||
) == '02/17/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game="mega-millions", from_date='02/17/2026',
|
||||
) == '02/17/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game="mega-millions", from_date='02/18/2026',
|
||||
) == '02/20/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game="mega-millions", from_date='02/19/2026',
|
||||
) == '02/20/2026'
|
||||
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/15/2026') == '02/16/2026'
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/16/2026') == '02/16/2026'
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/17/2026') == '02/18/2026'
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/18/2026') == '02/18/2026'
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/19/2026') == '02/21/2026'
|
||||
assert ud.get_next_draw_date(game='powerball', from_date='02/20/2026') == '02/21/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/15/2026',
|
||||
) == '02/16/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/16/2026',
|
||||
) == '02/16/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/17/2026',
|
||||
) == '02/18/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/18/2026',
|
||||
) == '02/18/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/19/2026',
|
||||
) == '02/21/2026'
|
||||
assert ud.get_next_draw_date(
|
||||
game='powerball', from_date='02/20/2026',
|
||||
) == '02/21/2026'
|
||||
|
||||
|
||||
def test_get_previous_draw_date_specified_from_date() -> None:
|
||||
"""Test drawing dates returned for each possible day of the week."""
|
||||
assert ud.get_previous_draw_date(game="mega-millions", from_date='02/15/2026') == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(game="mega-millions", from_date='02/16/2026') == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(game="mega-millions", from_date='02/17/2026') == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(game="mega-millions", from_date='02/18/2026') == '02/17/2026'
|
||||
assert ud.get_previous_draw_date(game="mega-millions", from_date='02/19/2026') == '02/17/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game="mega-millions", from_date='02/15/2026',
|
||||
) == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game="mega-millions", from_date='02/16/2026',
|
||||
) == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game="mega-millions", from_date='02/17/2026',
|
||||
) == '02/13/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game="mega-millions", from_date='02/18/2026',
|
||||
) == '02/17/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game="mega-millions", from_date='02/19/2026',
|
||||
) == '02/17/2026'
|
||||
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/15/2026') == '02/14/2026'
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/16/2026') == '02/14/2026'
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/17/2026') == '02/16/2026'
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/18/2026') == '02/16/2026'
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/19/2026') == '02/18/2026'
|
||||
assert ud.get_previous_draw_date(game='powerball', from_date='02/20/2026') == '02/18/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/15/2026',
|
||||
) == '02/14/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/16/2026',
|
||||
) == '02/14/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/17/2026',
|
||||
) == '02/16/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/18/2026',
|
||||
) == '02/16/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/19/2026',
|
||||
) == '02/18/2026'
|
||||
assert ud.get_previous_draw_date(
|
||||
game='powerball', from_date='02/20/2026',
|
||||
) == '02/18/2026'
|
||||
|
||||
|
||||
@pytest.mark.parametrize("game", ['powerball', 'mega-millions'])
|
||||
def test_scrape_game_history(game) -> None:
|
||||
"""Test scraping the powerball result page for 1996, 2020, and current year."""
|
||||
"""Test scraping the powerball result page for 1996, 2020, and current
|
||||
year."""
|
||||
try:
|
||||
scrape_data = sc.scrape_game_history(game, year=1996)
|
||||
assert len(scrape_data) in [17, 104]
|
||||
@@ -106,31 +153,47 @@ def test_calculate_odds() -> None:
|
||||
|
||||
def test_get_odds_of_winning() -> None:
|
||||
assert uo.get_odds_of_winning(
|
||||
main_ball_draw_pool=49, main_ball_draw_count=5, game_ball_draw_pool=18, game_ball_draw_count=1
|
||||
main_ball_draw_pool=49, main_ball_draw_count=5, game_ball_draw_pool=18,
|
||||
game_ball_draw_count=1,
|
||||
) == 'The odds of winning are 1 in 34,323,912'
|
||||
with pytest.raises(TypeError):
|
||||
uo.get_odds_of_winning()
|
||||
with pytest.raises(ValueError):
|
||||
uo.get_odds_of_winning(
|
||||
main_ball_draw_pool=49, main_ball_draw_count= 50, game_ball_draw_pool=18, game_ball_draw_count=1)
|
||||
main_ball_draw_pool=49, main_ball_draw_count=50,
|
||||
game_ball_draw_pool=18, game_ball_draw_count=1,
|
||||
)
|
||||
assert uo.get_odds_of_winning(
|
||||
main_ball_draw_pool=69, main_ball_draw_count=5, game_ball_draw_pool=26, game_ball_draw_count=1
|
||||
main_ball_draw_pool=69, main_ball_draw_count=5, game_ball_draw_pool=26,
|
||||
game_ball_draw_count=1,
|
||||
) == 'The odds of winning are 1 in 292,201,338'
|
||||
|
||||
|
||||
def test_get_powerball_object() -> None:
|
||||
data_value = ud.get_powerball_object(draw_date='2026-01-03', draw_result={'main_balls': [18, 21, 40, 53, 60],
|
||||
'powerball': 23, 'multiplier': 3})
|
||||
test_record = PowerballDraw(draw_date=datetime(2026, 1, 3).date(), main_ball1=18, main_ball2=21,
|
||||
main_ball3=40, main_ball4=53, main_ball5=60, powerball=23, power_play=3)
|
||||
data_value = ud.get_powerball_object(
|
||||
draw_date='2026-01-03', draw_result={
|
||||
'main_balls': [18, 21, 40, 53, 60],
|
||||
'powerball': 23, 'multiplier': 3,
|
||||
},
|
||||
)
|
||||
test_record = PowerballDraw(
|
||||
draw_date=datetime(2026, 1, 3).date(), main_ball1=18, main_ball2=21,
|
||||
main_ball3=40, main_ball4=53, main_ball5=60, powerball=23, power_play=3,
|
||||
)
|
||||
assert data_value == test_record
|
||||
|
||||
|
||||
def test_get_mega_millions_object() -> None:
|
||||
data_value = ud.get_mega_millions_object(draw_date='2010-02-02', draw_result={'main_balls': [6, 7, 26, 27, 49],
|
||||
'mega-ball': 9, 'multiplier': 4})
|
||||
test_record = MegaMillionsDraw(draw_date=datetime(2010, 2, 2).date(), main_ball1=6, main_ball2=7,
|
||||
main_ball3=26, main_ball4=27, main_ball5=49, mega_ball=9, megaplier=4)
|
||||
data_value = ud.get_mega_millions_object(
|
||||
draw_date='2010-02-02', draw_result={
|
||||
'main_balls': [6, 7, 26, 27, 49],
|
||||
'mega-ball': 9, 'multiplier': 4,
|
||||
},
|
||||
)
|
||||
test_record = MegaMillionsDraw(
|
||||
draw_date=datetime(2010, 2, 2).date(), main_ball1=6, main_ball2=7,
|
||||
main_ball3=26, main_ball4=27, main_ball5=49, mega_ball=9, megaplier=4,
|
||||
)
|
||||
assert data_value == test_record
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user