CoolFace
Datasetpublic

TheRealSamuel/LeetCodeProblem

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes561downloads
Main.hs46 linesDownload Raw Back to haskell_tests
1 2module Main where3import Test.HUnit4 5--Program start6 7--Program end8 9-- Test cases10 11test1 :: Test12test1 = TestCase (assertEqual "for (minCost [1,2,1,2,1,3,3] 2)," 8 (minCost [1,2,1,2,1,3,3] 2))13 14test2 :: Test15test2 = TestCase (assertEqual "for (minCost [1,2,1,2,1] 2)," 6 (minCost [1,2,1,2,1] 2))16 17test3 :: Test18test3 = TestCase (assertEqual "for (minCost [1,2,1,2,1] 5)," 10 (minCost [1,2,1,2,1] 5))19 20test4 :: Test21test4 = TestCase (assertEqual "for (minCost [556, 295, 236, 505, 105, 289, 147, 189, 148, 495, 184, 477, 405, 14, 117, 380, 585, 124, 22, 152, 105, 115, 407, 366, 143, 525, 274, 11, 340, 133, 298, 565, 577, 398, 283, 117, 163, 593, 535, 259, 177, 211, 340, 436, 130, 112, 148, 65, 342, 580, 361, 430, 581, 285, 378, 425, 218, 214, 592, 491, 342, 363, 94, 394, 555, 232, 308, 345, 95, 600, 412, 131, 115, 390, 170, 75, 556, 501, 391, 7, 99, 242, 576, 556, 369, 126, 55, 491, 386, 168, 587, 582, 316, 199, 171, 122, 591, 184, 299, 570, 596, 42, 545, 191, 239, 474, 115, 301, 571, 4, 214, 257, 125, 161, 596, 330, 174, 243, 360, 608, 388, 358, 300, 521, 610, 134, 385, 56, 146, 394, 29, 422, 285, 79, 156, 294, 269, 35, 371, 143, 610, 293, 403, 139, 381, 53, 35, 4, 498, 590, 451, 101, 560, 525, 11, 411, 524, 371, 352, 196, 170, 214, 236, 232, 340, 568, 283, 600, 31, 114, 115, 500, 178, 72, 372, 344, 98, 160, 36, 475, 151, 132, 560, 432, 23, 21, 130, 429, 109, 176, 582, 472, 492, 166, 595, 163, 62, 274, 223, 430, 532, 519, 239, 402, 494, 176, 197, 85, 278, 330, 502, 157, 101, 47, 122, 219, 313, 252, 432, 412, 493, 289, 535, 427, 244, 498, 561, 377, 296, 167, 502, 497, 519, 580, 339, 418, 379, 232, 41, 553, 133, 28, 242, 151, 445, 319, 526, 326, 403, 487, 449, 448, 361, 297, 110, 1, 129, 293, 20, 23, 389, 92, 37, 66, 222, 403, 155, 180, 251, 258, 530, 386, 271, 414, 477, 4, 509, 575, 56, 335, 604, 546, 426, 88, 412, 75, 245, 445, 448, 161, 535, 53, 171, 197, 456, 292, 611, 337, 321, 473, 294, 12, 113, 528, 52, 424, 24, 201, 428, 378, 71, 551, 486, 458, 279, 567, 41, 312, 374, 28, 426, 567, 280, 447, 552, 432, 516, 479, 369, 276, 465, 287, 101, 521, 177, 164, 162, 298, 472, 399, 104, 545, 562, 342, 278, 371, 115, 245, 258, 154, 248, 46, 257, 18, 360, 322, 302, 31, 593, 425, 107, 405, 290, 264, 365, 548, 400, 200, 132, 312, 257, 524, 534, 31, 545, 554, 601, 211, 472, 402, 493, 28, 583, 367, 16, 282, 565, 488, 351, 517, 503, 148, 389, 78, 14, 208, 482, 153, 80, 336, 570, 537, 1, 226, 387, 150, 394, 275, 17, 387, 577, 454, 293, 356, 548, 464, 197, 291, 47, 299, 62, 197, 278, 286, 188, 486, 601, 15, 594, 276, 160, 265, 159, 188, 119, 259, 116, 5, 521, 58, 146, 222, 610, 141, 419, 514, 324, 352, 188, 244, 80, 572, 292, 293, 62, 357, 293, 376, 100, 450, 156, 440, 84, 305, 239, 424, 419, 406, 254, 213, 558, 100, 553, 1, 113, 153, 97, 189, 101, 302, 217, 414, 407, 515, 31, 194, 158, 237, 418, 592, 387, 345, 182, 439, 505, 59, 91, 220, 428, 178, 94, 606, 122, 412, 443, 471, 363, 331, 176, 324, 502, 123, 244, 261, 385, 310, 455, 609, 213, 557, 443, 347, 428, 123, 157, 561, 286, 317, 136, 324, 565, 87, 395, 598, 529, 451, 10, 574, 540, 351, 305, 560, 427, 503, 575, 71, 70, 431, 114, 147, 0, 577, 496, 227, 447, 441, 350, 47, 500, 610, 539, 209, 514, 490, 320, 539, 515, 567, 308, 327, 74, 494, 579, 551, 420, 494, 35, 603, 9, 473, 31, 105, 353, 116, 503, 403, 163, 151, 195, 146, 544, 338, 537, 188, 132, 375, 300, 571, 396, 398, 201, 356, 603, 291, 228, 566, 53, 236, 583, 209, 241, 288] 318885581)," 318885978 (minCost [556, 295, 236, 505, 105, 289, 147, 189, 148, 495, 184, 477, 405, 14, 117, 380, 585, 124, 22, 152, 105, 115, 407, 366, 143, 525, 274, 11, 340, 133, 298, 565, 577, 398, 283, 117, 163, 593, 535, 259, 177, 211, 340, 436, 130, 112, 148, 65, 342, 580, 361, 430, 581, 285, 378, 425, 218, 214, 592, 491, 342, 363, 94, 394, 555, 232, 308, 345, 95, 600, 412, 131, 115, 390, 170, 75, 556, 501, 391, 7, 99, 242, 576, 556, 369, 126, 55, 491, 386, 168, 587, 582, 316, 199, 171, 122, 591, 184, 299, 570, 596, 42, 545, 191, 239, 474, 115, 301, 571, 4, 214, 257, 125, 161, 596, 330, 174, 243, 360, 608, 388, 358, 300, 521, 610, 134, 385, 56, 146, 394, 29, 422, 285, 79, 156, 294, 269, 35, 371, 143, 610, 293, 403, 139, 381, 53, 35, 4, 498, 590, 451, 101, 560, 525, 11, 411, 524, 371, 352, 196, 170, 214, 236, 232, 340, 568, 283, 600, 31, 114, 115, 500, 178, 72, 372, 344, 98, 160, 36, 475, 151, 132, 560, 432, 23, 21, 130, 429, 109, 176, 582, 472, 492, 166, 595, 163, 62, 274, 223, 430, 532, 519, 239, 402, 494, 176, 197, 85, 278, 330, 502, 157, 101, 47, 122, 219, 313, 252, 432, 412, 493, 289, 535, 427, 244, 498, 561, 377, 296, 167, 502, 497, 519, 580, 339, 418, 379, 232, 41, 553, 133, 28, 242, 151, 445, 319, 526, 326, 403, 487, 449, 448, 361, 297, 110, 1, 129, 293, 20, 23, 389, 92, 37, 66, 222, 403, 155, 180, 251, 258, 530, 386, 271, 414, 477, 4, 509, 575, 56, 335, 604, 546, 426, 88, 412, 75, 245, 445, 448, 161, 535, 53, 171, 197, 456, 292, 611, 337, 321, 473, 294, 12, 113, 528, 52, 424, 24, 201, 428, 378, 71, 551, 486, 458, 279, 567, 41, 312, 374, 28, 426, 567, 280, 447, 552, 432, 516, 479, 369, 276, 465, 287, 101, 521, 177, 164, 162, 298, 472, 399, 104, 545, 562, 342, 278, 371, 115, 245, 258, 154, 248, 46, 257, 18, 360, 322, 302, 31, 593, 425, 107, 405, 290, 264, 365, 548, 400, 200, 132, 312, 257, 524, 534, 31, 545, 554, 601, 211, 472, 402, 493, 28, 583, 367, 16, 282, 565, 488, 351, 517, 503, 148, 389, 78, 14, 208, 482, 153, 80, 336, 570, 537, 1, 226, 387, 150, 394, 275, 17, 387, 577, 454, 293, 356, 548, 464, 197, 291, 47, 299, 62, 197, 278, 286, 188, 486, 601, 15, 594, 276, 160, 265, 159, 188, 119, 259, 116, 5, 521, 58, 146, 222, 610, 141, 419, 514, 324, 352, 188, 244, 80, 572, 292, 293, 62, 357, 293, 376, 100, 450, 156, 440, 84, 305, 239, 424, 419, 406, 254, 213, 558, 100, 553, 1, 113, 153, 97, 189, 101, 302, 217, 414, 407, 515, 31, 194, 158, 237, 418, 592, 387, 345, 182, 439, 505, 59, 91, 220, 428, 178, 94, 606, 122, 412, 443, 471, 363, 331, 176, 324, 502, 123, 244, 261, 385, 310, 455, 609, 213, 557, 443, 347, 428, 123, 157, 561, 286, 317, 136, 324, 565, 87, 395, 598, 529, 451, 10, 574, 540, 351, 305, 560, 427, 503, 575, 71, 70, 431, 114, 147, 0, 577, 496, 227, 447, 441, 350, 47, 500, 610, 539, 209, 514, 490, 320, 539, 515, 567, 308, 327, 74, 494, 579, 551, 420, 494, 35, 603, 9, 473, 31, 105, 353, 116, 503, 403, 163, 151, 195, 146, 544, 338, 537, 188, 132, 375, 300, 571, 396, 398, 201, 356, 603, 291, 228, 566, 53, 236, 583, 209, 241, 288] 318885581))22 23test5 :: Test24test5 = TestCase (assertEqual "for (minCost [436, 88, 79, 214, 18, 319, 225, 299, 468, 11, 446, 320, 111, 295, 115, 449, 195, 57, 75, 493, 460, 229, 460, 75, 215, 208, 372, 255, 398, 484, 400, 265, 102, 24, 79, 384, 363, 58, 220, 256, 323, 141, 177, 80, 321, 471, 20, 219, 263, 353, 135, 127, 478, 143, 197, 431, 241, 461, 475, 36, 146, 51, 452, 336, 370, 217, 97, 92, 443, 343, 379, 378, 375, 251, 31, 246, 159, 259, 519, 33, 212, 199, 415, 230, 404, 350, 98, 37, 287, 158, 234, 7, 281, 365, 507, 380, 363, 230, 170, 159, 492, 232, 122, 98, 380, 196, 520, 480, 218, 490, 120, 453, 177, 134, 457, 199, 361, 54, 241, 416, 107, 339, 425, 249, 246, 39, 529, 48, 42, 342, 136, 128, 311, 460, 189, 150, 272, 211, 404, 358, 462, 496, 327, 102, 428, 507, 468, 170, 273, 54, 52, 444, 34, 292, 479, 262, 15, 436, 480, 226, 175, 216, 71, 501, 361, 155, 139, 200, 148, 422, 93, 383, 195, 88, 29, 251, 336, 100, 456, 291, 367, 50, 364, 409, 158, 372, 223, 470, 289, 471, 451, 359, 345, 435, 16, 360, 234, 402, 105, 5, 351, 310, 51, 39, 288, 73, 379, 306, 331, 80, 275, 217, 125, 423, 75, 334, 61, 108, 165, 11, 112, 486, 62, 85, 105, 268, 255, 76, 406, 382, 317, 528, 21, 146, 477, 349, 101, 249, 27, 198, 292, 399, 363, 316, 137, 105, 211, 166, 295, 149, 17, 165, 282, 250, 395, 396, 65, 254, 77, 402, 442, 366, 113, 336, 79, 195, 458, 233, 366, 513, 402, 352, 131, 109, 497, 149, 363, 196, 1, 46, 226, 272, 400, 349, 138, 105, 290, 149, 253, 58, 498, 47, 529, 208, 232, 296, 423, 260, 98, 253, 47, 180, 524, 94, 70, 28, 503, 18, 75, 260, 61, 425, 458, 231, 212, 190, 50, 207, 237, 414, 164, 350, 9, 409, 183, 234, 334, 158, 177, 224, 204, 273, 27, 502, 462, 337, 365, 521, 466, 319, 428, 180, 242, 266, 250, 458, 293, 19, 53, 270, 349, 13, 246, 226, 315, 53, 409, 368, 103, 364, 57, 286, 455, 320, 112, 17, 57, 137, 234, 344, 167, 529, 270, 324, 382, 4, 420, 70, 257, 444, 185, 32, 103, 261, 215, 227, 477, 431, 448, 335, 171, 165, 161, 168, 530, 409, 78, 407, 378, 412, 326, 338, 302, 106, 274, 375, 78, 44, 395, 92, 438, 75, 152, 116, 270, 332, 182, 484, 470, 142, 283, 344, 243, 183, 169, 446, 262, 425, 518, 198, 44, 383, 332, 381, 311, 434, 213, 242, 255, 530, 343, 265, 434, 229, 255, 114, 466, 477, 159, 521, 498, 8, 289, 323, 293, 527, 471, 459, 206, 431, 23, 266, 179, 66, 502, 207, 138, 286, 239, 394, 437, 60, 510, 325, 407, 197, 136, 373, 347, 441, 72, 419, 179, 305, 381, 10, 119, 288, 16, 386, 188, 241, 15, 322, 349, 181, 54, 295, 297, 335, 211, 199, 281, 397, 282, 215, 131, 7, 92, 324, 252, 201, 506, 299, 135, 98, 468, 1, 258, 377, 97, 371, 520, 426, 179, 514, 488, 238, 506, 47, 393] 440648021)," 440648356 (minCost [436, 88, 79, 214, 18, 319, 225, 299, 468, 11, 446, 320, 111, 295, 115, 449, 195, 57, 75, 493, 460, 229, 460, 75, 215, 208, 372, 255, 398, 484, 400, 265, 102, 24, 79, 384, 363, 58, 220, 256, 323, 141, 177, 80, 321, 471, 20, 219, 263, 353, 135, 127, 478, 143, 197, 431, 241, 461, 475, 36, 146, 51, 452, 336, 370, 217, 97, 92, 443, 343, 379, 378, 375, 251, 31, 246, 159, 259, 519, 33, 212, 199, 415, 230, 404, 350, 98, 37, 287, 158, 234, 7, 281, 365, 507, 380, 363, 230, 170, 159, 492, 232, 122, 98, 380, 196, 520, 480, 218, 490, 120, 453, 177, 134, 457, 199, 361, 54, 241, 416, 107, 339, 425, 249, 246, 39, 529, 48, 42, 342, 136, 128, 311, 460, 189, 150, 272, 211, 404, 358, 462, 496, 327, 102, 428, 507, 468, 170, 273, 54, 52, 444, 34, 292, 479, 262, 15, 436, 480, 226, 175, 216, 71, 501, 361, 155, 139, 200, 148, 422, 93, 383, 195, 88, 29, 251, 336, 100, 456, 291, 367, 50, 364, 409, 158, 372, 223, 470, 289, 471, 451, 359, 345, 435, 16, 360, 234, 402, 105, 5, 351, 310, 51, 39, 288, 73, 379, 306, 331, 80, 275, 217, 125, 423, 75, 334, 61, 108, 165, 11, 112, 486, 62, 85, 105, 268, 255, 76, 406, 382, 317, 528, 21, 146, 477, 349, 101, 249, 27, 198, 292, 399, 363, 316, 137, 105, 211, 166, 295, 149, 17, 165, 282, 250, 395, 396, 65, 254, 77, 402, 442, 366, 113, 336, 79, 195, 458, 233, 366, 513, 402, 352, 131, 109, 497, 149, 363, 196, 1, 46, 226, 272, 400, 349, 138, 105, 290, 149, 253, 58, 498, 47, 529, 208, 232, 296, 423, 260, 98, 253, 47, 180, 524, 94, 70, 28, 503, 18, 75, 260, 61, 425, 458, 231, 212, 190, 50, 207, 237, 414, 164, 350, 9, 409, 183, 234, 334, 158, 177, 224, 204, 273, 27, 502, 462, 337, 365, 521, 466, 319, 428, 180, 242, 266, 250, 458, 293, 19, 53, 270, 349, 13, 246, 226, 315, 53, 409, 368, 103, 364, 57, 286, 455, 320, 112, 17, 57, 137, 234, 344, 167, 529, 270, 324, 382, 4, 420, 70, 257, 444, 185, 32, 103, 261, 215, 227, 477, 431, 448, 335, 171, 165, 161, 168, 530, 409, 78, 407, 378, 412, 326, 338, 302, 106, 274, 375, 78, 44, 395, 92, 438, 75, 152, 116, 270, 332, 182, 484, 470, 142, 283, 344, 243, 183, 169, 446, 262, 425, 518, 198, 44, 383, 332, 381, 311, 434, 213, 242, 255, 530, 343, 265, 434, 229, 255, 114, 466, 477, 159, 521, 498, 8, 289, 323, 293, 527, 471, 459, 206, 431, 23, 266, 179, 66, 502, 207, 138, 286, 239, 394, 437, 60, 510, 325, 407, 197, 136, 373, 347, 441, 72, 419, 179, 305, 381, 10, 119, 288, 16, 386, 188, 241, 15, 322, 349, 181, 54, 295, 297, 335, 211, 199, 281, 397, 282, 215, 131, 7, 92, 324, 252, 201, 506, 299, 135, 98, 468, 1, 258, 377, 97, 371, 520, 426, 179, 514, 488, 238, 506, 47, 393] 440648021))25 26test6 :: Test27test6 = TestCase (assertEqual "for (minCost [699, 277, 733, 143, 496, 112, 374, 61, 228, 297, 536, 119, 671, 314, 426, 668, 534, 58, 701, 159, 464, 119, 494, 58, 232, 271, 751, 367, 692, 473, 325, 274, 665, 688, 456, 167, 6, 484, 301, 353, 431, 86, 39, 727, 570, 14, 18, 176, 8, 234, 722, 405, 385, 396, 363, 405, 676, 586, 578, 735, 239, 368, 363, 258, 310, 278, 470, 712, 364, 753, 76, 175, 20, 634, 518, 252, 732, 679, 291, 475, 344, 405, 655, 699, 729, 543, 734, 426, 66, 1, 670, 550, 330, 175, 269, 184, 632, 605, 487, 91, 706, 743, 253, 230, 52, 609, 622, 663, 14, 8, 190, 258, 715, 38, 436, 259, 218, 489, 153, 129, 751, 30, 288, 408, 59, 79, 409, 332, 421, 391, 312, 156, 422, 13, 178, 251, 271, 325, 347, 446, 729, 187, 178, 114, 52, 428, 642, 620, 642, 618, 152, 402, 694, 671, 444, 29, 503, 482, 99, 64, 119, 575, 162, 354, 223, 365, 359, 731, 341, 36, 188, 488, 723, 398, 499, 428, 546, 87, 704, 155, 422, 87, 106, 223, 392, 399, 577, 59, 190, 725, 609, 411, 550, 611, 205, 731, 677, 85, 477, 416, 67, 440, 661, 734, 226, 457, 104, 177, 73, 109, 225, 157, 62, 442, 593, 118, 716, 514, 395, 509, 357, 130, 27, 661, 49, 433, 380, 116, 93, 651, 306, 359, 119, 466, 554, 152, 398, 425, 206, 524, 259, 334, 40, 60, 397, 431, 98, 315, 549, 214, 738, 392, 508, 429, 37, 26, 468, 197, 412, 714, 731, 17, 478, 647, 535, 689, 72, 516, 366, 682, 499, 200, 751, 441, 561, 723, 121, 253, 170, 646, 735, 10, 57, 413, 498, 520, 655, 243, 76, 672, 247, 20, 175, 472, 45, 198, 280, 316, 86, 214, 125, 192, 309, 569, 359, 504, 509, 737, 439, 609, 147, 158, 82, 319, 29, 329, 609, 724, 484, 111, 718, 221, 229, 692, 282, 458, 546, 251, 455, 700, 476, 423, 300, 166, 106, 268, 384, 372, 457, 378, 342, 617, 478, 536, 201, 394, 282, 262, 71, 207, 562, 91, 550, 165, 31, 274, 575, 478, 437, 511, 297, 737, 262, 753, 670, 240, 553, 672, 391, 281, 559, 385, 303, 109, 110, 261, 252, 738, 236, 97, 368, 564, 73, 290, 308, 296, 250, 409, 708, 744, 698, 714, 161, 712, 46, 229, 677, 529, 202, 456, 80, 2, 612, 147, 221, 634, 319, 487, 556, 78, 344, 215, 80, 150, 594, 691, 268, 565, 499, 311, 109, 276, 240, 87, 642, 341, 0, 663, 0, 132, 432, 430, 21, 502, 31, 625, 84, 273, 137, 752, 261, 657, 469, 253, 255, 53, 28, 520, 79, 386, 314, 93, 129, 51, 126, 672, 365, 55, 400, 90, 201, 381, 628, 249, 237, 179, 671, 59, 235, 502, 198, 204, 502, 199, 592, 568, 45, 586, 37, 697, 179, 640, 513, 517, 310, 213, 85, 500, 148, 438, 128, 350, 242, 381, 657, 299, 451, 509, 494, 380, 161, 26, 690, 347, 7, 510, 94, 696, 46, 43, 177, 345, 625, 678, 31, 588, 668, 744, 253, 552, 281, 390, 151, 168, 722, 529, 187, 123, 613, 593, 2, 429, 517, 7, 612, 273, 280, 367, 625, 218, 711, 143, 196, 38, 132, 222, 714, 4, 76, 97, 554, 112, 262, 657, 350, 278, 702, 282, 717, 426, 320, 218, 87, 743, 100, 125, 463, 370, 127, 571, 699, 214, 703, 201, 480, 115, 81, 104, 293, 244, 90, 653, 342, 727, 200, 644, 678, 151, 331, 357, 511, 496, 736, 94, 499, 587, 13, 631, 571, 683, 9, 105, 706, 640, 617, 267, 348, 501, 33, 0, 577, 245, 669, 369, 518, 206, 34, 511, 232, 448, 283, 733, 478, 676, 586, 664, 515, 162, 509, 641, 9, 58, 442, 650, 713, 11, 249, 466, 54, 298, 137, 206, 415, 15, 199, 71, 336, 602, 410, 295, 621, 168, 262, 314, 656, 217, 696, 116, 394, 504, 59, 209, 409, 424, 713, 601, 101, 32, 602, 569, 585, 219, 141, 455, 269, 574, 506, 258, 437, 358, 294, 703, 626, 330, 467, 627, 417, 702, 13, 495, 56, 665, 454, 253, 203, 387, 524, 375, 656, 4, 436, 557, 584, 435, 236, 452, 448, 537, 713, 352, 656, 728, 632, 518, 680, 464, 489, 205, 307, 360, 30, 384, 1, 87, 743, 714, 337, 114, 303, 30, 526, 354, 80, 13, 658, 412, 220, 668, 709, 558, 192, 549, 518, 169, 327, 180, 634, 547, 180, 717, 85, 401, 121, 299] 930884210)," 930884693 (minCost [699, 277, 733, 143, 496, 112, 374, 61, 228, 297, 536, 119, 671, 314, 426, 668, 534, 58, 701, 159, 464, 119, 494, 58, 232, 271, 751, 367, 692, 473, 325, 274, 665, 688, 456, 167, 6, 484, 301, 353, 431, 86, 39, 727, 570, 14, 18, 176, 8, 234, 722, 405, 385, 396, 363, 405, 676, 586, 578, 735, 239, 368, 363, 258, 310, 278, 470, 712, 364, 753, 76, 175, 20, 634, 518, 252, 732, 679, 291, 475, 344, 405, 655, 699, 729, 543, 734, 426, 66, 1, 670, 550, 330, 175, 269, 184, 632, 605, 487, 91, 706, 743, 253, 230, 52, 609, 622, 663, 14, 8, 190, 258, 715, 38, 436, 259, 218, 489, 153, 129, 751, 30, 288, 408, 59, 79, 409, 332, 421, 391, 312, 156, 422, 13, 178, 251, 271, 325, 347, 446, 729, 187, 178, 114, 52, 428, 642, 620, 642, 618, 152, 402, 694, 671, 444, 29, 503, 482, 99, 64, 119, 575, 162, 354, 223, 365, 359, 731, 341, 36, 188, 488, 723, 398, 499, 428, 546, 87, 704, 155, 422, 87, 106, 223, 392, 399, 577, 59, 190, 725, 609, 411, 550, 611, 205, 731, 677, 85, 477, 416, 67, 440, 661, 734, 226, 457, 104, 177, 73, 109, 225, 157, 62, 442, 593, 118, 716, 514, 395, 509, 357, 130, 27, 661, 49, 433, 380, 116, 93, 651, 306, 359, 119, 466, 554, 152, 398, 425, 206, 524, 259, 334, 40, 60, 397, 431, 98, 315, 549, 214, 738, 392, 508, 429, 37, 26, 468, 197, 412, 714, 731, 17, 478, 647, 535, 689, 72, 516, 366, 682, 499, 200, 751, 441, 561, 723, 121, 253, 170, 646, 735, 10, 57, 413, 498, 520, 655, 243, 76, 672, 247, 20, 175, 472, 45, 198, 280, 316, 86, 214, 125, 192, 309, 569, 359, 504, 509, 737, 439, 609, 147, 158, 82, 319, 29, 329, 609, 724, 484, 111, 718, 221, 229, 692, 282, 458, 546, 251, 455, 700, 476, 423, 300, 166, 106, 268, 384, 372, 457, 378, 342, 617, 478, 536, 201, 394, 282, 262, 71, 207, 562, 91, 550, 165, 31, 274, 575, 478, 437, 511, 297, 737, 262, 753, 670, 240, 553, 672, 391, 281, 559, 385, 303, 109, 110, 261, 252, 738, 236, 97, 368, 564, 73, 290, 308, 296, 250, 409, 708, 744, 698, 714, 161, 712, 46, 229, 677, 529, 202, 456, 80, 2, 612, 147, 221, 634, 319, 487, 556, 78, 344, 215, 80, 150, 594, 691, 268, 565, 499, 311, 109, 276, 240, 87, 642, 341, 0, 663, 0, 132, 432, 430, 21, 502, 31, 625, 84, 273, 137, 752, 261, 657, 469, 253, 255, 53, 28, 520, 79, 386, 314, 93, 129, 51, 126, 672, 365, 55, 400, 90, 201, 381, 628, 249, 237, 179, 671, 59, 235, 502, 198, 204, 502, 199, 592, 568, 45, 586, 37, 697, 179, 640, 513, 517, 310, 213, 85, 500, 148, 438, 128, 350, 242, 381, 657, 299, 451, 509, 494, 380, 161, 26, 690, 347, 7, 510, 94, 696, 46, 43, 177, 345, 625, 678, 31, 588, 668, 744, 253, 552, 281, 390, 151, 168, 722, 529, 187, 123, 613, 593, 2, 429, 517, 7, 612, 273, 280, 367, 625, 218, 711, 143, 196, 38, 132, 222, 714, 4, 76, 97, 554, 112, 262, 657, 350, 278, 702, 282, 717, 426, 320, 218, 87, 743, 100, 125, 463, 370, 127, 571, 699, 214, 703, 201, 480, 115, 81, 104, 293, 244, 90, 653, 342, 727, 200, 644, 678, 151, 331, 357, 511, 496, 736, 94, 499, 587, 13, 631, 571, 683, 9, 105, 706, 640, 617, 267, 348, 501, 33, 0, 577, 245, 669, 369, 518, 206, 34, 511, 232, 448, 283, 733, 478, 676, 586, 664, 515, 162, 509, 641, 9, 58, 442, 650, 713, 11, 249, 466, 54, 298, 137, 206, 415, 15, 199, 71, 336, 602, 410, 295, 621, 168, 262, 314, 656, 217, 696, 116, 394, 504, 59, 209, 409, 424, 713, 601, 101, 32, 602, 569, 585, 219, 141, 455, 269, 574, 506, 258, 437, 358, 294, 703, 626, 330, 467, 627, 417, 702, 13, 495, 56, 665, 454, 253, 203, 387, 524, 375, 656, 4, 436, 557, 584, 435, 236, 452, 448, 537, 713, 352, 656, 728, 632, 518, 680, 464, 489, 205, 307, 360, 30, 384, 1, 87, 743, 714, 337, 114, 303, 30, 526, 354, 80, 13, 658, 412, 220, 668, 709, 558, 192, 549, 518, 169, 327, 180, 634, 547, 180, 717, 85, 401, 121, 299] 930884210))28 29test7 :: Test30test7 = TestCase (assertEqual "for (minCost [59, 51, 83, 114, 94, 60, 119, 97, 2, 96, 80, 13, 76, 59, 137, 89, 29, 108, 133, 100, 66, 110, 42, 131, 110, 53, 5, 139, 130, 143, 27, 30, 105, 77, 80, 125, 32, 66, 105, 112, 41, 127, 75, 15, 26, 90, 89, 83, 5, 45, 24, 56, 36, 109, 98, 25, 61, 101, 120, 115, 12, 76, 121, 26, 25, 131, 110, 35, 21, 22, 44, 97, 25, 120, 104, 101, 82, 36, 70, 84, 43, 41, 22, 53, 19, 47, 95, 53, 123, 9, 114, 119, 91, 122, 80, 80, 60, 99, 142, 145, 123, 124, 137, 124, 61, 30, 59, 133, 59, 29, 39, 127, 22, 2, 107, 31, 76, 3, 64, 106, 83, 38, 28, 32, 124, 78, 37, 40, 110, 99, 65, 21, 93, 121, 50, 16, 32, 23, 12, 131, 40, 60, 34, 36, 129, 67] 495868694)," 495868784 (minCost [59, 51, 83, 114, 94, 60, 119, 97, 2, 96, 80, 13, 76, 59, 137, 89, 29, 108, 133, 100, 66, 110, 42, 131, 110, 53, 5, 139, 130, 143, 27, 30, 105, 77, 80, 125, 32, 66, 105, 112, 41, 127, 75, 15, 26, 90, 89, 83, 5, 45, 24, 56, 36, 109, 98, 25, 61, 101, 120, 115, 12, 76, 121, 26, 25, 131, 110, 35, 21, 22, 44, 97, 25, 120, 104, 101, 82, 36, 70, 84, 43, 41, 22, 53, 19, 47, 95, 53, 123, 9, 114, 119, 91, 122, 80, 80, 60, 99, 142, 145, 123, 124, 137, 124, 61, 30, 59, 133, 59, 29, 39, 127, 22, 2, 107, 31, 76, 3, 64, 106, 83, 38, 28, 32, 124, 78, 37, 40, 110, 99, 65, 21, 93, 121, 50, 16, 32, 23, 12, 131, 40, 60, 34, 36, 129, 67] 495868694))31 32test8 :: Test33test8 = TestCase (assertEqual "for (minCost [203, 1, 252, 243, 29, 258, 14, 190, 83, 215, 8, 77, 215, 131, 168, 72, 4, 251, 147, 150, 79, 244, 125, 182, 141, 104, 147, 202, 62, 105, 95, 204, 16, 183, 165, 145, 208, 88, 90, 95, 11, 83, 228, 124, 136, 10, 49, 132, 100, 34, 75, 89, 111, 258, 95, 12, 12, 220, 59, 126, 26, 226, 110, 145, 251, 125, 53, 60, 9, 197, 224, 243, 260, 68, 117, 84, 162, 227, 130, 118, 245, 204, 139, 247, 195, 218, 194, 17, 144, 262, 152, 51, 254, 16, 204, 99, 32, 156, 67, 47, 47, 10, 216, 252, 34, 207, 202, 206, 44, 230, 37, 170, 50, 7, 130, 59, 241, 159, 68, 210, 148, 163, 245, 260, 159, 152, 51, 11, 21, 263, 155, 150, 189, 223, 142, 140, 131, 205, 74, 66, 138, 0, 172, 96, 140, 118, 89, 222, 218, 22, 174, 43, 80, 169, 88, 206, 92, 180, 252, 202, 65, 86, 130, 69, 122, 116, 214, 116, 225, 118, 188, 223, 122, 118, 113, 224, 98, 193, 39, 254, 80, 161, 204, 93, 182, 206, 84, 234, 177, 47, 74, 54, 182, 57, 146, 64, 137, 14, 161, 214, 194, 93, 106, 171, 260, 51, 114, 202, 219, 122, 149, 208, 161, 219, 36, 3, 215, 66, 114, 26, 177, 244, 65, 55, 211, 56, 50, 28, 169, 31, 39, 36, 192, 260, 148, 172, 221, 200, 84, 6, 246, 11, 75, 144, 38, 14, 49, 236, 90, 9, 74, 158, 236, 111, 159, 250, 204, 250, 94, 65, 230, 81, 41, 39] 207184027)," 207184195 (minCost [203, 1, 252, 243, 29, 258, 14, 190, 83, 215, 8, 77, 215, 131, 168, 72, 4, 251, 147, 150, 79, 244, 125, 182, 141, 104, 147, 202, 62, 105, 95, 204, 16, 183, 165, 145, 208, 88, 90, 95, 11, 83, 228, 124, 136, 10, 49, 132, 100, 34, 75, 89, 111, 258, 95, 12, 12, 220, 59, 126, 26, 226, 110, 145, 251, 125, 53, 60, 9, 197, 224, 243, 260, 68, 117, 84, 162, 227, 130, 118, 245, 204, 139, 247, 195, 218, 194, 17, 144, 262, 152, 51, 254, 16, 204, 99, 32, 156, 67, 47, 47, 10, 216, 252, 34, 207, 202, 206, 44, 230, 37, 170, 50, 7, 130, 59, 241, 159, 68, 210, 148, 163, 245, 260, 159, 152, 51, 11, 21, 263, 155, 150, 189, 223, 142, 140, 131, 205, 74, 66, 138, 0, 172, 96, 140, 118, 89, 222, 218, 22, 174, 43, 80, 169, 88, 206, 92, 180, 252, 202, 65, 86, 130, 69, 122, 116, 214, 116, 225, 118, 188, 223, 122, 118, 113, 224, 98, 193, 39, 254, 80, 161, 204, 93, 182, 206, 84, 234, 177, 47, 74, 54, 182, 57, 146, 64, 137, 14, 161, 214, 194, 93, 106, 171, 260, 51, 114, 202, 219, 122, 149, 208, 161, 219, 36, 3, 215, 66, 114, 26, 177, 244, 65, 55, 211, 56, 50, 28, 169, 31, 39, 36, 192, 260, 148, 172, 221, 200, 84, 6, 246, 11, 75, 144, 38, 14, 49, 236, 90, 9, 74, 158, 236, 111, 159, 250, 204, 250, 94, 65, 230, 81, 41, 39] 207184027))34 35test9 :: Test36test9 = TestCase (assertEqual "for (minCost [340, 77, 284, 344, 349, 100, 397, 234, 284, 331, 29, 59, 416, 87, 354, 250, 125, 176, 345, 286, 188, 118, 380, 324, 308, 383, 118, 210, 145, 35, 141, 233, 196, 298, 153, 221, 208, 18, 75, 142, 403, 104, 252, 248, 413, 12, 200, 167, 346, 57, 19, 392, 7, 279, 278, 331, 285, 129, 295, 300, 19, 418, 338, 370, 7, 56, 271, 116, 321, 165, 45, 413, 21, 60, 161, 271, 204, 288, 372, 67, 366, 278, 224, 205, 144, 103, 241, 27, 182, 406, 325, 238, 49, 292, 385, 57, 297, 364, 135, 173, 345, 318, 58, 29, 416, 248, 291, 333, 274, 68, 104, 89, 250, 173, 32, 323, 190, 209, 104, 81, 250, 207, 149, 60, 170, 303, 73, 215, 345, 390, 255, 233, 331, 274, 12, 172, 235, 105, 349, 294, 163, 353, 36, 227, 239, 9, 375, 118, 40, 231, 41, 406, 211, 79, 122, 105, 341, 160, 403, 162, 253, 60, 339, 22, 137, 173, 161, 21, 95, 179, 160, 62, 337, 396, 410, 325, 387, 237, 290, 31, 258, 303, 397, 239, 351, 37, 218, 60, 201, 60, 125, 330, 175, 70, 195, 297, 385, 333, 326, 157, 236, 176, 242, 222, 181, 262, 113, 404, 75, 156, 131, 406, 273, 48, 134, 6, 240, 299, 307, 52, 151, 33, 277, 344, 2, 114, 185, 266, 39, 26, 351, 77, 9, 388, 7, 183, 77, 390, 126, 145, 16, 195, 47, 116, 34, 96, 211, 376, 159, 222, 13, 242, 174, 376, 154, 255, 2, 288, 195, 355, 47, 190, 161, 3, 198, 330, 217, 46, 403, 362, 8, 77, 389, 344, 208, 293, 299, 191, 12, 183, 406, 356, 311, 33, 223, 378, 153, 271, 302, 131, 209, 99, 205, 163, 59, 84, 288, 402, 118, 286, 362, 216, 418, 344, 253, 111, 184, 128, 149, 191, 184, 47, 14, 176, 202, 331, 97, 11, 307, 324, 120, 219, 200, 103, 207, 215, 388, 10, 391, 142, 254, 383, 28, 213, 212, 63, 395, 96, 285, 182, 239, 196, 338, 259, 208, 407, 169, 107, 224, 39, 282, 22, 123, 181, 248, 384, 184, 63, 369, 138, 152, 180, 304, 418, 388, 418, 108, 73, 175, 114, 409, 175, 83, 364, 8, 39, 127, 391, 217, 282, 364, 73, 231, 105, 55, 303, 107, 387, 207, 127, 37, 344, 94, 269, 157, 252, 151, 318, 203, 153, 254, 123, 349, 235, 164, 329, 268, 355, 61, 233, 247, 86, 39, 125, 371, 415, 143, 350, 402, 59] 939948695)," 939948968 (minCost [340, 77, 284, 344, 349, 100, 397, 234, 284, 331, 29, 59, 416, 87, 354, 250, 125, 176, 345, 286, 188, 118, 380, 324, 308, 383, 118, 210, 145, 35, 141, 233, 196, 298, 153, 221, 208, 18, 75, 142, 403, 104, 252, 248, 413, 12, 200, 167, 346, 57, 19, 392, 7, 279, 278, 331, 285, 129, 295, 300, 19, 418, 338, 370, 7, 56, 271, 116, 321, 165, 45, 413, 21, 60, 161, 271, 204, 288, 372, 67, 366, 278, 224, 205, 144, 103, 241, 27, 182, 406, 325, 238, 49, 292, 385, 57, 297, 364, 135, 173, 345, 318, 58, 29, 416, 248, 291, 333, 274, 68, 104, 89, 250, 173, 32, 323, 190, 209, 104, 81, 250, 207, 149, 60, 170, 303, 73, 215, 345, 390, 255, 233, 331, 274, 12, 172, 235, 105, 349, 294, 163, 353, 36, 227, 239, 9, 375, 118, 40, 231, 41, 406, 211, 79, 122, 105, 341, 160, 403, 162, 253, 60, 339, 22, 137, 173, 161, 21, 95, 179, 160, 62, 337, 396, 410, 325, 387, 237, 290, 31, 258, 303, 397, 239, 351, 37, 218, 60, 201, 60, 125, 330, 175, 70, 195, 297, 385, 333, 326, 157, 236, 176, 242, 222, 181, 262, 113, 404, 75, 156, 131, 406, 273, 48, 134, 6, 240, 299, 307, 52, 151, 33, 277, 344, 2, 114, 185, 266, 39, 26, 351, 77, 9, 388, 7, 183, 77, 390, 126, 145, 16, 195, 47, 116, 34, 96, 211, 376, 159, 222, 13, 242, 174, 376, 154, 255, 2, 288, 195, 355, 47, 190, 161, 3, 198, 330, 217, 46, 403, 362, 8, 77, 389, 344, 208, 293, 299, 191, 12, 183, 406, 356, 311, 33, 223, 378, 153, 271, 302, 131, 209, 99, 205, 163, 59, 84, 288, 402, 118, 286, 362, 216, 418, 344, 253, 111, 184, 128, 149, 191, 184, 47, 14, 176, 202, 331, 97, 11, 307, 324, 120, 219, 200, 103, 207, 215, 388, 10, 391, 142, 254, 383, 28, 213, 212, 63, 395, 96, 285, 182, 239, 196, 338, 259, 208, 407, 169, 107, 224, 39, 282, 22, 123, 181, 248, 384, 184, 63, 369, 138, 152, 180, 304, 418, 388, 418, 108, 73, 175, 114, 409, 175, 83, 364, 8, 39, 127, 391, 217, 282, 364, 73, 231, 105, 55, 303, 107, 387, 207, 127, 37, 344, 94, 269, 157, 252, 151, 318, 203, 153, 254, 123, 349, 235, 164, 329, 268, 355, 61, 233, 247, 86, 39, 125, 371, 415, 143, 350, 402, 59] 939948695))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