diff --git a/ecs/crm-datafetch/src/util/counter_object.py b/ecs/crm-datafetch/src/util/counter_object.py index 23da4f82..6cf6b7c2 100644 --- a/ecs/crm-datafetch/src/util/counter_object.py +++ b/ecs/crm-datafetch/src/util/counter_object.py @@ -1,6 +1,6 @@ class CounterObject: def __init__(self, base_num=1) -> None: - self.__counter = base_num + self.__counter = int(base_num) def describe(self) -> int: return self.__counter diff --git a/ecs/crm-datafetch/tests/util/test_counter_object.py b/ecs/crm-datafetch/tests/util/test_counter_object.py index 8bf677a0..787099ba 100644 --- a/ecs/crm-datafetch/tests/util/test_counter_object.py +++ b/ecs/crm-datafetch/tests/util/test_counter_object.py @@ -4,10 +4,56 @@ from src.util.counter_object import CounterObject class TestCounterObject: + def test_constructor(self) -> int: + """ + Cases: + カウンターオブジェクト生成時に、数値を渡すと例外が発生しないこと + Arranges: + なし + Expects: + 例外が発生しないこと + """ + # Act + CounterObject(1) + + # Expects + pass + + def test_constructor_string_number(self) -> int: + """ + Cases: + カウンターオブジェクト生成時に、文字列型の数値を渡すと例外が発生しないこと + Arranges: + なし + Expects: + 例外が発生しないこと + """ + # Act + CounterObject("1") + + # Expects + pass + + def test_raise_constructor_string(self) -> int: + """ + Cases: + カウンターオブジェクト生成時に、文字列を渡すと例外が発生すること + Arranges: + なし + Expects: + 発生した例外が期待値と一致すること + """ + # Act + with pytest.raises(Exception) as e: + CounterObject("test1") + + # Expects + assert "invalid literal for int() with base 10:" in str(e.value) + def test_describe(self) -> int: """ Cases: - カウンターオブジェクトにて保持した値を返すこと + カウンターオブジェクトにて保持した値を返すこと(インスタンス生成時引数なし) Arranges: なし Expects: @@ -21,6 +67,23 @@ class TestCounterObject: # Expects assert actual == 1 + def test_describe_argument(self) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値を返すこと(インスタンス生成時引数あり) + Arranges: + なし + Expects: + 問い合わせた値が期待値と一致する + """ + + # Act + sut = CounterObject(3) + actual = sut.describe() + + # Expects + assert actual == 3 + def test_raise_describe(self) -> int: """ Cases: @@ -42,7 +105,25 @@ class TestCounterObject: def test_increment(self) -> int: """ Cases: - カウンターオブジェクトにて保持した値がインクリメントされていること + カウンターオブジェクトにて保持した値がインクリメントされていること(引数なし) + Arranges: + なし + Expects: + 戻り値が期待値と一致する + """ + + # Act + sut = CounterObject() + sut.increment() + actual = sut.increment() + + # Expects + assert actual == 3 + + def test_increment_argument(self) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値がインクリメントされていること(引数あり) Arranges: なし Expects: @@ -51,11 +132,11 @@ class TestCounterObject: # Act sut = CounterObject(5) - sut.increment() - actual = sut.increment() + sut.increment(2) + actual = sut.increment(2) # Expects - assert actual == 7 + assert actual == 9 def test_raise_increment(self) -> int: """ @@ -79,7 +160,25 @@ class TestCounterObject: def test_decrement(self) -> int: """ Cases: - カウンターオブジェクトにて保持した値がデクリメントされていること + カウンターオブジェクトにて保持した値がデクリメントされていること(引数なし) + Arranges: + なし + Expects: + 戻り値が期待値と一致する + """ + + # Act + sut = CounterObject() + sut.decrement() + actual = sut.decrement() + + # Expects + assert actual == -1 + + def test_decrement_argument(self) -> int: + """ + Cases: + カウンターオブジェクトにて保持した値がデクリメントされていること(引数あり) Arranges: なし Expects: