115 lines
2.9 KiB
Python
115 lines
2.9 KiB
Python
import pytest
|
|
from src.util.counter_object import CounterObject
|
|
|
|
|
|
class TestCounterObject:
|
|
|
|
def test_describe(self) -> int:
|
|
"""
|
|
Cases:
|
|
カウンターオブジェクトにて保持した値を返すこと
|
|
Arranges:
|
|
なし
|
|
Expects:
|
|
問い合わせた値が期待値と一致する
|
|
"""
|
|
|
|
# Act
|
|
sut = CounterObject()
|
|
actual = sut.describe()
|
|
|
|
# Expects
|
|
assert actual == 1
|
|
|
|
def test_raise_describe(self) -> int:
|
|
"""
|
|
Cases:
|
|
カウンターオブジェクトの保持した値を問い合わせる際、引数を渡すと例外が発生すること
|
|
Arranges:
|
|
なし
|
|
Expects:
|
|
問い合わせた値が期待値と一致する
|
|
"""
|
|
|
|
# Act
|
|
with pytest.raises(Exception) as e:
|
|
sut = CounterObject()
|
|
sut.describe(1)
|
|
|
|
# Expects
|
|
assert str(e.value) == 'describe() takes 1 positional argument but 2 were given'
|
|
|
|
def test_increment(self) -> int:
|
|
"""
|
|
Cases:
|
|
カウンターオブジェクトにて保持した値がインクリメントされていること
|
|
Arranges:
|
|
なし
|
|
Expects:
|
|
戻り値が期待値と一致する
|
|
"""
|
|
|
|
# Act
|
|
sut = CounterObject(5)
|
|
sut.increment()
|
|
actual = sut.increment()
|
|
|
|
# Expects
|
|
assert actual == 7
|
|
|
|
def test_raise_increment(self) -> 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) -> int:
|
|
"""
|
|
Cases:
|
|
カウンターオブジェクトにて保持した値がデクリメントされていること
|
|
Arranges:
|
|
なし
|
|
Expects:
|
|
戻り値が期待値と一致する
|
|
"""
|
|
|
|
# Act
|
|
sut = CounterObject(5)
|
|
sut.decrement(2)
|
|
actual = sut.decrement(2)
|
|
|
|
# Expects
|
|
assert actual == 1
|
|
|
|
def test_raise_decrement(self) -> 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'"
|