Exemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                var merchantRepository = new InMemoryMerchantRepository();
                merchantRepository.Add(new Merchant(new Name("7-ELEVEN"), new Percentage(0)));
                merchantRepository.Add(new Merchant(new Name("NETTO"), new Percentage(0)));
                merchantRepository.Add(new Merchant(new Name("TELIA"), new Percentage(10)));
                merchantRepository.Add(new Merchant(new Name("CIRCLE_K"), new Percentage(20)));

                var calculateFeeHandler             = new CalculateFeeHandler(new Percentage(TransactionPercentageFee));
                var calculateFeeWithDiscountHandler = new CalculateFeeWithDiscountHandler(calculateFeeHandler,
                                                                                          merchantRepository);
                var calculateWithInvoiceFeeHandler = new CalculateFeeWithInvoiceFeeHandler(calculateFeeWithDiscountHandler,
                                                                                           new Fee(InvoiceFixedFee));

                var outputSettings = new OutputSettings();


                var transactionFeeCalculator = new FeeCalculationApp(calculateWithInvoiceFeeHandler, OutputSettings);
                transactionFeeCalculator.CalculateTransactionFees(InputFilePath);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 2
0
 protected TransactionFeeCalculatorAcceptanceTest()
 {
     MerchantRepository = new InMemoryMerchantRepository();
     MerchantRepository.Add(new Merchant(new Name("TELIA"), new Percentage(10)));
     MerchantRepository.Add(new Merchant(new Name("CIRCLE_K"), new Percentage(20)));
     MerchantRepository.Add(new Merchant(new Name("7-ELEVEN"), new Percentage(0)));
     MerchantRepository.Add(new Merchant(new Name("NETTO"), new Percentage(0)));
     Output         = new StringBuilder();
     OutputSettings = new AcceptanceTestOutputSettings(WriteToStringBuilder);
 }