Καλάθι αγορών


Ιστορία

Πρέπει να μοντελοποιήσουμε ένα καλάθι αγορών για ένα μπακάλικο. Το καλάθι θα πρέπει να κρατά τη λίστα των ειδών που προστέθηκαν και να υπολογίζει σωστά την τιμή.

Τα είδη προστίθενται στο καλάθι με κωδικούς SKU (μονάδα τήρησης αποθέματος). Τα είδη του καταστήματος είναι:

Όνομα Τιμή SKU
Potatoes 10.00 STAPOT
Rice 30.00 STARIC
Coffee 14.99 STACOF
Newspaper 2.99 MEDNEW

Εργασίες

Το καλάθι αγορών θα πρέπει να επιτρέπει τις εξής λειτουργίες:

  • Προσθήκη ειδών στο καλάθι: Διαβάζει ένα SKU και το προσθέτει στο καλάθι.
  • Έλεγχος του συνολικού ποσού: Η συνολική αξία των ειδών στο καλάθι ως αριθμός με δύο δεκαδικά ψηφία (π.χ. 3.99).
  • Έλεγχος των ειδών που περιέχει το καλάθι: Μια λίστα με τα ονόματα των ειδών στο καλάθι, ταξινομημένη αλφαβητικά, χωρίς διπλότυπα, χωρισμένη με κόμμα και κενό.

Ορολογία

  • Είδος: Αντικείμενο που μπορεί να προστεθεί στο καλάθι αγορών.
  • SKU: Το SKU είναι ένα αναγνωριστικό που αποτελείται από τα τρία πρώτα κεφαλαία γράμματα του τύπου του προϊόντος + τα τρία πρώτα κεφαλαία γράμματα του ονόματος του προϊόντος.
  • Τιμή: Η αξία του είδους ως αριθμός με δύο δεκαδικά ψηφία.

Υλοποιήσεις

Εναλλακτική έκδοση

Μια εναλλακτική έκδοση ή επέκταση της ιστορίας χρησιμοποιεί κουπόνια έκπτωσης που μπορούν να προστεθούν στο καλάθι αγορών.

Ιστορία

Για να κρατήσουμε τους πελάτες ευχαριστημένους, το μπακάλικο πρόσθεσε κουπόνια έκπτωσης. Αυτό σημαίνει ότι, για να υποστηρίξουμε αυτές τις εκπτώσεις, το καλάθι αγορών μας πρέπει να μπορεί να διαβάζει και να εφαρμόζει κουπόνια έκπτωσης στα τρέχοντα είδη. Τα υποστηριζόμενα κουπόνια είναι:

Τύπος SKU Κανόνας
Έκπτωση σταθερής τιμής FIX_TEN Αφαιρεί 10.00 από το συνολικό ποσό του καλαθιού
Έκπτωση προϊόντος HALF_STAPOT Μειώνει όλα τα είδη STAPOT στη μισή τιμή

Εργασίες

Το καλάθι αγορών θα πρέπει να έχει μια νέα λειτουργία scan coupon που παίρνει ένα SKU και το προσθέτει στο καλάθι. Λάβε υπόψη ότι το total_amount δεν πρέπει να είναι αρνητικός αριθμός. Η ελάχιστη τιμή για το total_amount είναι 0.

Ορολογία

  • Κουπόνι: Έκπτωση που μπορεί να εφαρμοστεί στο καλάθι. Τα κουπόνια είναι μοναδικά και μπορούν να εφαρμοστούν μόνο μία φορά. Αν ο τύπος του κουπονιού είναι έκπτωση σταθερής τιμής, το δεύτερο μέρος του SKU είναι το ποσό της έκπτωσης με κεφαλαία γράμματα.

Υλοποιήσεις