Compare commits

..

3 Commits

Author SHA1 Message Date
0d5e21a90e
refactor: arcaea enums
- Move all arcaea related enums to a single file
- Add ArcaeaSongSide enum
2024-05-20 00:55:33 +08:00
a6d71135fb
feat: ArcaeaLanguage enum 2024-05-20 00:22:12 +08:00
5f2b66233b
chore: tests 2024-05-20 00:19:16 +08:00
7 changed files with 59 additions and 36 deletions

View File

@ -1,3 +1,15 @@
from .clear_type import ArcaeaPlayResultClearType
from .modifier import ArcaeaPlayResultModifier
from .rating_class import ArcaeaRatingClass
from .arcaea import (
ArcaeaLanguage,
ArcaeaPlayResultClearType,
ArcaeaPlayResultModifier,
ArcaeaRatingClass,
ArcaeaSongSide,
)
__all__ = [
"ArcaeaLanguage",
"ArcaeaPlayResultClearType",
"ArcaeaPlayResultModifier",
"ArcaeaRatingClass",
"ArcaeaSongSide",
]

View File

@ -0,0 +1,37 @@
from enum import Enum, IntEnum
class ArcaeaRatingClass(IntEnum):
PAST = 0
PRESENT = 1
FUTURE = 2
BEYOND = 3
ETERNAL = 4
class ArcaeaSongSide(IntEnum):
LIGHT = 0
CONFLICT = 1
COLORLESS = 2
class ArcaeaPlayResultModifier(IntEnum):
NORMAL = 0
EASY = 1
HARD = 2
class ArcaeaPlayResultClearType(IntEnum):
TRACK_LOST = 0
NORMAL_CLEAR = 1
FULL_RECALL = 2
PURE_MEMORY = 3
HARD_CLEAR = 4
EASY_CLEAR = 5
class ArcaeaLanguage(Enum):
JA = "ja"
KO = "ko"
ZH_HANT = "zh-Hant"
ZH_HANS = "zh-Hans"

View File

@ -1,10 +0,0 @@
from enum import IntEnum
class ArcaeaPlayResultClearType(IntEnum):
TRACK_LOST = 0
NORMAL_CLEAR = 1
FULL_RECALL = 2
PURE_MEMORY = 3
HARD_CLEAR = 4
EASY_CLEAR = 5

View File

@ -1,7 +0,0 @@
from enum import IntEnum
class ArcaeaPlayResultModifier(IntEnum):
NORMAL = 0
EASY = 1
HARD = 2

View File

@ -1,9 +0,0 @@
from enum import IntEnum
class ArcaeaRatingClass(IntEnum):
PAST = 0
PRESENT = 1
FUTURE = 2
BEYOND = 3
ETERNAL = 4

View File

@ -1,6 +1,6 @@
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import Session, sessionmaker
from sqlalchemy.orm import sessionmaker
# region sqlalchemy fixtures
# from https://medium.com/@vittorio.camisa/agile-database-integration-tests-with-python-sqlalchemy-and-factory-boy-6824e8fe33a1

View File

@ -1,7 +1,7 @@
from typing import Optional
from sqlalchemy import text
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column
from arcaea_offline.constants.enums import (
ArcaeaPlayResultClearType,
@ -47,16 +47,16 @@ class ModifierTestModel(Base):
class TestCustomTypes:
def _common_test_method(self, db_session, obj: Base, value_in_db):
def _common_test_method(self, session: Session, obj: Base, value_in_db):
"""
This method stores the `obj` into the given `db_session`,
This method stores the `obj` into the given `session`,
then fetches the raw value of `obj.value` from database,
and asserts that the value is equal to `value_in_db`.
"""
db_session.add(obj)
db_session.commit()
session.add(obj)
session.commit()
exec_result = db_session.execute(
exec_result = session.execute(
text(
f"SELECT value FROM {obj.__tablename__} WHERE id = {obj.id}" # type: ignore
)