From dcf4a74a52bf6c1726f5951c8a8ebac3be72c3c6 Mon Sep 17 00:00:00 2001
From: Paul Rauser <paulr@Pauls-Air.fritz.box>
Date: Wed, 4 Sep 2024 14:56:11 +0200
Subject: [PATCH] chore: create clean solution branch for all three sub-tasks

---
 cards/README.md               |   2 +-
 orders/README.md              |  10 ++++++++
 orders/bin/orders/App.class   | Bin 0 -> 994 bytes
 orders/bin/orders/Order.class | Bin 0 -> 1842 bytes
 orders/src/orders/App.java    |  23 +++++++++++++++++
 orders/src/orders/Order.java  |  47 ++++++++++++++++++++++++++++++++++
 6 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 orders/README.md
 create mode 100644 orders/bin/orders/App.class
 create mode 100644 orders/bin/orders/Order.class
 create mode 100644 orders/src/orders/App.java
 create mode 100644 orders/src/orders/Order.java

diff --git a/cards/README.md b/cards/README.md
index a27d03a..7e2b508 100644
--- a/cards/README.md
+++ b/cards/README.md
@@ -1,4 +1,4 @@
-# Kartenspiel-Programm
+## 1.07b - Cards
 
 **Aufgabe:** Schreiben Sie ein Programm, das ein Kartenspiel mit 52 Karten (mit 4 Farben: Clubs, Hearts, Diamonds, Spades) zu je 13 Karten (Ass, König, Dame, Bube, 10, 9, 8, 7, 6, 5, 4, 3, 2) auf eine über die Kommandozeile definierte Anzahl von Spielern verteilt.
 
diff --git a/orders/README.md b/orders/README.md
new file mode 100644
index 0000000..e56d0b6
--- /dev/null
+++ b/orders/README.md
@@ -0,0 +1,10 @@
+## 1.07c - Orders
+
+Gegeben ist die Klasse `Order`.
+
+Für die Verarbeitung in einer Prioritätswarteschlange (`PriorityQueue`) soll die natürliche Ordnung so gewählt werden, dass das `Order`-Objekt von VIP-Kunden immer höchste Priorität hat. Implementieren Sie die Schnittstelle `java.lang.Comparable` entsprechend und schreiben Sie in einer `Main`-Klasse einige Tests zum Überprfüfen der korrekten Reihenfolge.
+
+Gehen Sie bei der Implementierung nach dem Prinzip des Test-Driven-Development (TDD) vor:
+1. **Test Implementieren:** Schreiben Sie zuerst einen Test (`Main`-Klasse), der das gewünschte Verhalten der Prioritätswarteschlange überprüft. Der Test sollte zunächst scheitern, da die Klasse `Order` noch nicht angepasst wurde.
+
+2. **Änderungen Vornehmen:** Programmieren Sie dann die notwendigen Änderungen in der Klasse `Order`, so dass der Test erfolgreich ist.
diff --git a/orders/bin/orders/App.class b/orders/bin/orders/App.class
new file mode 100644
index 0000000000000000000000000000000000000000..84799322d6684337afb2c0b6ce69fffbd80aaca6
GIT binary patch
literal 994
zcmZ`%+fvg|6kVsZJ!u-`)|M#>)_Vf974X{P1yQ_A0i7~+z^6dZU}~Fm(u9#u@e6#`
z2Rg`%<Fg;(gP-ApxKG-088ykAz0b}*Yp=7{{{H*RR{)RjOhpKN9AOO+L>UHa=8l=K
zoA!2ob+ab6Jcj7JWn12ThCbb>a3~C;L6YxT_54fMa$L*XedP;ZsNfPS&Y(GNRk*GE
zsx%7v8F=7kW>lycki`ZWQhMpQT-kFid%O6;s3;gd%Abu8P5Fcrq>iF<y=b3=8`E$W
z=ZI)aconP35Y{)0N*oh7&ymq^0T&qtjyVTh={jb$%8)$Cp>yS;u^|s%)^G(^85GMC
zuIV|hBy4mT2X}wojTht4VQ@@pn8Gx}@NubL3Ne3cwpPS@>L<04@O9)g<Z+$Y+Cezc
z!#>gcVhppG<G7*WCT^Wlr@Y(pM1#;ApD>dhT9zXPu|4XgFdIb`cW{@ZprMF)hLM2R
z=^P@~lqc%;e_BC`lk{p=&xNLJ@1j!`)X|b<ixt1IDcm)4vrdt4!?Xw|rN8-GSEItv
zU-rzccgtoo$me)Moc@tY<;srlZiyvJqAFB0C#jQ=_h?#!X#kV+O6vpKj+13%Ba>~g
zPvkH>q*eZwYYYoC>7CRcbc|DU=Ky@Yjacab>iV#zwsB@TaEB5Yq0LILNhUB#n?g7n
z-a~q7dLQE<yq?N-Z93d__Hl`!5J^Y&agE^v#-x{J_y)BQ{fwD(bPu;b9{!ZvLIJl~
zXyhyO#xO!NoIxBp^kWVKB-S7nF@zHRsUZOuN%%-n3^bOZL#!dn@t9+RL+yP!@QY9w
JmVz2j{{T<v(2f8A

literal 0
HcmV?d00001

diff --git a/orders/bin/orders/Order.class b/orders/bin/orders/Order.class
new file mode 100644
index 0000000000000000000000000000000000000000..36f38510e20e156adbb375b1c9f1c1b74d505b1c
GIT binary patch
literal 1842
zcmaJ>T~8ZF6g`7K)^?UafZ(JAaENK`B?;+w8Ut-`N`vc!NFXXD>ce7B$Oe1Y+8rb1
zpY%txQY#f&<)P|xe^k{oyGy)wtjhAt&g{A8-gD;e{PXYIzW{9GSpgGB8AzMRAS*Ea
z+CH_{JGOhgzIXImwv<42!*Lz8C6KCA5A(<&Z=hh}5=;Tp^V`x7*7x+p=y3T+1})#|
zDaUgKW|{-WedRmuaZPhvHZg^1fkLYvD6cF1-L`;e6flEX19K*>VqW0NAa>jHI?^Vg
zacXz^a_^<UeC2sH!5$+*`fDbx;{%p_>huI=$Dnkk8zvU9L={I7`JrYGbv~b=J0%l0
zu_93H+9$H^xh-4$;HX!83Y6`tK;S{8k)V#{C3Y@KN|qU;bpEo5ReUIrZ+YFG?aKpC
ziy9ZdTcBqZ4X@IbN;7GDt-5PqO<-<dRz2jik2+K{L>MP;R1XExb+66$Q%%Q}Py5{?
z=^sQ987DZ@wq*mU!iO}CX29&RRN+An9q?Rbj5>lD{66?<Qe9k(rk*5qJ<$nlwFY;|
zk=#vJ!oqXPi$Vp4_@aiT9c;uWQoZup&uriBO2rPP$@|W+YpcFb&G!=?$5Dx$fqNUn
zMsL;Fu=`%$Z^<1;ds_$<-qpr4Cr?`i%C~z_@*s!0K=f&pUJUwtQ`|0v=a;Zi@3B=k
z#g9{2d|SW{zBBMx_aDWS2M6o8r{0NNkK{)!xnsAK=f4s7Dd}wtj4F9-yX}q)%1zHZ
z>Gx_0sqqmcc7_5E-t^=c_=^Po!t}&eOi{Nxoqb11nr800uJr32I|yW8peeBWo~Ci7
z8h9$O^#4%yX{3v0<#?G1SV(c^_s?&5Lf=#2%<G18f$uZ8&G8ObUlW<;T(tgxu-49C
zSfw*eTB$#A<qXB&_)6d|$9V>U^l9YzE8sF|=Sj@-#ZpXG;w&`E`W?k{Ed2Z~Iveg!
zalD6*IqKA_ENy~w-dY$<rmtjRmg(jQ{sf=KA&Z=Kf(#QFzw#lfEn+Wn^%*|rsM%Ly
z_G~C>pd+GQpqd**et|Dz{37ue)RVuAP%rb<eS8%|SLj)ah^)0tt467Bk-ALegLhS1
zG)+^_u<A)&xwhvmmVr?T72<fo#d*rH1apme9dnLbqn6&8e#nR#ky`Z4I3jPY{f*o?
tJ{pCmut8Xc)vy)P*yLgYTkHZoe}jjdbIksT|7|q5(%teso?s8x{{xJyn*aa+

literal 0
HcmV?d00001

diff --git a/orders/src/orders/App.java b/orders/src/orders/App.java
new file mode 100644
index 0000000..55f2620
--- /dev/null
+++ b/orders/src/orders/App.java
@@ -0,0 +1,23 @@
+package orders;
+
+import java.util.PriorityQueue;
+import java.util.Queue;
+
+public class App {
+    public static void main(String[] args) {
+        Queue<Order> orderQueue = new PriorityQueue<>();
+        Order order1 = new Order("Order 1", 1);
+        Order order2 = new Order("Order 2", 2);
+        Order order3 = new Order("Order 3", 3);
+
+        order2.setVip(true);
+
+        orderQueue.add(order1);        
+        orderQueue.add(order2);        
+        orderQueue.add(order3);
+
+        for(Order order : orderQueue) {
+            System.out.println(order);
+        }
+    }
+}
diff --git a/orders/src/orders/Order.java b/orders/src/orders/Order.java
new file mode 100644
index 0000000..7e0e820
--- /dev/null
+++ b/orders/src/orders/Order.java
@@ -0,0 +1,47 @@
+package orders;
+
+public class Order implements Comparable<Order> {
+    private Boolean vip;
+    private String orderDescription;
+    private long customerId;
+
+    public Order(String orderDescription, long customerId) {
+        this.orderDescription=orderDescription;
+        this.customerId=customerId;
+        this.vip = false;
+    }
+
+    public boolean isVip() {
+        return vip;
+    }
+
+    public void setVip(boolean vip) {
+        this.vip = vip;
+    }
+
+    public String getOrderDescription() {
+        return orderDescription;
+    }
+
+    public void setOrderDescription(String orderDescription) {
+        this.orderDescription = orderDescription;
+    }
+
+    public long getCustomerId() {
+        return customerId;
+    }
+
+    public void setCustomerId(long customerId) {
+        this.customerId = customerId;
+    }
+
+    @Override
+    public String toString() {
+        return "Order [customerId=" + customerId + ", orderDescription=" + orderDescription + ", vip=" + vip + "]";
+    }
+
+    @Override
+    public int compareTo(Order o) {        
+        return o.vip.compareTo(this.vip);
+    }   
+}
\ No newline at end of file
-- 
GitLab