ABC sales team sells different products and each product has different margins. As an example refer the following table
Sl. No Product Margin 1 Mutual Fund 2% of Revenue 2 Insurance 15% of Revenue
In addition to the direct margins, there are volume overrides. For example if the total mutual fund sale is greater than 1 crore then the margin becomes 2.25%. Similarly for other products as well.
Define a class structure and write a program to calculate the total revenue using the same. Make the design flexible to incorporate easy addition of new products and criteria for incentive calculation. Assume inputs are available as data objects. Identify all unittest cases and write a few of those.