def supply_single_value_twice(self): ''' combining supplies(a_value) & times(2) (in any order) should return a_value, twice ''' spec = Spec(MockResult(MockCall(None, ''))) spec.when(spec.times(2), spec.supplies('f')) spec.then(spec.specified_times()).should_be(2) spec.then(spec.next()).should_be('f') spec.then(spec.next()).should_be('f') spec = Spec(MockResult(MockCall(None, ''))) spec.when(spec.supplies('f'), spec.times(2)) spec.then(spec.specified_times()).should_be(2) spec.then(spec.next()).should_be('f') spec.then(spec.next()).should_be('f')
def supply_different_values_each_time(self): ''' supplies(a,b,...) should return a,b,... on successive calls ''' spec = Spec(MockResult(MockCall(MockSpec(), ''))) spec.when(spec.times(3)) spec.then(spec.supplies('x', 'y', 'z')).should_not_raise(ValueError) spec.then(spec.specified_times()).should_be(3) spec.then(spec.next()).should_be('x') spec.then(spec.next()).should_be('y') spec.then(spec.next()).should_be('z') spec.then(spec.next()).should_raise(UnmetSpecification)
def check_number_values_against_times(self): ''' supplies(a,b,...) iff times(len(a,b,...)) ''' spec = Spec(MockResult(MockCall(None, ''))) spec.when(spec.times(2)) spec.then(spec.supplies('a', 'b')).should_not_raise(ValueError) spec.then(spec.supplies('x', 'y', 'z')).should_raise(ValueError)
def supply_single_value(self): ''' supplies(a_value) should return that value, once ''' spec = Spec(MockResult(MockCall(None, ''))) spec.when(spec.supplies('f')) spec.then(spec.specified_times()).should_be(1) spec.then(spec.next()).should_be('f')