Mist
Mist

Reputation: 57

How to run multiple test cases for a function?

Let's say I have this function and instead of checking manually by calling function again and again how can I run multiple test cases all at once to validate my code.

def sumSubarray(nums, k):
    auxSum = {0:1}
    currSum = 0
    res = 0
    for i in nums:
        currSum += i
        res += auxSum.get(currSum - k, 0)
        auxSum[currSum] = auxSum.get(currSum, 0) + 1
    return res 

print(sumSubarray([9,4,20,3,10,5],33))

Upvotes: 1

Views: 297

Answers (1)

Jose Manuel de Frutos
Jose Manuel de Frutos

Reputation: 994

You can create a unittest file like this and then run it:

import unittest

class TestSumSubarray(unittest.TestCase):

def test_1(self):
    self.assertEqual(sumSubarray([9,4,20,3,10,5]), 33)
    self.assertEqual(sumSubarray([x,y,z]), yourResult)

def test_negatives(self):
    self.assertEqual(sumSubarray([-9,-4,-20,-3,-10,-5]), yourResult)
    self.assertEqual(sumSubarray([-x,-y,-z]), yourResult)

if __name__ == '__main__':
    unittest.main()

Upvotes: 1

Related Questions