Пример #1
0
 public Calculator(BrokerageFeeRate brokerageFeeRate, ClearingFeeRate clearingFeeRate,
                   StampDutyRate stampDutyRate, SalesServiceTaxRate taxRate)
 {
     this.brokerageFeeRate = brokerageFeeRate;
     this.clearingFeeRate  = clearingFeeRate;
     this.stampDutyRate    = stampDutyRate;
     this.taxRate          = taxRate;
 }
Пример #2
0
        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);
        }
Пример #3
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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 public static decimal CalculateOnlineTradingRebate(BrokerageFeeRate feeRate, decimal amount) =>
 feeRate.OnlineTradingRebate * amount;
Пример #6
0
 public static decimal CalculateIntraDayFee(BrokerageFeeRate feeRate, decimal amount) =>
 feeRate.IntraDayFee * amount;
Пример #7
0
 public static decimal CalculateBrokerageFee(BrokerageFeeRate rate, decimal amount) =>
 PercentageBrokerageFee(rate.PercentageRates, amount) -
 CalculateOnlineTradingRebate(rate, amount);
Пример #8
0
 public static Fee Fee(BrokerageFeeRate brokerageFeeRate, ClearingFeeRate clearingFeeRate, StampDutyRate stampDutyRate,
                       SalesServiceTaxRate salesServiceTaxRate) =>
 new Fee(brokerageFeeRate, clearingFeeRate, stampDutyRate, salesServiceTaxRate);
Пример #9
0
        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);
        }