feat: couter_object.pyのテストコード追加

This commit is contained in:
Y_SAKAI 2022-08-04 19:40:13 +09:00
parent ec74a8cf46
commit a70d03b366

View File

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