TheRealSamuel/LeetCodeProblem
0561
1 2module Main where3import Test.HUnit4 5--Program start6 7--Program end8 9-- Test cases10 11test1 :: Test12test1 = TestCase (assertEqual "for (minimumSumSubarray [3, ( -2), 1, 4] 2 3)," 1 (minimumSumSubarray [3, -2, 1, 4] 2 3))13 14test2 :: Test15test2 = TestCase (assertEqual "for (minimumSumSubarray [-2, 2, ( -3), 1] 2 3)," (-1) (minimumSumSubarray [-2, 2, -3, 1] 2 3))16 17test3 :: Test18test3 = TestCase (assertEqual "for (minimumSumSubarray [1, 2, 3, 4] 2 4)," 3 (minimumSumSubarray [1, 2, 3, 4] 2 4))19 20test4 :: Test21test4 = TestCase (assertEqual "for (minimumSumSubarray [-484, ( -678), ( -161), 772, 485, 954, 849, ( -120), ( -381)] 9 9)," 1236 (minimumSumSubarray [-484, -678, -161, 772, 485, 954, 849, -120, -381] 9 9))22 23test5 :: Test24test5 = TestCase (assertEqual "for (minimumSumSubarray [500, 204, ( -946), 751, ( -938), ( -95), ( -751), ( -731), 323, 207, 412] 5 7)," (-1) (minimumSumSubarray [500, 204, -946, 751, -938, -95, -751, -731, 323, 207, 412] 5 7))25 26test6 :: Test27test6 = TestCase (assertEqual "for (minimumSumSubarray [104, 328, ( -640), ( -399), ( -47)] 3 4)," (-1) (minimumSumSubarray [104, 328, -640, -399, -47] 3 4))28 29test7 :: Test30test7 = TestCase (assertEqual "for (minimumSumSubarray [604, ( -245), ( -778), 618, ( -603), 185, ( -844), 978, ( -477), 336, ( -834)] 7 11)," 193 (minimumSumSubarray [604, -245, -778, 618, -603, 185, -844, 978, -477, 336, -834] 7 11))31 32test8 :: Test33test8 = TestCase (assertEqual "for (minimumSumSubarray [225, 122, ( -360), ( -26), 147, ( -688), 602, 749, ( -194), ( -122), 795, 835, ( -377), 125, ( -387), 60, ( -517), 256, ( -852), ( -744), 920, 582, ( -204), 34, 748, ( -459), 113, 97, ( -655), 786, ( -946), 187, ( -597), ( -818), ( -28), 523, ( -227), ( -424), 262, 788, 209, ( -492), 373, ( -258), 289, 987, 941, ( -515), ( -787), ( -215), 878, ( -652), 873, ( -214), 255, ( -237), ( -702), 879, 70, ( -718), ( -333)] 24 49)," 12 (minimumSumSubarray [225, 122, -360, -26, 147, -688, 602, 749, -194, -122, 795, 835, -377, 125, -387, 60, -517, 256, -852, -744, 920, 582, -204, 34, 748, -459, 113, 97, -655, 786, -946, 187, -597, -818, -28, 523, -227, -424, 262, 788, 209, -492, 373, -258, 289, 987, 941, -515, -787, -215, 878, -652, 873, -214, 255, -237, -702, 879, 70, -718, -333] 24 49))34 35test9 :: Test36test9 = TestCase (assertEqual "for (minimumSumSubarray [-715, ( -35), 301, 182, 738, ( -819), 682, 627, 399, ( -431)] 7 9)," 334 (minimumSumSubarray [-715, -35, 301, 182, 738, -819, 682, 627, 399, -431] 7 9))37 38 39-- Grouping test cases40tests :: Test41tests = TestList [TestLabel "Test1" test1, TestLabel "Test2" test2, TestLabel "Test3" test3, TestLabel "Test4" test4, TestLabel "Test5" test5, TestLabel "Test6" test6, TestLabel "Test7" test7, TestLabel "Test8" test8, TestLabel "Test9" test9]42 43-- Running the tests44main :: IO Counts45main = runTestTT tests46 