1
+
2
+ fn main ( ) {
3
+ run_single_responsibility_before ( ) ;
4
+
5
+ run_single_responsibility_after ( ) ;
6
+ }
7
+
8
+ fn run_single_responsibility_before ( ) {
9
+ println ! ( "running `run_single_responsibility_before`:\n " ) ;
10
+
11
+ use solid:: single_responsibility_before:: * ;
12
+
13
+ let mut order = Order :: new ( ) ;
14
+
15
+ order. add_item ( "Keyboard" , 1 , 50.0 ) ;
16
+ order. add_item ( "SSD" , 1 , 150.0 ) ;
17
+ order. add_item ( "USB cable" , 2 , 5.0 ) ;
18
+
19
+ println ! ( "{}" , order. total_price( ) ) ;
20
+ order. pay ( "debit" , "0372846" ) ;
21
+
22
+ println ! ( "------------" ) ;
23
+ }
24
+
25
+ fn run_single_responsibility_after ( ) {
26
+ println ! ( "running `run_single_responsibility_after`:\n " ) ;
27
+
28
+ use solid:: single_responsibility_after:: * ;
29
+
30
+ let mut order = Order :: new ( ) ;
31
+
32
+ order. add_item ( "Keyboard" , 1 , 50.0 ) ;
33
+ order. add_item ( "SSD" , 1 , 150.0 ) ;
34
+ order. add_item ( "USB cable" , 2 , 5.0 ) ;
35
+
36
+ println ! ( "{}" , order. total_price( ) ) ;
37
+
38
+ let processor = PaymentProcessor { } ;
39
+
40
+ processor. pay_debit ( & mut order, "0372846" ) ;
41
+
42
+ println ! ( "------------" ) ;
43
+ }
0 commit comments