tdd-java-demo

tdd java demo with micro-commits

git clone https://9o.is/git/tdd-java-demo.git

Runner.java

(1124B)


      1 package takehome;
      2 
      3 import takehome.model.Basket;
      4 import takehome.model.Discount;
      5 import takehome.model.Item;
      6 import takehome.view.CreateBasketView;
      7 import takehome.view.PurchaseDayView;
      8 import takehome.view.TotalView;
      9 
     10 import java.io.InputStream;
     11 import java.io.OutputStream;
     12 import java.io.PrintStream;
     13 import java.util.Scanner;
     14 
     15 import static takehome.Items.*;
     16 import static takehome.Discounts.*;
     17 
     18 public class Runner {
     19     private final PrintStream out;
     20     private final Scanner in;
     21 
     22     public Runner(InputStream in, OutputStream out) {
     23         this.out = new PrintStream(out);
     24         this.in = new Scanner(in);
     25     }
     26 
     27     public void run() {
     28         Item[] items = { SOUP, BREAD, MILK, APPLE };
     29         Discount[] discounts = { APPLE_DISCOUNT, BREAD_DISCOUNT };
     30 
     31         CreateBasketView createBasketView = new CreateBasketView(in, out);
     32         Basket basket = createBasketView.apply(items);
     33 
     34         PurchaseDayView purchaseDayView = new PurchaseDayView(in, out);
     35         basket = purchaseDayView.apply(basket);
     36 
     37         TotalView totalView = new TotalView(out);
     38         totalView.apply(basket, discounts);
     39     }
     40 }