Item i1 = new Item("Leib", 0.95);
Item i2 = new Item("Piim", 0.55);
Item i3 = new Item("Sai", 0.45);
Order order = new Order();
order.add(i1, 1); // lisan 1 leiva.
order.add(i2, 5); // lisan 5 piima.
order.add(i3, 3); // lisan 3 saia.
System.out.println(order.getItem());
System.out.println(order.getQty());
Stock s = new Stock();
s.receive(order); // laos on 1 leib, 5 piima ja 3 saia
int quantity = s.getAvailable(i2); // peaks tagastama 5
System.out.println("Piima laoseis: " + quantity); // peaks tagastama 5
System.out.println("\nLaos on hetkel: " + s.toString()); // 1 leib, 5 piima, 3 saia
Order outgoingOrder = new Order();
outgoingOrder.add(i2, 2);
s.dispatch(outgoingOrder);
System.out.println("\nLaos on hetkel: " + s.toString());
int q2 = s.getAvailable( new Item("Piim", 0.55) ); // tagastab samuti 3
System.out.println("Piima laoseis kasutades new item: " + q2);
Cart c = new Cart();
c.add(i1); // võtame siit ühe leiva...
c.add(i2, 2); // ja kaks piima
c.change(i1, 3); // tahan ikka 3 leiba
c.remove(i2); // ei, piima ma vist ei taha
c.add(i2, 1); // siiski, võtaks ühe piima
c.add(i2, 1); // võtame ühe piima veel
System.out.println("\nOstukorvi sisu: " + c.toString());
Order outgoingOrder2 = c.checkOut();
System.out.println("Kokku maksta: " + c.getTotal() + "€");
s.dispatch(outgoingOrder2); // Soovin eemaldada laost — ei eemalda, kuna leiba pole laos piisavalt
System.out.println("\nLaos on hetkel: " + s.toString());
Cart c2 = new Cart();
c2.add(i1, 1); // võtan 1 leiva
c2.add(i2, 1); // 1 piima
c2.add(i3, 1); // 1 saia
System.out.println("\nOstukorvi sisu: " + c2.toString());
Order outgoingOrder3 = c2.checkOut();
s.dispatch(outgoingOrder3); // Eemaldab laost kogu leiva, 1 saia ja 1 piima.
System.out.println("\nLaos on hetkel: " + s.toString()); // 2 saia, 2 piima.