Reputation: 57
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
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