Wir müssen einen Einkaufswagen für einen Tante-Emma-Laden modellieren. Der Einkaufswagen soll die Liste der hinzugefügten Artikel führen und den Preis korrekt berechnen.
Artikel werden über SKU-Codes (Stock Keeping Unit) zum Einkaufswagen hinzugefügt. Die Artikel im Laden sind:
| Name | Preis | SKU |
|---|---|---|
| Potatoes | 10.00 | STAPOT |
| Rice | 30.00 | STARIC |
| Coffee | 14.99 | STACOF |
| Newspaper | 2.99 | MEDNEW |
Der Einkaufswagen soll die folgenden Operationen ermöglichen:
Eine alternative Version bzw. Erweiterung der Story verwendet Rabattcoupons, die zum Einkaufswagen hinzugefügt werden können.
Damit die Kunden zufrieden bleiben, hat der Tante-Emma-Laden Rabattcoupons eingeführt. Um diese Rabatte zu unterstützen, muss unser Einkaufswagen in der Lage sein, Rabattcoupons zu lesen und auf die aktuellen Artikel anzuwenden. Die unterstützten Coupons sind:
| Typ | SKU | Regel |
|---|---|---|
| Festpreisrabatt | FIX_TEN | Zieht 10.00 vom Gesamtbetrag des Einkaufswagens ab |
| Produktrabatt | HALF_STAPOT | Reduziert alle STAPOT-Artikel auf den halben Preis |
Der Einkaufswagen soll eine neue Operation scan coupon haben, die eine SKU entgegennimmt und sie zum Einkaufswagen hinzufügt. Beachte, dass total_amount keine negative Zahl sein darf; der Mindestwert für total_amount ist 0.