Gaweph / CodingChallenge_PromotionEngine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CodingChallenge_PromotionEngine

We need you to implement a simple promotion engine for a checkout process. Our Cart contains a list of single character SKU ids (A, B, C. ) over which the promotion engine will need to run.

The promotion engine will need to calculate the total order value after applying the 2 promotion types

  • buy 'n' items of a SKU for a fixed price (3 A's for 130)
  • buy SKU 1 & SKU 2 for a fixed price ( C + D = 30 )

The promotion engine should be modular to allow for more promotion types to be added at a later date (e.g. a future promotion could be x% of a SKU unit price). For this coding exercise you can assume that the promotions will be mutually exclusive; in other words if one is applied the other promotions will not apply

Test Setup Unit price for SKU IDs

  • A 50
  • B 30
  • C 20
  • D 15

Active Promotions

  • 3 of A's for 130
  • 2 of B's for 45 C & D for 30

Scenario A

  • 1 * A 50
  • 1 * B 30
  • 1 * C 20

Total 100

Scenario B

  • 5 * A 130 + 2*50
  • 5 * B 45 + 45 + 30
  • 1 * C 20

Total 370

Scenario C

  • 3 * A 130
  • 5 * B 45 + 45 + 1 * 30
  • 1 * C -
  • 1 * D 30

Total 280

About


Languages

Language:C# 100.0%