public Calculator(BrokerageFeeRate brokerageFeeRate, ClearingFeeRate clearingFeeRate, StampDutyRate stampDutyRate, SalesServiceTaxRate taxRate) { this.brokerageFeeRate = brokerageFeeRate; this.clearingFeeRate = clearingFeeRate; this.stampDutyRate = stampDutyRate; this.taxRate = taxRate; }
public void CalculateOnlineTradingRebate_returns_expected_result(BrokerageFeeRate brokerageFeeRate) { var sut = new Func <BrokerageFeeRate, decimal, decimal>(BrokerageFeeExtensions.CalculateOnlineTradingRebate); var result = sut(brokerageFeeRate, 10); result.Should().Be(0); }
public void CalculateBrokerageFee_with_equal_150000_returns_expected_result(BrokerageFeeRate brokerageFeeRate) { var sut = new Func <BrokerageFeeRate, decimal, decimal>(BrokerageFeeExtensions.CalculateBrokerageFee); var result = sut(brokerageFeeRate, 150_000); result.Should().Be(315m); }
public void Calculate_returns_expected_result(BrokerageFeeRate brokerageFeeRate, ClearingFeeRate clearingFeeRate, StampDutyRate stampDutyRate, SalesServiceTaxRate salesServiceTaxRate) { var sut = new Calculator(brokerageFeeRate, clearingFeeRate, stampDutyRate, salesServiceTaxRate); var result = sut.Calculate(1, Lot(1), 1.5m); result.Profit.Should().Be(50); }
public static decimal CalculateOnlineTradingRebate(BrokerageFeeRate feeRate, decimal amount) => feeRate.OnlineTradingRebate * amount;
public static decimal CalculateIntraDayFee(BrokerageFeeRate feeRate, decimal amount) => feeRate.IntraDayFee * amount;
public static decimal CalculateBrokerageFee(BrokerageFeeRate rate, decimal amount) => PercentageBrokerageFee(rate.PercentageRates, amount) - CalculateOnlineTradingRebate(rate, amount);
public static Fee Fee(BrokerageFeeRate brokerageFeeRate, ClearingFeeRate clearingFeeRate, StampDutyRate stampDutyRate, SalesServiceTaxRate salesServiceTaxRate) => new Fee(brokerageFeeRate, clearingFeeRate, stampDutyRate, salesServiceTaxRate);
public void CalculateBrokeragePercentageFee_with_1000_returns_expected_result(BrokerageFeeRate brokerageFeeRate) { var sut = new Func <BrokerageFeeRate, decimal, decimal>(BrokerageFeeExtensions .CalculateBrokeragePercentageFee); var result = sut(brokerageFeeRate, 1_000); result.Should().Be(4.2m); }