@@ -14,7 +14,7 @@ use book_store::*;
1414/// in terms of this function.
1515///
1616/// Expected input format: ('basket', 'targetgrouping')
17- fn process_total_case ( input : ( Vec < usize > , Vec < Vec < usize > > ) , expected : f64 ) {
17+ fn process_total_case ( input : ( Vec < usize > , Vec < Vec < usize > > ) , expected : usize ) {
1818 assert_eq ! (
1919 lowest_price( & input. 0 ) ,
2020 expected
@@ -30,108 +30,108 @@ fn process_total_case(input: (Vec<usize>, Vec<Vec<usize>>), expected: f64) {
3030#[ test]
3131/// Only a single book
3232fn test_only_a_single_book ( ) {
33- process_total_case ( ( vec ! [ 1 ] , vec ! [ vec![ 1 ] ] ) , 8.0 ) ;
33+ process_total_case ( ( vec ! [ 1 ] , vec ! [ vec![ 1 ] ] ) , 800 ) ;
3434}
3535
3636
3737#[ test]
3838#[ ignore]
3939/// Two of the same book
4040fn test_two_of_the_same_book ( ) {
41- process_total_case ( ( vec ! [ 2 , 2 ] , vec ! [ vec![ 2 ] , vec![ 2 ] ] ) , 16.0 ) ;
41+ process_total_case ( ( vec ! [ 2 , 2 ] , vec ! [ vec![ 2 ] , vec![ 2 ] ] ) , 1_600 ) ;
4242}
4343
4444
4545#[ test]
4646#[ ignore]
4747/// Empty basket
4848fn test_empty_basket ( ) {
49- process_total_case ( ( vec ! [ ] , vec ! [ ] ) , 0.0 ) ;
49+ process_total_case ( ( vec ! [ ] , vec ! [ ] ) , 0 ) ;
5050}
5151
5252
5353#[ test]
5454#[ ignore]
5555/// Two different books
5656fn test_two_different_books ( ) {
57- process_total_case ( ( vec ! [ 1 , 2 ] , vec ! [ vec![ 1 , 2 ] ] ) , 15.2 ) ;
57+ process_total_case ( ( vec ! [ 1 , 2 ] , vec ! [ vec![ 1 , 2 ] ] ) , 1_520 ) ;
5858}
5959
6060
6161#[ test]
6262#[ ignore]
6363/// Three different books
6464fn test_three_different_books ( ) {
65- process_total_case ( ( vec ! [ 1 , 2 , 3 ] , vec ! [ vec![ 1 , 2 , 3 ] ] ) , 21.6 ) ;
65+ process_total_case ( ( vec ! [ 1 , 2 , 3 ] , vec ! [ vec![ 1 , 2 , 3 ] ] ) , 2_160 ) ;
6666}
6767
6868
6969#[ test]
7070#[ ignore]
7171/// Four different books
7272fn test_four_different_books ( ) {
73- process_total_case ( ( vec ! [ 1 , 2 , 3 , 4 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] ] ) , 25.6 ) ;
73+ process_total_case ( ( vec ! [ 1 , 2 , 3 , 4 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] ] ) , 2_560 ) ;
7474}
7575
7676
7777#[ test]
7878#[ ignore]
7979/// Five different books
8080fn test_five_different_books ( ) {
81- process_total_case ( ( vec ! [ 1 , 2 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] ] ) , 30.0 ) ;
81+ process_total_case ( ( vec ! [ 1 , 2 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] ] ) , 3_000 ) ;
8282}
8383
8484
8585#[ test]
8686#[ ignore]
8787/// Two groups of four is cheaper than group of five plus group of three
8888fn test_two_groups_of_four_is_cheaper_than_group_of_five_plus_group_of_three ( ) {
89- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] ] ) , 51.2 ) ;
89+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] ] ) , 5_120 ) ;
9090}
9191
9292
9393#[ test]
9494#[ ignore]
9595/// Group of four plus group of two is cheaper than two groups of three
9696fn test_group_of_four_plus_group_of_two_is_cheaper_than_two_groups_of_three ( ) {
97- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 4 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 ] ] ) , 40.8 ) ;
97+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 4 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 ] ] ) , 4_080 ) ;
9898}
9999
100100
101101#[ test]
102102#[ ignore]
103103/// Two each of first 4 books and 1 copy each of rest
104104fn test_two_each_of_first_4_books_and_1_copy_each_of_rest ( ) {
105- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 ] ] ) , 55.6 ) ;
105+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 ] ] ) , 5_560 ) ;
106106}
107107
108108
109109#[ test]
110110#[ ignore]
111111/// Two copies of each book
112112fn test_two_copies_of_each_book ( ) {
113- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] ] ) , 60.0 ) ;
113+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] ] ) , 6_000 ) ;
114114}
115115
116116
117117#[ test]
118118#[ ignore]
119119/// Three copies of first book and 2 each of remaining
120120fn test_three_copies_of_first_book_and_2_each_of_remaining ( ) {
121- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 1 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 ] ] ) , 68.0 ) ;
121+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 1 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 ] ] ) , 6_800 ) ;
122122}
123123
124124
125125#[ test]
126126#[ ignore]
127127/// Three each of first 2 books and 2 each of remaining books
128128fn test_three_each_of_first_2_books_and_2_each_of_remaining_books ( ) {
129- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 1 , 2 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 ] ] ) , 75.2 ) ;
129+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 1 , 2 ] , vec ! [ vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 , 3 , 4 , 5 ] , vec![ 1 , 2 ] ] ) , 7_520 ) ;
130130}
131131
132132#[ test]
133133#[ ignore]
134134/// Four groups of four are cheaper than two groups each of five and three
135135fn test_four_groups_of_four_are_cheaper_than_two_groups_each_of_five_and_three ( ) {
136- process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] , vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] ] ) , 102.4 ) ;
136+ process_total_case ( ( vec ! [ 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ] , vec ! [ vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] , vec![ 1 , 2 , 3 , 4 ] , vec![ 1 , 2 , 3 , 5 ] ] ) , 10_240 ) ;
137137}
0 commit comments