コード例 #1
0
def test_amount_increases_when_inserting_coin():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.insert_coin(5)
    assert turnstile.current_amount() == 5
コード例 #2
0
def test_amount_in_turnstile_is_reset_after_unlocking():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.insert_coin(15)
    assert turnstile.current_amount() == 0
コード例 #3
0
def test_insert_coins_keeps_unlocked_turnstile_unlocked():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.change_state(Unlocked(turnstile))
    turnstile.insert_coin(5)
    assert turnstile.current_state() == "unlocked"
コード例 #4
0
def test_insert_more_than_sufficient_coins_opens_turnstile():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.insert_coin(15)
    assert turnstile.current_state() == "unlocked"
コード例 #5
0
def test_inserting_half_the_required_amount_twice_unlocks_turnstile():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.insert_coin(5)
    assert turnstile.current_state() == "locked"
    turnstile.insert_coin(5)
    assert turnstile.current_state() == "unlocked"
コード例 #6
0
def test_insert_insufficient_coins_keeps_turnstile_locked():
    turnstile = Turnstile(amount_for_passing=10)
    turnstile.insert_coin(5)
    assert turnstile.current_state() == "locked"