From 027e7b490c08ebb00b9a3e124223a9008d7bae92 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 5 Mar 2022 15:53:08 +0000 Subject: [PATCH] =?UTF-8?q?=E9=B3=A9=E3=81=AF=E5=94=90=E6=8F=9A=E3=81=92?= =?UTF-8?q?=EF=BC=81(=E8=87=AA=E5=8B=95=E3=81=A7=E7=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=82=E3=81=92=E3=81=9F=E3=82=88=EF=BC=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/omikuji.py | 25 +++++++++++++++++-------- tests/library/test_omikuji.py | 3 +-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/library/omikuji.py b/library/omikuji.py index 582404ad98..bc5a489892 100644 --- a/library/omikuji.py +++ b/library/omikuji.py @@ -10,12 +10,16 @@ from functools import reduce from random import choices + class AbstractOmikujiResults(ABC) - """ + + +""" おみくじの結果一覧の抽象クラス """ - pass - +pass + + """ Enumを継承している """ @@ -23,7 +27,6 @@ class AbstractOmikujiResults(ABC) AbstractOmikujiResults.register(Enum) - @dataclass class OmikujiResult: key: AbstractOmikujiResults @@ -55,14 +58,15 @@ def test(self): entry.test assert reduce(lambda acc, cur: acc + cur.rate, self.entries, 0) == 1.0 - assert len(filter(lambda key, value: key != value.key, self.entries)) == 0 + assert len(filter(lambda key, value: key != + value.key, self.entries)) == 0 def draw(self): """ おみくじを引く """ return choices( - population=self.entries, + population=self.entries, weights=map(lambda entry: entry.rate, self.entries) k=1 )[0] @@ -71,6 +75,8 @@ def draw(self): """ おみくじメイン処理 """ + + class OmikujiResults(AbstractOmikujiResults): DaiKichi = auto() ChuKichi = auto() @@ -80,6 +86,7 @@ class OmikujiResults(AbstractOmikujiResults): Kyo = auto() DaiKyo = auto() + omikuji = Omikuji(entries={ OmikujiResults.DaiKichi: OmikujiResult(OmikujiResults.DaiKichi, 0.02, ":tada: 大吉 何でもうまくいく!!気がする!!"), OmikujiResults.ChuKichi: OmikujiResult(OmikujiResults.ChuKichi, 0.2, ":smile: 中吉 そこそこうまくいくかも!?"), @@ -90,8 +97,10 @@ class OmikujiResults(AbstractOmikujiResults): OmikujiResults.DaiKyo: OmikujiResult(OmikujiResults.DaiKyo, 0.0025, ":crying_cat_face: 大凶 そういう時もあります……猫になって耐えましょう"), }) + def test(): omikuji.test() - -def draw(): + + +def draw(): return omikuji.draw().message diff --git a/tests/library/test_omikuji.py b/tests/library/test_omikuji.py index 81cd21981e..f8fa00f39a 100644 --- a/tests/library/test_omikuji.py +++ b/tests/library/test_omikuji.py @@ -4,7 +4,7 @@ import unittest from library.omikuji import AbstractOmikujiResults, OmikujiResult, Omikuji, test - + class TestOmikuji(unittest.TestCase): """ @@ -17,7 +17,6 @@ def test_omikuji_config: """ test() - def test_omikuji_minimum: """ おみくじの実装が正常か