agile-tutorial
agile-tutorial copied to clipboard
Create `/math/multiply` resource
As a user I need to multiply each element in the list by an integer value So that so that calculations can be automated.
Assumptions:
- There should be a
main.pyfile with the following content.
@math_ns.route('/multiply/<int:integer>')
@math_ns.doc(params={'integer': 'Integer value.'}, description='Multiply list by an integer.')
class MultiplyList(Resource):
def put(self, integer):
return ms.multiply_list(my_list, integer)
- The
main.pyfile should include an external file above thefrom src import basic_services as bsline.
from src import math_services as ms
- There should be a
src/math_services.pyfile with the following content
def multiply_list(integer_list, integer_value):
"""
Multiply every integer in the list by an integer value.
Receives
--------
integer_list : list
List of integers.
integer_value : integer
Integer value by which every element should be multiplied.
Returns
-------
multiplied_list : list
List of integers multiplied by input value.
"""
multiplied_list = [integer_value*x for x in integer_list]
integer_list.clear()
integer_list.extend(multiplied_list)
return integer_list
- There should be a
test/math_test.pyfile with the following content.
from src import math_services as ms
def test_multiply_list():
assert ms.multiply_list([], 1) == []
assert ms.multiply_list([1], 0) == [0]
assert ms.multiply_list([1], 1) == [1]
assert ms.multiply_list([1], 2) == [2]
assert ms.multiply_list([1, 2], 0) == [0, 0]
assert ms.multiply_list([1, 2], 1) == [1, 2]
assert ms.multiply_list([1, 2], 2) == [2, 4]
assert ms.multiply_list([1, 2, 3], 0) == [0, 0, 0]
assert ms.multiply_list([1, 2, 3], 1) == [1, 2, 3]
assert ms.multiply_list([1, 2, 3], 2) == [2, 4, 6]
Acceptance criteria:
Given that the application stores a list of integers
When this resource is called
Then each number in the list is multiplied by an integer value.