From a70d03b3660a12a11cbc99613eff7855b94c6734 Mon Sep 17 00:00:00 2001 From: Y_SAKAI Date: Thu, 4 Aug 2022 19:40:13 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20couter=5Fobject.py=E3=81=AE=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=82=B3=E3=83=BC=E3=83=89=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/util/test_counter_object.py | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 ecs/crm-datafetch/tests/util/test_counter_object.py diff --git a/ecs/crm-datafetch/tests/util/test_counter_object.py b/ecs/crm-datafetch/tests/util/test_counter_object.py new file mode 100644 index 00000000..47b9928a --- /dev/null +++ b/ecs/crm-datafetch/tests/util/test_counter_object.py @@ -0,0 +1,114 @@ +import pytest +from src.util.counter_object import CounterObject + + +class TestCounterObject: + + def test_describe(self) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値を返すこと + Arranges: + なし + Expects: + 問い合わせた値が期待値と一致する + """ + + # Act + sut = CounterObject(5) + actual = sut.describe() + + # Expects + assert actual == 5 + + def test_raise_describe(self) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値を返すこと + Arranges: + なし + Expects: + 問い合わせた値が期待値と一致する + """ + + # Act + with pytest.raises(Exception) as e: + sut = CounterObject("aaa") + sut.describe() + + # Expects + assert str(e.value) == '例外' + + def test_increment(self, num=1) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値がインクリメントされていること + Arranges: + なし + Expects: + 戻り値が期待値と一致する + """ + + # Act + sut = CounterObject(5) + sut.increment() + actual = sut.increment() + + # Expects + assert actual == 7 + + def test_raise_increment(self, num=1) -> int: + """ + Cases: + 文字列を引数で渡すことで、例外が発生すること + Arranges: + なし + Expects: + 発生した例外が期待値と一致する + """ + + # Act + with pytest.raises(Exception) as e: + sut = CounterObject(5) + sut.increment('aaa') + sut.increment('aaa') + + # Expects + assert str(e.value) == "unsupported operand type(s) for +=: 'int' and 'str'" + + def test_decrement(self, num=1) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値がデクリメントされていること + Arranges: + なし + Expects: + 戻り値が期待値と一致する + """ + + # Act + sut = CounterObject(5) + sut.decrement(2) + actual = sut.decrement(2) + + # Expects + assert actual == 1 + + def test_raise_decrement(self, num=1) -> int: + """ + Cases: + 文字列を引数で渡すことで、例外が発生すること + Arranges: + なし + Expects: + 発生した例外が期待値と一致する + """ + + # Act + with pytest.raises(Exception) as e: + sut = CounterObject(5) + sut.decrement('aaa') + sut.decrement('aaa') + + # Expects + assert str(e.value) == "unsupported operand type(s) for -=: 'int' and 'str'"