FPEvalDataset/LeetCodeProblem
0305
1 2module Main = struct3 open OUnit24 5 (* Program start *)6 7 (* Program end *)8 9 (* Test cases *)10 11let test1 _ = assert_equal 1 (numOfUnplacedFruits [4;2;5] [3;5;4])12 13let test2 _ = assert_equal 0 (numOfUnplacedFruits [3;6;1] [6;4;7])14 15let test3 _ = assert_equal 16 (numOfUnplacedFruits [903; 138; 352; 970; 513; 942; 730; 780; 235; 391; 839; 225; 143; 988; 817; 576; 130; 910; 938; 28; 572; 400; 583; 72; 393; 962; 322; 515; 913; 122; 529; 637; 647; 887; 841; 257; 843; 786; 120; 508; 779; 252; 77; 567; 396; 1000; 151; 639; 634; 641; 479; 222; 975; 309; 652; 283; 328; 980; 28; 596; 73; 753; 785; 598; 64; 435; 627; 603; 119; 408; 795; 183; 76; 83; 274; 354; 789; 660; 664; 9; 349; 774; 592; 654; 723; 282; 741; 946; 420; 53; 950] [602; 189; 806; 622; 620; 991; 466; 388; 135; 605; 166; 967; 185; 35; 751; 103; 638; 255; 785; 185; 150; 260; 664; 294; 863; 785; 684; 395; 22; 339; 667; 816; 877; 65; 396; 901; 847; 974; 722; 315; 962; 577; 938; 160; 896; 548; 542; 852; 34; 20; 531; 404; 248; 622; 126; 451; 543; 814; 631; 974; 423; 110; 955; 554; 175; 955; 577; 298; 186; 894; 145; 250; 659; 457; 767; 25; 447; 658; 957; 402; 217; 557; 150; 598; 636; 284; 385; 414; 924; 300; 214])16 17let test4 _ = assert_equal 7 (numOfUnplacedFruits [411; 645; 458; 749; 266; 472; 819; 468; 188; 631; 451; 513; 368; 790; 35; 677; 988; 396; 770; 269; 917; 46; 506; 582; 682; 904; 502; 182; 211; 160; 218; 548; 403; 18; 961; 351] [668; 1000; 676; 24; 389; 903; 592; 896; 30; 343; 765; 537; 241; 850; 579; 566; 350; 757; 340; 88; 814; 233; 215; 371; 916; 836; 245; 940; 131; 936; 30; 627; 113; 444; 129; 111])18 19let test5 _ = assert_equal 9 (numOfUnplacedFruits [478; 114; 219; 666; 231; 829; 926; 125; 35; 578; 486; 207; 647; 154; 57; 717; 210; 591; 347; 263; 329; 622; 565; 965; 732; 86; 517; 972; 791; 614; 488; 194; 42; 395; 344; 832; 192; 575; 190; 675; 549; 418; 426; 637; 660; 337; 485; 351; 629; 757; 909; 963; 129; 139; 708; 504; 192; 129; 306; 376; 640; 517; 642; 598; 852] [610; 739; 185; 884; 715; 976; 950; 64; 780; 83; 179; 397; 911; 683; 560; 723; 946; 161; 611; 524; 305; 470; 70; 916; 646; 577; 161; 402; 491; 322; 242; 466; 920; 151; 342; 545; 570; 685; 823; 245; 152; 332; 180; 806; 139; 418; 206; 377; 389; 256; 852; 691; 225; 823; 69; 873; 409; 514; 307; 632; 612; 502; 643; 544; 934])20 21let test6 _ = assert_equal 22 (numOfUnplacedFruits [855; 426; 606; 929; 591; 33; 138; 80; 985; 56; 812; 901; 795; 995; 870; 983; 420; 106; 222; 186; 418; 32; 901; 91; 429; 195; 230; 875; 806; 419; 54; 859; 746; 681; 742; 992; 515; 342; 712; 222; 278; 77; 558; 529; 821; 176; 750; 372; 635; 370; 532; 237; 970; 392; 629; 588; 713; 851; 639; 90; 665; 622; 561; 93; 623; 364; 36; 9; 783; 607; 642; 983; 347; 490; 208; 546; 520; 99; 465; 31; 218; 431; 376; 771; 530; 344; 937; 565; 457; 643; 471; 904; 545; 213; 153] [215; 175; 405; 333; 903; 845; 42; 873; 746; 922; 572; 814; 259; 309; 611; 331; 767; 111; 377; 736; 733; 599; 29; 21; 801; 461; 51; 159; 445; 421; 278; 593; 69; 258; 60; 772; 393; 73; 685; 970; 890; 175; 938; 220; 516; 703; 891; 991; 883; 166; 303; 830; 291; 743; 15; 837; 267; 403; 563; 194; 135; 469; 296; 43; 59; 966; 528; 135; 187; 635; 376; 421; 605; 929; 161; 243; 212; 852; 661; 92; 844; 902; 28; 930; 766; 352; 324; 104; 403; 755; 27; 299; 114; 480; 958])22 23let test7 _ = assert_equal 7 (numOfUnplacedFruits [287; 961; 506; 125; 140; 979; 604; 894; 907; 555; 757; 810; 385; 945; 61; 154; 725; 153; 921; 275; 787; 36; 758; 517; 147; 109; 678; 401] [328; 688; 564; 547; 627; 951; 63; 598; 455; 590; 417; 577; 712; 65; 449; 695; 672; 943; 120; 854; 911; 781; 575; 189; 616; 491; 76; 341])24 25let test8 _ = assert_equal 4 (numOfUnplacedFruits [917; 76; 164; 865; 176; 616; 762] [302; 83; 110; 124; 484; 733; 580])26 27let test9 _ = assert_equal 6 (numOfUnplacedFruits [246; 601; 986; 554; 800; 782; 872; 94; 654; 401; 714; 573; 610; 60; 974; 934; 32; 525; 124; 447; 381; 651; 860; 67; 892; 123; 314] [613; 866; 771; 777; 788; 874; 912; 89; 32; 948; 61; 780; 582; 765; 598; 892; 661; 720; 347; 64; 695; 568; 606; 336; 505; 277; 470])28 29let test10 _ = assert_equal 7 (numOfUnplacedFruits [547; 508; 659; 603; 850; 549; 230; 61; 310; 905; 359; 247; 51; 668; 348; 701; 640; 810; 506; 304; 564; 864; 510; 118; 19; 775; 203; 162; 509; 197; 548; 764; 646; 281; 89; 562; 868; 841; 988; 240; 15; 641; 853; 595; 355; 544; 58; 34; 445] [309; 734; 946; 832; 469; 609; 220; 296; 154; 309; 106; 301; 449; 187; 863; 290; 845; 958; 66; 214; 380; 267; 714; 332; 568; 349; 815; 889; 755; 307; 892; 390; 663; 513; 453; 777; 137; 697; 59; 404; 708; 901; 312; 301; 197; 717; 793; 388; 907])30 31 32 (* Grouping test cases *)33 let suite = "Test Suite for numOfUnplacedFruits" >::: [34 35 "test1" >:: test1;36 "test2" >:: test2;37 "test3" >:: test3;38 "test4" >:: test4;39 "test5" >:: test5;40 "test6" >:: test6;41 "test7" >:: test7;42 "test8" >:: test8;43 "test9" >:: test9;44 "test10" >:: test10;45 ]46 47 48 (* Running the tests *)49 let () = run_test_tt_main suite50end51 