fix: インスタンス生成時に文字列を渡すと例外が発生する処理を追加。テストコードのレビュー指摘内容の反映。

This commit is contained in:
Y_SAKAI 2022-08-10 10:08:49 +09:00
parent 36fb610562
commit e3240e7179
2 changed files with 106 additions and 7 deletions

View File

@ -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

View File

@ -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: