Panier d'achat


Scénario

Il faut modéliser un panier d'achat pour une épicerie de quartier. Le panier doit conserver la liste des articles ajoutés et calculer correctement le prix.

Les articles sont ajoutés au panier à l'aide de codes d'unité de gestion des stocks (SKU). Les articles de la boutique sont les suivants :

Nom Prix SKU
Pommes de terre 10,00 STAPOT
Riz 30,00 STARIC
Café 14,99 STACOF
Journal 2,99 MEDNEW

Tâches

Le panier d'achat doit permettre d'effectuer les opérations suivantes :

  • Ajouter des articles au panier : lire un SKU et l'ajouter au panier.
  • Vérifier le montant total : la valeur totale des articles du panier, sous forme de nombre avec deux chiffres après la virgule (par ex. 3,99).
  • Vérifier les articles contenus dans le panier : la liste des noms des articles du panier, classés par ordre alphabétique, sans doublons, séparés par une virgule et un espace.

Terminologie

  • Article : article qui peut être ajouté au panier d'achat.
  • SKU : le SKU est un identifiant composé des trois premières lettres majuscules du type de produit, suivies des trois premières lettres majuscules du nom du produit.
  • Prix : la valeur d'un article sous forme de nombre avec deux chiffres après la virgule.

Implémentations

Version alternative

Une version alternative ou une extension du scénario utilise des coupons de réduction qui peuvent être ajoutés au panier d'achat.

Scénario

Pour garder ses clients satisfaits, l'épicerie de quartier a ajouté des coupons de réduction. Cela signifie que, pour prendre en charge ces réductions, notre panier d'achat doit pouvoir lire et appliquer des coupons de réduction aux articles actuels. Les coupons pris en charge sont les suivants :

Type SKU Règle
Réduction à montant fixe FIX_TEN Retire 10,00 au montant total du panier
Réduction sur un produit HALF_STAPOT Réduit de moitié le prix de tous les articles STAPOT

Tâches

Le panier d'achat doit disposer d'une nouvelle opération scan coupon, qui prend un SKU et l'ajoute au panier. Garde à l'esprit que total_amount ne doit pas être un nombre négatif : la valeur minimale de total_amount est 0.

Terminologie

  • Coupon : réduction qui peut être appliquée au panier. Les coupons sont uniques et ne peuvent être appliqués qu'une seule fois. Si le type de coupon est une réduction à montant fixe, la seconde partie du SKU correspond au montant de la réduction, écrit en lettres majuscules.

Implémentations