newdwh2021/ecs/crm-datafetch/tests/util/test_counter_object.py

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