TheRealSamuel/LeetCodeProblem
0564
1 2module Main where3import Test.HUnit4 5--Program start6 7--Program end8 9-- Test cases10 11test1 :: Test12test1 = TestCase (assertEqual "for (permute 4 6)," [3,4,1,2] (permute 4 6))13 14test2 :: Test15test2 = TestCase (assertEqual "for (permute 3 2)," [3,2,1] (permute 3 2))16 17test3 :: Test18test3 = TestCase (assertEqual "for (permute 2 3)," [] (permute 2 3))19 20test4 :: Test21test4 = TestCase (assertEqual "for (permute 40 635429710889172)," [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,27,28,23,32,31,26,35,36,39,40,19,34,21,38,37,20,33,30,29,24,25,22] (permute 40 635429710889172))22 23test5 :: Test24test5 = TestCase (assertEqual "for (permute 90 518738247805590)," [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,75,82,77,90,73,88,83,86,71,84,79,70,89,78,85,74,81,76,69,80,87,72] (permute 90 518738247805590))25 26test6 :: Test27test6 = TestCase (assertEqual "for (permute 1 40295860898402)," [] (permute 1 40295860898402))28 29test7 :: Test30test7 = TestCase (assertEqual "for (permute 16 349551818813564)," [] (permute 16 349551818813564))31 32test8 :: Test33test8 = TestCase (assertEqual "for (permute 87 998153691720678)," [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,78,85,84,67,66,75,68,73,72,71,74,77,82,81,86,79,76,83,70,87,80,69] (permute 87 998153691720678))34 35test9 :: Test36test9 = TestCase (assertEqual "for (permute 74 795093009177573)," [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,63,64,59,70,73,72,65,68,67,62,61,74,71,66,69,60,53,58,55,54,57,56] (permute 74 795093009177573))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 