Esempio n. 1
0
    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')
Esempio n. 2
0
 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')
Esempio n. 3
0
 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)
Esempio n. 4
0
 def return_twice(self):
     ''' times(2) should return default (None) value just twice '''
     spec = Spec(MockResult(MockCall(MockSpec(), '')))
     spec.when(spec.times(2))
     spec.then(spec.specified_times()).should_be(2)
     spec.then(spec.times_remaining()).should_be(2)
     spec.then(spec.times_remaining()).should_be(2)
     spec.then(spec.next()).should_be(None)
     spec.then(spec.times_remaining()).should_be(1)
     spec.then(spec.next()).should_be(None)
     spec.then(spec.times_remaining()).should_be(0)
     spec.then(spec.next()).should_raise(UnmetSpecification)
Esempio n. 5
0
 def return_twice(self):
     ''' times(2) should return default (None) value just twice '''
     spec = Spec(MockResult(MockCall(MockSpec(), '')))
     spec.when(spec.times(2))
     spec.then(spec.specified_times()).should_be(2)
     spec.then(spec.times_remaining()).should_be(2)
     spec.then(spec.times_remaining()).should_be(2)
     spec.then(spec.next()).should_be(None)
     spec.then(spec.times_remaining()).should_be(1)
     spec.then(spec.next()).should_be(None)
     spec.then(spec.times_remaining()).should_be(0)
     spec.then(spec.next()).should_raise(UnmetSpecification)
Esempio n. 6
0
 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)
Esempio n. 7
0
    def raise_exception(self):
        ''' raises(exception) should raise exceptions in the same
        fashion as will_suppply_values should return values '''
        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exception = ValueError('the number of the counting shall be three')
        spec.when(spec.raises(exception))
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.times_remaining()).should_be(0)
        spec.then(spec.next()).should_raise(UnmetSpecification)
        
        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exception = ValueError('the number of the counting shall be three')
        spec.when(spec.times(2), spec.raises(exception))
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.next()).should_raise(UnmetSpecification)

        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exceptions = (ValueError('the number of the counting shall be three'),
                      ValueError('Four shalt thou not count'))
        spec.when(spec.times(2), spec.raises(*exceptions))
        spec.then(spec.next()).should_raise(exceptions[0])
        spec.then(spec.next()).should_raise(exceptions[1])
        spec.then(spec.next()).should_raise(UnmetSpecification)
Esempio n. 8
0
    def raise_exception(self):
        ''' raises(exception) should raise exceptions in the same
        fashion as will_suppply_values should return values '''
        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exception = ValueError('the number of the counting shall be three')
        spec.when(spec.raises(exception))
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.times_remaining()).should_be(0)
        spec.then(spec.next()).should_raise(UnmetSpecification)

        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exception = ValueError('the number of the counting shall be three')
        spec.when(spec.times(2), spec.raises(exception))
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.next()).should_raise(exception)
        spec.then(spec.next()).should_raise(UnmetSpecification)

        spec = Spec(MockResult(MockCall(MockSpec(), '')))
        exceptions = (ValueError('the number of the counting shall be three'),
                      ValueError('Four shalt thou not count'))
        spec.when(spec.times(2), spec.raises(*exceptions))
        spec.then(spec.next()).should_raise(exceptions[0])
        spec.then(spec.next()).should_raise(exceptions[1])
        spec.then(spec.next()).should_raise(UnmetSpecification)
Esempio n. 9
0
 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)
Esempio n. 10
0
 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)