From 99c5c31fd3f76699b5c2a3e5708d2aa615c0a6e6 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Sat, 7 Mar 2026 22:16:30 -0500 Subject: [PATCH] Add tests for loading dataframe and least/most common number --- tests/test_lottery_predictor_analyze.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/test_lottery_predictor_analyze.py diff --git a/tests/test_lottery_predictor_analyze.py b/tests/test_lottery_predictor_analyze.py new file mode 100644 index 0000000..862fa80 --- /dev/null +++ b/tests/test_lottery_predictor_analyze.py @@ -0,0 +1,25 @@ +import pytest +import pandas as pd + +import lottery_predictor.analyze as analyze + + +def test_load_dataframe() -> None: + assert int(analyze.load_dataframe(table_name='PowerballDraw').count()['draw_date']) >= 1324 + assert int(analyze.load_dataframe(table_name='MegaMillionsDraw').count()['draw_date']) >= 95 + with pytest.raises(ValueError): + analyze.load_dataframe(table_name='SomNonExistentTableName') + + +def test_least_and_most_common_number() -> None: + pb_df = analyze.load_dataframe(table_name='PowerballDraw') + mm_df = analyze.load_dataframe(table_name='MegaMillionsDraw') + assert len(analyze.get_most_common_number(pb_df, top=5)) == 5 + assert len(analyze.get_least_common_number(pb_df, bottom=5)) == 5 + assert len(analyze.get_most_common_number(mm_df, top=5)) == 5 + assert len(analyze.get_least_common_number(mm_df, bottom=5)) == 5 + + assert len(analyze.get_most_common_number(pb_df, columns=['powerball'], top=1)) == 1 + assert len(analyze.get_least_common_number(pb_df, columns=['powerball'], bottom=1)) == 1 + assert len(analyze.get_most_common_number(mm_df, columns=['mega_ball'], top=1)) == 1 + assert len(analyze.get_least_common_number(mm_df, columns=['mega_ball'], bottom=1)) == 1