agile-tutorial icon indicating copy to clipboard operation
agile-tutorial copied to clipboard

Create `/math/multiply` resource

Open neumannrf opened this issue 6 years ago • 0 comments

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.py file 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.py file should include an external file above the from src import basic_services as bs line.
from src import math_services as ms
  • There should be a src/math_services.py file 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.py file 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.

neumannrf avatar Mar 15 '19 14:03 neumannrf