TheRealSamuel/LeetCodeProblem
0572
1 2module Main where3import Test.HUnit4 5--Program start6 7--Program end8 9-- Test cases10 11test1 :: Test12test1 = TestCase (assertEqual "for (minOperations [2,11,10,1,3] 10)," 3 (minOperations [2,11,10,1,3] 10))13 14test2 :: Test15test2 = TestCase (assertEqual "for (minOperations [1,1,2,4,9] 1)," 0 (minOperations [1,1,2,4,9] 1))16 17test3 :: Test18test3 = TestCase (assertEqual "for (minOperations [1,1,2,4,9] 9)," 4 (minOperations [1,1,2,4,9] 9))19 20test4 :: Test21test4 = TestCase (assertEqual "for (minOperations [837680895, 853858337, 24598603, 145776187, 102048932, 275696906, 263784197, 259528597, 783359124, 350268406, 900373180, 309852815, 445507305, 429960240, 230653560, 426226417, 699105194, 326176309, 677374300, 139662764, 108043712, 54789364, 832593730, 429236026, 406505827, 623103757, 256703084, 83243550, 18161168, 189733518, 568132758, 29959090, 867405713, 411418480, 700692292, 227804802] 626903938)," 27 (minOperations [837680895, 853858337, 24598603, 145776187, 102048932, 275696906, 263784197, 259528597, 783359124, 350268406, 900373180, 309852815, 445507305, 429960240, 230653560, 426226417, 699105194, 326176309, 677374300, 139662764, 108043712, 54789364, 832593730, 429236026, 406505827, 623103757, 256703084, 83243550, 18161168, 189733518, 568132758, 29959090, 867405713, 411418480, 700692292, 227804802] 626903938))22 23test5 :: Test24test5 = TestCase (assertEqual "for (minOperations [200160358, 767998187, 566852913, 18083777, 9978221, 637466308, 36639519, 355127397, 57023173, 430035734, 725453411, 435939304, 742706058, 714533739, 186274592, 897908212, 503840255, 894177475, 218593673, 625534889, 610519718, 100804013, 162700115, 485027309, 562081129, 86056958, 676074708, 169098576, 408307021, 466842607, 428106855, 640671335, 429073519, 316929766, 831062524, 854836279, 39363427, 359717378, 894780196, 91723992, 632488380, 132326404, 494088872, 750285776, 184620703, 622023780, 861690586] 126557389)," 8 (minOperations [200160358, 767998187, 566852913, 18083777, 9978221, 637466308, 36639519, 355127397, 57023173, 430035734, 725453411, 435939304, 742706058, 714533739, 186274592, 897908212, 503840255, 894177475, 218593673, 625534889, 610519718, 100804013, 162700115, 485027309, 562081129, 86056958, 676074708, 169098576, 408307021, 466842607, 428106855, 640671335, 429073519, 316929766, 831062524, 854836279, 39363427, 359717378, 894780196, 91723992, 632488380, 132326404, 494088872, 750285776, 184620703, 622023780, 861690586] 126557389))25 26test6 :: Test27test6 = TestCase (assertEqual "for (minOperations [359495375, 353377823, 927475595] 877252882)," 2 (minOperations [359495375, 353377823, 927475595] 877252882))28 29test7 :: Test30test7 = TestCase (assertEqual "for (minOperations [759371410, 481585300, 318750444, 490011963, 167716655, 615185637, 104322452, 554039032, 731763208, 341062499, 951495453] 400875435)," 4 (minOperations [759371410, 481585300, 318750444, 490011963, 167716655, 615185637, 104322452, 554039032, 731763208, 341062499, 951495453] 400875435))31 32test8 :: Test33test8 = TestCase (assertEqual "for (minOperations [584460137, 498030234, 144472554, 372086138, 720354826, 51537949, 817215367, 83380865, 636538356, 965638986, 297014741, 589201137, 214359905, 829284537, 529311659, 445859529, 198704898, 755106120, 226987064, 985497093, 120863718, 643067673, 486094118] 791727781)," 19 (minOperations [584460137, 498030234, 144472554, 372086138, 720354826, 51537949, 817215367, 83380865, 636538356, 965638986, 297014741, 589201137, 214359905, 829284537, 529311659, 445859529, 198704898, 755106120, 226987064, 985497093, 120863718, 643067673, 486094118] 791727781))34 35test9 :: Test36test9 = TestCase (assertEqual "for (minOperations [274832127, 742408131, 645209228, 687271474, 907228481, 133366239, 766714103, 605343034, 158748000, 350597623, 218942890, 886521030, 543925191, 473759503, 469067416, 771591040, 539822413, 68728437, 912528563, 169379180, 76632144, 786831884, 285450676, 732347105, 644479179, 963268297, 520402980, 922491460] 178087213)," 5 (minOperations [274832127, 742408131, 645209228, 687271474, 907228481, 133366239, 766714103, 605343034, 158748000, 350597623, 218942890, 886521030, 543925191, 473759503, 469067416, 771591040, 539822413, 68728437, 912528563, 169379180, 76632144, 786831884, 285450676, 732347105, 644479179, 963268297, 520402980, 922491460] 178087213))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 