Compare commits

...

3 Commits

Author SHA1 Message Date
f40ea91ee2
ci: tox pytest command 2024-08-06 12:33:32 +08:00
ade0bcb2b7
fix: py3.8 compatibility 2024-08-06 12:32:52 +08:00
abc535c59f
fix: linter warning PLR2004 2024-08-06 12:32:43 +08:00
5 changed files with 22 additions and 6 deletions

View File

@ -7,7 +7,7 @@ from arcaea_offline.constants.play_result import ScoreLowerLimits
class PlayResultCalculators:
@staticmethod
def score_possible_range(notes: int, pure: int, far: int) -> tuple[int, int]:
def score_possible_range(notes: int, pure: int, far: int) -> Tuple[int, int]:
"""
Returns the possible range of score based on the given values.
@ -44,9 +44,9 @@ class PlayResultCalculators:
if score < 0:
raise ValueError("score cannot be negative")
if score >= 10000000:
if score >= ScoreLowerLimits.PM:
return Decimal(2)
if score >= 9800000:
if score >= ScoreLowerLimits.EX:
return Decimal(1) + (Decimal(score - 9800000) / 200000)
return Decimal(score - 9500000) / 300000

View File

@ -3,6 +3,7 @@ from dataclasses import dataclass
@dataclass(frozen=True)
class ScoreLowerLimits:
PM = 10000000
EX_PLUS = 9900000
EX = 9800000
AA = 9500000

View File

@ -1,6 +1,5 @@
import sqlite3
from datetime import datetime
from importlib.resources import files
import pytest
from arcaea_offline.constants.enums.arcaea import (
@ -14,7 +13,7 @@ import tests.resources
class TestSt3Parser:
DB_PATH = files(tests.resources).joinpath("st3-test.db")
DB_PATH = tests.resources.get_resource("st3-test.db")
@property
def play_results(self):

View File

@ -0,0 +1,16 @@
import importlib.resources
import sys
def get_resource(path: str):
"""
A wrapper for `importlib.resources.files()` since it's not available in Python 3.8.
"""
if sys.version_info >= (3, 9, 0):
with importlib.resources.as_file(
importlib.resources.files(__name__).joinpath(path)
) as resource_path:
return resource_path
with importlib.resources.path(__name__, path) as resource_path:
return resource_path

View File

@ -13,4 +13,4 @@ wheel_build_env = .pkg
deps =
pytest==7.4.3
commands =
pytest {tty:--color=yes} {posargs}
python -m pytest {tty:--color=yes} {posargs}