agile-tutorial
agile-tutorial copied to clipboard
Create `/math/cube` resource
As a user I need to cube each element in the list So that so that calculations can be automated.
Assumptions:
- There should be a
main.pyfile with the following content.
@math_ns.route('/cube')
@math_ns.doc(description='Takes the cube of the list.')
class CubeList(Resource):
def put(self):
return ms.cube_list(my_list)
- 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 cube_list(integer_list):
"""
Takes the cube of every integer in the list.
Receives
--------
integer_list : list
List of integer values.
Returns
-------
cubed_list : list
List of the cubes of integer values.
"""
cubed_list = [x**3 for x in integer_list]
integer_list.clear()
integer_list.extend(cubed_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_cube_list():
assert ms.cube_list([]) == []
assert ms.cube_list([1]) == [1]
assert ms.cube_list([2]) == [8]
assert ms.cube_list([1, 2]) == [1, 8]
assert ms.cube_list([1, 2, 3]) == [1, 8, 27]
Acceptance criteria:
Given that the application stores a list of integers
When this resource is called
Then each integer number in the list is cubed.