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); } }
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); }