町の小さな店のためのショッピングカートをモデル化する必要があります。カートは、追加された商品のリストを記録し、価格を正しく計算できるようにします。
商品は、SKU(在庫管理単位)コードを使ってカートに追加します。店にある商品は次のとおりです。
| Name | Price | SKU |
|---|---|---|
| Potatoes | 10.00 | STAPOT |
| Rice | 30.00 | STARIC |
| Coffee | 14.99 | STACOF |
| Newspaper | 2.99 | MEDNEW |
ショッピングカートでは、次の操作ができる必要があります。
このストーリーには、ショッピングカートに追加できる割引クーポンを使う別バージョン(拡張版)があります。
お客さんに喜んでもらうために、町の小さな店は割引クーポンを導入しました。つまり、こうした割引に対応するために、ショッピングカートは割引クーポンを読み取り、カートに入っている商品に適用できる必要があります。対応しているクーポンは次のとおりです。
| Type | SKU | Rule |
|---|---|---|
| 定額割引 | FIX_TEN | カートの合計金額から10.00を割り引きます |
| 商品割引 | HALF_STAPOT | STAPOTの商品をすべて半額にします |
ショッピングカートには、SKUを受け取ってカートに追加する新しいscan coupon操作が必要です。total_amountは負の数になってはいけない点に注意してください。total_amountの最小値は0です。