Exemplo n.º 1
0
        public async Task ChooseOrgOsn_Then_CalculateWright()
        {
            // Assign
            var calculator =
                await _taxCalculatorFactory.CreateCalculator(
                    ECompanyType.OOO,
                    EAccountTaxationSystem.Osn);

            // Act
            var @params =
                new CustomerTaxParameters(
                    new RurMoney(1000000m),
                    new RurMoney(100000m),
                    new RurMoney(30000m));

            var actual = await calculator(@params);

            // Assert
            var feeTotal = new RurMoney(10344.83m);

            var profitTax = new RurMoney(143576.81m);

            var nds = new RurMoney(137288.13m);

            var expected = new OrgOsnTaxAggregate(
                profitTax,
                nds,
                feeTotal,
                employeeFee: new EmployeeInsuranceFee(
                    new RurMoney(7586.21m),
                    new RurMoney(1758.62m),
                    new RurMoney(1000m)),
                ndfl: new RurMoney(4483m),
                total: new RurMoney(295692.77m),
                burgen: 29.57m
                );

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 2
0
        public async Task ChooseOrgOsnWithoutEmployee_Then_CalculateWright()
        {
            // Assign
            var calculator =
                await _taxCalculatorFactory.CreateCalculator(
                    ECompanyType.OOO,
                    EAccountTaxationSystem.Osn);

            // Act
            var @params =
                new CustomerTaxParameters(
                    new RurMoney(1000000m),
                    new RurMoney(100000m),
                    RurMoney.Zero);

            var actual = await calculator(@params);

            // Assert
            var feeTotal = RurMoney.Zero;

            var profitTax = new RurMoney(152542.37m);

            var nds = new RurMoney(137288.13m);

            var expected = new OrgOsnTaxAggregate(
                profitTax,
                nds,
                feeTotal,
                employeeFee: new EmployeeInsuranceFee(RurMoney.Zero, RurMoney.Zero, RurMoney.Zero),
                ndfl: RurMoney.Zero,
                total: new RurMoney(289830.5m),
                burgen: 28.98m
                );

            Assert.AreEqual(expected, actual);
        }