def test_wrong_initiation_lower_limit(): with pytest.raises(Exception) as e_info: stock = sf.Stock("test", initial_value=-2, lower_limit=0, upper_limit=10)
def stock_b(): return sf.Stock("B", initial_value=10, lower_limit=None, upper_limit=None)
def test_increment(): stock = sf.Stock("test", initial_value=5, lower_limit=0, upper_limit=10) stock += 2 assert stock.value == 7
def test_decrement_under_limit(): stock = sf.Stock("test", initial_value=5, lower_limit=0, upper_limit=10) with pytest.raises(sf.exceptions.OutOfLimitsError) as e_info: stock -= 6
def test_decrement_to_limit(): stock = sf.Stock("test", initial_value=5, lower_limit=0, upper_limit=10) stock -= 5 assert stock.value == 0
def test_to_outflow_rev(): b = sf.Stock("B", initial_value=2, lower_limit=0, upper_limit=10) new = None << b assert isinstance(new, sf.flow.OutFlow) assert 2 == b.value
def test_to_inflow_rev(): a = sf.Stock("A", initial_value=2, lower_limit=0, upper_limit=10) new = None >> a assert isinstance(new, sf.flow.InFlow) assert 2 == a.value