Change behavior of stub_called_times

It now only ever returns the the number of times the stub has been
called. To assert if it has been called exactly X number of times, use
`stub_called_exact_times` instead.
This commit is contained in:
2014-03-22 14:03:33 +00:00
parent a6741d903c
commit 807d1ba73d
4 changed files with 51 additions and 17 deletions

View File

@@ -0,0 +1,32 @@
#! /usr/bin/env bash
source "test-helper.sh"
#
# stub_called_exactly_times() tests.
#
# Setup.
stub "uname"
uname
uname -r
# Returns 0 when stub called exactly given number of times.
assert_raises 'stub_called_exactly_times "uname" 2' 0
# Returns 1 when stub has not been called the exact given number of times.
assert_raises 'stub_called_exactly_times "uname" 4' 1
assert_raises 'stub_called_exactly_times "uname" 3' 1
assert_raises 'stub_called_exactly_times "uname" 1' 1
assert_raises 'stub_called_exactly_times "uname" 0' 1
# Behaves as if stub has not been called when the stub doesn't exist.
assert_raises 'stub_called_exactly_times "top" 0' 0
assert_raises 'stub_called_exactly_times "top" 1' 1
# Teardown.
restore "uname"
# End of tests.
assert_end "stub_called_times()"

View File

@@ -29,14 +29,6 @@ stub "uname"
assert 'stub_called_times "uname"' "0"
restore "uname"
# When given a second argument, asserts stub called X number of times.
stub "uname"
uname
assert_raises 'stub_called_times "uname" 1' 0
assert 'stub_called_times "uname" 1' ""
assert_raises 'stub_called_times "uname" 3' 1
assert 'stub_called_times "uname" 3' ""
restore "uname"
# End of tests.
assert_end "stub_called_times()"

View File

@@ -12,7 +12,7 @@ uname -r
uname -r
uname -r -a
# Returns 0 when stub called exactly given number of times
# Returns 0 when stub called exactly given number of times.
assert_raises 'stub_called_with_exactly_times "uname" 2 -r' 0
# Returns 1 when stub has not been called the exact given number of times.