new column type | new columns
This commit is contained in:
parent
1e8bff1cd3
commit
14f99e0f72
@ -45,12 +45,14 @@
|
||||
<e p="AcceptSumColumn.cs" t="Include" />
|
||||
<e p="AgentComissionExpensesColumn.cs" t="Include" />
|
||||
<e p="BaseColumn.cs" t="Include" />
|
||||
<e p="BaseColumnWithNominal.cs" t="Include" />
|
||||
<e p="BaseColumnWithSum.cs" t="Include" />
|
||||
<e p="BaseColumnWithXIRR.cs" t="Include" />
|
||||
<e p="BaseColumnWithXNPV.cs" t="Include" />
|
||||
<e p="CashflowColumn.cs" t="Include" />
|
||||
<e p="CashflowLeasingColumn.cs" t="Include" />
|
||||
<e p="CashflowMSFOColumn.cs" t="Include" />
|
||||
<e p="CashflowNPVColumn.cs" t="Include" />
|
||||
<e p="ComissionBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="DateColumn.cs" t="Include" />
|
||||
<e p="DateTempColumn.cs" t="Include" />
|
||||
@ -61,21 +63,30 @@
|
||||
<e p="GPS_GrColumn.cs" t="Include" />
|
||||
<e p="GPSExpensesColumn.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="InterestColumn.cs" t="Include" />
|
||||
<e p="IRRGrColumn.cs" t="Include" />
|
||||
<e p="KaskoBonusGrSumColumn.cs" t="Include" />
|
||||
<e p="KaskoNmperGrColumn.cs" t="Include" />
|
||||
<e p="NegativeCashflowColumn.cs" t="Include" />
|
||||
<e p="NIColumn.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="NPVColumn.cs" t="Include" />
|
||||
<e p="NpvWeightColumn.cs" t="Include" />
|
||||
<e p="NSIBBruttoGrColumn.cs" t="Include" />
|
||||
<e p="NsibExpensesColumn.cs" t="Include" />
|
||||
<e p="PercentPaymentColumn.cs" t="Include" />
|
||||
<e p="RatExpensesColumn.cs" t="Include" />
|
||||
<e p="RegistrExpensesColumn.cs" t="Include" />
|
||||
<e p="SumColumn.cs" t="Include" />
|
||||
<e p="SumCurrentColumn.cs" t="Include" />
|
||||
<e p="SumCurrentInterestColumn.cs" t="Include" />
|
||||
<e p="SumCurrentNegativeColumn.cs" t="Include" />
|
||||
<e p="SumCurrentTLMColumn.cs" t="Include" />
|
||||
<e p="SumWithVATColumn.cs" t="Include" />
|
||||
<e p="TaxColumn.cs" t="Include" />
|
||||
<e p="TLM_GRColumn.cs" t="Include" />
|
||||
<e p="TlmExpensesColumn.cs" t="Include" />
|
||||
<e p="TransExprensesColumn.cs" t="Include" />
|
||||
<e p="TransExpensesColumn.cs" t="Include" />
|
||||
<e p="VATColumn.cs" t="Include" />
|
||||
</e>
|
||||
<e p="EvoCalculator.Core.Calculation.csproj" t="IncludeRecursive" />
|
||||
@ -152,6 +163,7 @@
|
||||
<e p="AgentComissionExpensesTests.cs" t="Include" />
|
||||
<e p="CashflowLeasingTests.cs" t="Include" />
|
||||
<e p="CashflowMSFOTests.cs" t="Include" />
|
||||
<e p="CashflowNPV.cs" t="Include" />
|
||||
<e p="CashflowTests.cs" t="Include" />
|
||||
<e p="ComissionBonusExpensesTests.cs" t="Include" />
|
||||
<e p="DateColumnTests.cs" t="Include" />
|
||||
@ -163,15 +175,24 @@
|
||||
<e p="GPS_GrTests.cs" t="Include" />
|
||||
<e p="GPSExpensesTests.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesTests.cs" t="Include" />
|
||||
<e p="Interest.cs" t="Include" />
|
||||
<e p="IRRGr.cs" t="Include" />
|
||||
<e p="KaskoBonusGrSumTests.cs" t="Include" />
|
||||
<e p="KaskoNmperGrTests.cs" t="Include" />
|
||||
<e p="NegativeCashflowTests.cs" t="Include" />
|
||||
<e p="NI.cs" t="Include" />
|
||||
<e p="NPV.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesTests.cs" t="Include" />
|
||||
<e p="NPVWeight.cs" t="Include" />
|
||||
<e p="NSIBBruttoGrTests.cs" t="Include" />
|
||||
<e p="NsibExpensesTests.cs" t="Include" />
|
||||
<e p="PercentPaymentTests.cs" t="Include" />
|
||||
<e p="RatExpensesTests.cs" t="Include" />
|
||||
<e p="RegistrExpensesTests.cs" t="Include" />
|
||||
<e p="SumCurrent.cs" t="Include" />
|
||||
<e p="SumCurrentInterest.cs" t="Include" />
|
||||
<e p="SumCurrentNegative.cs" t="Include" />
|
||||
<e p="SumCurrentTLM.cs" t="Include" />
|
||||
<e p="SumTest.cs" t="Include" />
|
||||
<e p="SumWithVatTests.cs" t="Include" />
|
||||
<e p="TaxColumnTests.cs" t="Include" />
|
||||
|
||||
250
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
250
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
@ -14,12 +14,52 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="2c3b0650-5589-43d4-b4b7-2979612bb30f" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowLeasingColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowLeasingTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithNominal.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/IRRGrColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InterestColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NIColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVWeightColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentInterestColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentNegativeColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentTLMColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/IRRGr.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Interest.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NI.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPV.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVWeight.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrent.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentInterest.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentNegative.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentTLM.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/contentModel.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithSum.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithSum.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXNPV.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXNPV.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOColumn.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TaxColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TaxColumn.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExprensesColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExpensesColumn.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPS_GrTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPS_GrTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBBruttoGrTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBBruttoGrTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBExpensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLM_GrTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLM_GrTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TransExprensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TransExprensesTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -43,52 +83,22 @@
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/18D5A60D-361A-4AFD-A431-F772FA87FCC3/d9/b0109e6d/TestInvoker`1.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/92/f4ccca9d/GoalSeekResult.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F680C866-D120-4163-9634-EBD842255BE9/3D/HttpPostAttribute.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/InsuranceBonusExpensesColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/AgentComissionExpensesColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/CashflowMSFOColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F680C866-D120-4163-9634-EBD842255BE9/24/ControllerBase.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9D995D4A-0EBE-4A93-85A6-BE06CB7C70EE/f6/ada9c10c/FactAttribute.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/558EFF1A-6D86-468A-B5D3-8B990CD1FB1A/C/Controller.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/d6/c014ca2d/GoalSeekOptions.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/89/f5bc57e5/Trident.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/D0/TimeSpan.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/31F94AF4-0455-4C4C-BD4F-AB58A9F2D1BF/2C/Sum.cs" root0="SKIP_HIGHLIGHTING" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/DoubleArrayComparer.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptInsuranceTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptKaskoTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptOsagoTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptSumTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AgentComissionExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ComissionBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPS_GrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoBonusGrSumTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NegativeCashflowTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBBruttoGrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NSIBExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RatExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RegistrExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumTest.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLM_GrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TransExprensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Controller/CalculationControllerV1Tests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DateColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/FinanceFormulas/FinanceFormulasTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPS_GrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXNPV.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Constants/Calculation.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InsuranceBonusExpensesColumn.cs" />
|
||||
@ -106,6 +116,37 @@
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowLeasingTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFO.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithNominal.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithSum.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXNPV.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NpvWeightColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPV.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVWeightColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVWeight.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPV.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Sum.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrent.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentNegativeColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentNegative.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/IRRGrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/IRRGr.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NIColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NIColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NI.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Interest.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InterestColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentInterestColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentInterest.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentTLM.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentTLMColumn.cs" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -125,7 +166,7 @@
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="C#" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
|
||||
<property name="settings.editor.selected.configurable" value="RiderCSharpFileTemplatesSettingsId" />
|
||||
<property name="vue.rearranger.settings.migration" value="true" />
|
||||
</component>
|
||||
<component name="RunManager" selected=".NET Launch Settings Profile.EvoCalculator.Core">
|
||||
@ -181,7 +222,8 @@
|
||||
<workItem from="1603359602644" duration="13087000" />
|
||||
<workItem from="1603447491537" duration="4025000" />
|
||||
<workItem from="1603451569606" duration="6133000" />
|
||||
<workItem from="1603639854245" duration="10024000" />
|
||||
<workItem from="1603639854245" duration="10211000" />
|
||||
<workItem from="1603704776782" duration="10254000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="rename: flow">
|
||||
<created>1602593830686</created>
|
||||
@ -265,90 +307,90 @@
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603456160137" />
|
||||
<state width="503" height="464" key="DebuggerActiveHint" timestamp="1603378893516">
|
||||
<state width="535" height="702" key="DebuggerActiveHint" timestamp="1603716439590">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="503" height="464" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603378893516" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.bottom" timestamp="1603645855102">
|
||||
<state width="535" height="702" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716439590" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.bottom" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.center" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.center" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.left" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.left" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.right" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.right" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.bottom" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.bottom" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.center" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.center" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.left" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.left" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.right" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.right" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.bottom" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.bottom" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.center" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.center" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.left" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.left" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.right" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.right" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.bottom" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.bottom" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.center" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.center" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.left" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.left" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.right" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.right" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.bottom" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.bottom" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.center" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.center" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.left" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.left" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.right" timestamp="1603645855102">
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.right" timestamp="1603716546080">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="558" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645855102" />
|
||||
<state width="2517" height="682" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716546080" />
|
||||
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -361,18 +403,18 @@
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="1078" y="410" key="RollbackChangesDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603457630228" />
|
||||
<state x="781" y="345" key="SettingsEditor" timestamp="1603281561803">
|
||||
<state x="302" y="107" width="1537" height="899" key="SettingsEditor" timestamp="1603711979982">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="781" y="345" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603281561803" />
|
||||
<state x="302" y="107" width="1537" height="899" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603711979982" />
|
||||
<state width="498" height="446" key="SwitcherDM" timestamp="1603454051875">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="498" height="446" key="SwitcherDM/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603454051875" />
|
||||
<state x="92" y="92" width="2376" height="1216" key="VCS.FileHistoryDialog" timestamp="1603645030520">
|
||||
<state x="92" y="92" width="2376" height="1216" key="VCS.FileHistoryDialog" timestamp="1603709850962">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="92" y="92" width="2376" height="1216" key="VCS.FileHistoryDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603645030520" />
|
||||
<state x="92" y="92" width="2376" height="1216" key="VCS.FileHistoryDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603709850962" />
|
||||
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603456466180">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -381,22 +423,26 @@
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="92" y="92" width="2376" height="1216" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603456576335" />
|
||||
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1603709612427">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603709612427" />
|
||||
<state x="898" y="0" width="1161" height="1387" key="dock-window-1" timestamp="1603198596935">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="898" y="0" width="1161" height="1387" key="dock-window-1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198596935" />
|
||||
<state x="759" y="244" width="1137" height="959" key="find.popup" timestamp="1603648670658">
|
||||
<state x="759" y="244" width="1137" height="959" key="find.popup" timestamp="1603714824423">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="759" y="244" width="1137" height="959" key="find.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603648670658" />
|
||||
<state x="759" y="244" width="1137" height="959" key="find.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603714824423" />
|
||||
<state x="936" y="330" key="run.anything.popup" timestamp="1603290743275">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="936" y="330" key="run.anything.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603290743275" />
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1603290838524">
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1603712041215">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603290838524" />
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603712041215" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
@ -427,6 +473,32 @@
|
||||
</properties>
|
||||
<option name="timeStamp" value="7" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentTLM.cs</url>
|
||||
<line>86</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\SumCurrentTLM.cs" initialLine="86">
|
||||
<startOffsets>
|
||||
<option value="2193" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="2272" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="14" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentTLMColumn.cs</url>
|
||||
<line>14</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Calculation\Columns\SumCurrentTLMColumn.cs" initialLine="14">
|
||||
<startOffsets>
|
||||
<option value="388" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="389" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="16" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
<pin-to-top-manager>
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class BaseColumnWithNominal : BaseColumnWithXIRR
|
||||
{
|
||||
public BaseColumnWithNominal(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public double Nominal => (Math.Pow(IRR + 1, (double) 1 / 12) - 1) * 12;
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class BaseColumnWithSum : BaseColumn<decimal>
|
||||
{
|
||||
protected BaseColumnWithSum(int count) : base(count)
|
||||
public BaseColumnWithSum(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class BaseColumnWithXIRR : BaseColumn<decimal>
|
||||
{
|
||||
protected BaseColumnWithXIRR(int count, DateTempColumn dateTempColumn) : base(count)
|
||||
public BaseColumnWithXIRR(int count, DateTempColumn dateTempColumn) : base(count)
|
||||
{
|
||||
Dates = dateTempColumn.Values;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
private readonly double rate;
|
||||
|
||||
protected BaseColumnWithXNPV(int count, DateTempColumn dateTempColumn, double rate) : base(count)
|
||||
public BaseColumnWithXNPV(int count, DateTempColumn dateTempColumn, double rate) : base(count)
|
||||
{
|
||||
Dates = dateTempColumn.Values;
|
||||
this.rate = rate;
|
||||
|
||||
@ -15,13 +15,11 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = sumColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = sumColumn.Values[i]
|
||||
+ negativeCashflowColumn.Values[i]
|
||||
- nsibBruttoGrColumn.Values[i]
|
||||
- tlmGrColumn.Values[i]
|
||||
- gpsGrColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowMSFOColumn : BaseColumnWithXIRR
|
||||
public class CashflowMSFOColumn : BaseColumnWithNominal
|
||||
{
|
||||
public CashflowMSFOColumn(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
@ -16,7 +16,6 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = sumColumn.Values[1] + npvBonusExpensesColumn.Values[1] + agentComissionExpensesColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = sumColumn.Values[i]
|
||||
+ negativeCashflowColumn.Values[i]
|
||||
- nsibBruttoGrColumn.Values[i]
|
||||
@ -24,7 +23,6 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
- gpsGrColumn.Values[i]
|
||||
+ npvBonusExpensesColumn.Values[i]
|
||||
+ agentComissionExpensesColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
28
EvoCalculator.Core.Calculation/Columns/CashflowNPVColumn.cs
Normal file
28
EvoCalculator.Core.Calculation/Columns/CashflowNPVColumn.cs
Normal file
@ -0,0 +1,28 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowNPVColumn : BaseColumn<decimal>
|
||||
{
|
||||
public CashflowNPVColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, SumColumn sumColumn,
|
||||
NPVBonusExpensesColumn npvBonusExpensesColumn, AgentComissionExpensesColumn agentComissionExpensesColumn,
|
||||
TaxColumn taxColumn, NSIBExpensesColumn nsibExpensesColumn, NegativeCashflowColumn negativeCashflowColumn,
|
||||
RatExpensesColumn ratExpensesColumn, TransExpensesColumn transExpensesColumn,
|
||||
TLMExpensesColumn tlmExpensesColumn, GPSExpensesColumn gpsExpensesColumn)
|
||||
{
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = sumColumn.Values[1] + npvBonusExpensesColumn.Values[1] +
|
||||
agentComissionExpensesColumn.Values[1] - taxColumn.Values[1] + nsibExpensesColumn.Values[1];
|
||||
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = sumColumn.Values[i] + negativeCashflowColumn.Values[i] + npvBonusExpensesColumn.Values[i] +
|
||||
agentComissionExpensesColumn.Values[i] + ratExpensesColumn.Values[i] - taxColumn.Values[i] -
|
||||
transExpensesColumn.Values[i] + nsibExpensesColumn.Values[i] + tlmExpensesColumn.Values[i] +
|
||||
gpsExpensesColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
}
|
||||
|
||||
public void ComputeValues(AgentComissionExpensesColumn agentComissionExpensesColumn,
|
||||
RatExpensesColumn ratExpensesColumn, TransExprensesColumn transExprensesColumn,
|
||||
RatExpensesColumn ratExpensesColumn, TransExpensesColumn transExpensesColumn,
|
||||
NSIBExpensesColumn nsibExpensesColumn, TLMExpensesColumn tlmExpensesColumn,
|
||||
GPSExpensesColumn gpsExpensesColumn, RegistrExpensesColumn registrExpensesColumn,
|
||||
InsuranceBonusExpensesColumn insuranceBonusExpensesColumn,
|
||||
@ -17,7 +17,7 @@
|
||||
Values[i] =
|
||||
agentComissionExpensesColumn.Values[i]
|
||||
+ ratExpensesColumn.Values[i]
|
||||
+ transExprensesColumn.Values[i]
|
||||
+ transExpensesColumn.Values[i]
|
||||
+ nsibExpensesColumn.Values[i]
|
||||
+ tlmExpensesColumn.Values[i]
|
||||
+ gpsExpensesColumn.Values[i]
|
||||
|
||||
18
EvoCalculator.Core.Calculation/Columns/IRRGrColumn.cs
Normal file
18
EvoCalculator.Core.Calculation/Columns/IRRGrColumn.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using System;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class IRRGrColumn : BaseColumn<double>
|
||||
{
|
||||
public IRRGrColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(DateTempColumn dateTempColumn, CashflowColumn cashflowColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
Values[i] = Math.Pow(1 + cashflowColumn.IRR,
|
||||
(double) (dateTempColumn.Values[i] - dateTempColumn.Values[i - 1]).Days / 365) - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -11,36 +11,24 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
public void ComputeValues(PreparedValues preparedValues, Constants.Calculation constants)
|
||||
{
|
||||
if (preparedValues.NmperInsurance < constants.MaxOnePolicePeriod)
|
||||
{
|
||||
Values[2] = preparedValues.InsuranceBonus;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* +1 - компенсация того, что считается с 0 позиции
|
||||
*/
|
||||
* +1 - компенсация того, что считается с 0 позиции
|
||||
*/
|
||||
for (var i = 2; i < Values.Length; i += i == 2 ? 11 : 12)
|
||||
if (preparedValues.NmperInsurance - i >= 3)
|
||||
{
|
||||
if (
|
||||
(preparedValues.NmperInsurance == constants.MaxOnePolicePeriod && i <= 3) ||
|
||||
(preparedValues.NmperInsurance > constants.MaxOnePolicePeriod &&
|
||||
preparedValues.NmperInsurance - i > constants.MaxOnePolicePeriod)
|
||||
preparedValues.NmperInsurance == constants.MaxOnePolicePeriod && i <= 3 ||
|
||||
preparedValues.NmperInsurance > constants.MaxOnePolicePeriod &&
|
||||
preparedValues.NmperInsurance - i > constants.MaxOnePolicePeriod
|
||||
)
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceBonus / preparedValues.NmperInsurance * 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceBonus / preparedValues.NmperInsurance *
|
||||
(preparedValues.NmperInsurance - i + 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 0
|
||||
}
|
||||
}
|
||||
|
||||
Values[0] = Sum;
|
||||
}
|
||||
|
||||
15
EvoCalculator.Core.Calculation/Columns/InterestColumn.cs
Normal file
15
EvoCalculator.Core.Calculation/Columns/InterestColumn.cs
Normal file
@ -0,0 +1,15 @@
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class InterestColumn : BaseColumn<decimal>
|
||||
{
|
||||
public InterestColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(IRRGrColumn irrGrColumn, NIColumn niColumn)
|
||||
{
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = niColumn.Values[i - 1] * (decimal) irrGrColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
18
EvoCalculator.Core.Calculation/Columns/NIColumn.cs
Normal file
18
EvoCalculator.Core.Calculation/Columns/NIColumn.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NIColumn : BaseColumn<decimal>
|
||||
{
|
||||
public NIColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, CashflowColumn cashflowColumn, IRRGrColumn irrGrColumn)
|
||||
{
|
||||
Values[1] = preparedValues.NiAtInception;
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = Values[i - 1] + Values[i - 1] * (decimal) irrGrColumn.Values[i] - cashflowColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
17
EvoCalculator.Core.Calculation/Columns/NPVColumn.cs
Normal file
17
EvoCalculator.Core.Calculation/Columns/NPVColumn.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NPVColumn : BaseColumnWithNominal
|
||||
{
|
||||
public NPVColumn(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(CashflowNPVColumn cashflowNpvColumn, NPVWeightColumn npvWeightColumn)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = cashflowNpvColumn.Values[i] * (decimal) npvWeightColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
EvoCalculator.Core.Calculation/Columns/NPVWeightColumn.cs
Normal file
23
EvoCalculator.Core.Calculation/Columns/NPVWeightColumn.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NPVWeightColumn : BaseColumn<double>
|
||||
{
|
||||
public NPVWeightColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, DateTempColumn dateTempColumn)
|
||||
{
|
||||
Values[0] = 1;
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = Values[i - 1] / Math.Pow(
|
||||
1 + preparedValues.LoanRate / 365,
|
||||
(dateTempColumn.Values[i] - dateTempColumn.Values[i - 1]).Days);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12,7 +12,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
Values[1] = 0;
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = (decimal) preparedValues.NsibBrutto / (preparedValues.Nmper - 1);
|
||||
Values[i] = preparedValues.NsibBrutto / (preparedValues.Nmper - 1);
|
||||
|
||||
Values[0] = Sum;
|
||||
}
|
||||
|
||||
@ -16,10 +16,10 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
if (preparedValues.Nmper - i >= 3)
|
||||
{
|
||||
if (preparedValues.Nmper - i < 16 - 1)
|
||||
Values[i] = -(decimal) preparedValues.NsibNetto / preparedValues.Nmper *
|
||||
Values[i] = -preparedValues.NsibNetto / preparedValues.Nmper *
|
||||
(preparedValues.Nmper - i + 1);
|
||||
else
|
||||
Values[i] = -(decimal) preparedValues.NsibNetto / preparedValues.Nmper * 12;
|
||||
Values[i] = -preparedValues.NsibNetto / preparedValues.Nmper * 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -12,10 +12,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
Values[0] = 0;
|
||||
Values[1] = 0;
|
||||
for (var i = 2; i < Values.Length - 1; i++)
|
||||
{
|
||||
Values[i] = preparedPayments.Rows[i - 1].PercentPayment;
|
||||
}
|
||||
for (var i = 2; i < Values.Length - 1; i++) Values[i] = preparedPayments.Rows[i - 1].PercentPayment;
|
||||
|
||||
Values[^1] = 0;
|
||||
}
|
||||
|
||||
@ -28,10 +28,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
Values[0] = -_preparedValues.BaseCost;
|
||||
Values[1] = _preparedValues.FirstPaymentSum;
|
||||
|
||||
for (var i = 2; i < Values.Length - 1; i++)
|
||||
{
|
||||
Values[i] = x * (decimal) _percentPaymentColumn.Values[i] / 100;
|
||||
}
|
||||
for (var i = 2; i < Values.Length - 1; i++) Values[i] = x * (decimal) _percentPaymentColumn.Values[i] / 100;
|
||||
|
||||
Values[^1] = _preparedValues.LastPaymentSum;
|
||||
}
|
||||
|
||||
19
EvoCalculator.Core.Calculation/Columns/SumCurrentColumn.cs
Normal file
19
EvoCalculator.Core.Calculation/Columns/SumCurrentColumn.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System.Linq;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentColumn : BaseColumn<decimal>
|
||||
{
|
||||
public SumCurrentColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(SumWithVATColumn sumWithVatColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = sumWithVatColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
using System.Linq;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentInterestColumn : BaseColumn<decimal>
|
||||
{
|
||||
public SumCurrentInterestColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(InterestColumn interestColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++) Values[i] = interestColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
using System.Linq;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentNegativeColumn : BaseColumn<decimal>
|
||||
{
|
||||
public SumCurrentNegativeColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(NegativeCashflowColumn negativeCashflowColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = negativeCashflowColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
using System.Linq;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentTLMColumn : BaseColumn<decimal>
|
||||
{
|
||||
public SumCurrentTLMColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(TLM_GrColumn tlmGrColumn)
|
||||
{
|
||||
const int FIRST_YEAR_NUM = 13;
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
if (i < FIRST_YEAR_NUM)
|
||||
Values[i] = tlmGrColumn.Values.Skip(FIRST_YEAR_NUM).Sum(x => x);
|
||||
else
|
||||
Values[i] = tlmGrColumn.Values.Skip(i + 1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
22
EvoCalculator.Core.Calculation/Columns/SumRepaymentColumn.cs
Normal file
22
EvoCalculator.Core.Calculation/Columns/SumRepaymentColumn.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumRepaymentColumn : BaseColumn<decimal>
|
||||
{
|
||||
public SumRepaymentColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(Constants.Calculation calculation, PreparedValues preparedValues,
|
||||
SumCurrentColumn sumCurrentColumn, SumCurrentNegativeColumn sumCurrentNegativeColumn,
|
||||
SumCurrentInterestColumn sumCurrentInterestColumn, SumCurrentTLMColumn sumCurrentTlmColumn)
|
||||
{
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = sumCurrentColumn.Values[i] + sumCurrentNegativeColumn.Values[i] -
|
||||
sumCurrentTlmColumn.Values[i] * (1 + (decimal) calculation.VatValue) -
|
||||
sumCurrentInterestColumn.Values[i] * (1 + (decimal) calculation.VatValue) *
|
||||
(decimal) preparedValues.Repayment;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
public void ComputeValues(Constants.Calculation constants, SumColumn sumColumn,
|
||||
AcceptInsuranceColumn acceptInsuranceColumn, DeprecationColumn deprecationColumn,
|
||||
RatExpensesColumn ratExpensesColumn, RegistrExpensesColumn registrExpensesColumn,
|
||||
ComissionBonusExpensesColumn comissionBonusExpensesColumn, TransExprensesColumn transExprensesColumn,
|
||||
ComissionBonusExpensesColumn comissionBonusExpensesColumn, TransExpensesColumn transExpensesColumn,
|
||||
NPVBonusExpensesColumn npvBonusExpensesColumn, AgentComissionExpensesColumn agentComissionExpensesColumn,
|
||||
InsuranceBonusExpensesColumn insuranceBonusExpensesColumn, TLMExpensesColumn tlmExpensesColumn,
|
||||
GPSExpensesColumn gpsExpensesColumn)
|
||||
@ -21,7 +21,7 @@
|
||||
+ ratExpensesColumn.Values[i]
|
||||
+ registrExpensesColumn.Values[i]
|
||||
+ comissionBonusExpensesColumn.Values[i]
|
||||
+ transExprensesColumn.Values[i]
|
||||
+ transExpensesColumn.Values[i]
|
||||
+ npvBonusExpensesColumn.Values[i]
|
||||
+ agentComissionExpensesColumn.Values[i]
|
||||
+ insuranceBonusExpensesColumn.Values[i]
|
||||
|
||||
@ -3,9 +3,9 @@ using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class TransExprensesColumn : BaseColumnWithSum
|
||||
public class TransExpensesColumn : BaseColumnWithSum
|
||||
{
|
||||
public TransExprensesColumn(int count) : base(count)
|
||||
public TransExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
[Fact]
|
||||
public void CashflowLeasingTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
AcquisitionExpenses = 2507300
|
||||
@ -86,7 +86,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
@ -119,7 +119,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
108000,
|
||||
96000,
|
||||
96000,
|
||||
25000,
|
||||
25000
|
||||
}
|
||||
};
|
||||
|
||||
@ -152,7 +152,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
@ -185,7 +185,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
}
|
||||
};
|
||||
|
||||
@ -218,7 +218,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m
|
||||
}
|
||||
};
|
||||
|
||||
@ -252,7 +252,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
1000m,
|
||||
1000m,
|
||||
1000m,
|
||||
1000m,
|
||||
1000m
|
||||
}
|
||||
};
|
||||
|
||||
@ -290,7 +290,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
104986.241319444m,
|
||||
92986.2413194444m,
|
||||
92986.2413194444m,
|
||||
21986.2413194444m,
|
||||
21986.2413194444m
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -5,12 +5,12 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowMSFOTests
|
||||
public class CashflowMsfoTests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowMSFOTest1()
|
||||
public void CashflowMsfoTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
AcquisitionExpenses = 2507300
|
||||
@ -86,7 +86,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
@ -119,7 +119,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
108000,
|
||||
96000,
|
||||
96000,
|
||||
25000,
|
||||
25000
|
||||
}
|
||||
};
|
||||
|
||||
@ -152,7 +152,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
@ -185,7 +185,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
}
|
||||
};
|
||||
|
||||
@ -218,7 +218,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m
|
||||
}
|
||||
};
|
||||
|
||||
@ -252,7 +252,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
1000m,
|
||||
1000m,
|
||||
1000m,
|
||||
1000m,
|
||||
1000m
|
||||
}
|
||||
};
|
||||
|
||||
@ -285,7 +285,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
@ -318,7 +318,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
@ -359,12 +359,13 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
104986.241319444m,
|
||||
92986.2413194444m,
|
||||
92986.2413194444m,
|
||||
21986.2413194444m,
|
||||
21986.2413194444m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowMsfoColumn.Values.Length);
|
||||
Assert.Equal(0.0517445296049118, cashflowMsfoColumn.IRR, new DoubleArrayComparer(0.01));
|
||||
Assert.Equal(0.0517445296049118, cashflowMsfoColumn.IRR, new DoubleArrayComparer());
|
||||
Assert.Equal(0.0505564421421205, cashflowMsfoColumn.Nominal, new DoubleArrayComparer());
|
||||
Assert.Equal(expected, cashflowMsfoColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
|
||||
467
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs
Normal file
467
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs
Normal file
@ -0,0 +1,467 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowNpvTests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowNpvTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
AcquisitionExpenses = 2507300
|
||||
};
|
||||
|
||||
var dateTempColumn = new DateTempColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2542903.66268442m,
|
||||
625000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
96000m,
|
||||
96000m,
|
||||
25000m
|
||||
}
|
||||
};
|
||||
|
||||
var npvBonusExpenses = new NPVBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-29266.5425270833m,
|
||||
-1676.30246875m,
|
||||
-27590.2400583333m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var agentComissionExpenses = new AgentComissionExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-446104.166666667m,
|
||||
0,
|
||||
-446104.166666667m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var taxColumn = new TaxColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
60301.716983905m,
|
||||
47477.2805581053m,
|
||||
-87962.9468973872m,
|
||||
4527.53444761279m,
|
||||
5727.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
4527.53444761279m,
|
||||
3900.22165941717m,
|
||||
7184.77620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
4445.67620487171m,
|
||||
3818.36341667609m,
|
||||
3818.36341667609m,
|
||||
106.762753185324m
|
||||
}
|
||||
};
|
||||
|
||||
var nsibExpensesColumn = new NSIBExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-4811.4375m,
|
||||
-2309.49m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-2501.9475m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var negativeCashflowColumn = new NegativeCashflowColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-110416.666666667m,
|
||||
-53000m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-57416.6666666667m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var ratExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-6000m,
|
||||
-12000m,
|
||||
0,
|
||||
0,
|
||||
6000m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var transExpensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new decimal[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var tlmExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
-20000m,
|
||||
-1600m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m,
|
||||
-800m
|
||||
}
|
||||
};
|
||||
|
||||
var gpsExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
-15000m,
|
||||
-1200m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m,
|
||||
-600m
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var cashflowNpvColumn = new CashflowNPVColumn(preparedValues.Nmper + 1);
|
||||
cashflowNpvColumn.ComputeValues(preparedValues, sumColumn, npvBonusExpenses, agentComissionExpenses,
|
||||
taxColumn,
|
||||
nsibExpensesColumn, negativeCashflowColumn, ratExpensesColumn, transExpensesColumn, tlmExpensesColumn,
|
||||
gpsExpensesColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
573536.926973145m,
|
||||
-268531.459827613m,
|
||||
114072.465552387m,
|
||||
118872.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
114072.465552387m,
|
||||
102699.778340583m,
|
||||
39496.6096284616m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
102154.323795128m,
|
||||
90781.6365833239m,
|
||||
90781.6365833239m,
|
||||
23493.2372468147m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowNpvColumn.Values.Length);
|
||||
Assert.Equal(expected, cashflowNpvColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,7 +2,6 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class DeprecationLDTests
|
||||
public class DeprecationLdTests
|
||||
{
|
||||
[Fact]
|
||||
public void DeprecationLDTest1()
|
||||
public void DeprecationLdTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -18,8 +18,8 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
};
|
||||
|
||||
|
||||
var deprecationLDColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2);
|
||||
deprecationLDColumn.ComputeValues(preparedValues);
|
||||
var deprecationLdColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2);
|
||||
deprecationLdColumn.ComputeValues(preparedValues);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
@ -65,7 +65,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
};
|
||||
|
||||
|
||||
var values = deprecationLDColumn.Values;
|
||||
var values = deprecationLdColumn.Values;
|
||||
Assert.Equal(expected, values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class DeprecationLPTests
|
||||
public class DeprecationLpTests
|
||||
{
|
||||
[Fact]
|
||||
public void DeprecationLPTest1()
|
||||
public void DeprecationLpTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -53,8 +53,8 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var deprecationLPColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
|
||||
deprecationLPColumn.ComputeValues(preparedValues, acceptSumColumn);
|
||||
var deprecationLpColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
|
||||
deprecationLpColumn.ComputeValues(preparedValues, acceptSumColumn);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
@ -92,12 +92,12 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
};
|
||||
|
||||
|
||||
var values = deprecationLPColumn.Values;
|
||||
var values = deprecationLpColumn.Values;
|
||||
Assert.Equal(expected, values, new DecimalArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DeprecationLPTest2()
|
||||
public void DeprecationLpTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -143,8 +143,8 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var deprecationLPColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
|
||||
deprecationLPColumn.ComputeValues(preparedValues, acceptSumColumn);
|
||||
var deprecationLpColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
|
||||
deprecationLpColumn.ComputeValues(preparedValues, acceptSumColumn);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
@ -182,7 +182,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
};
|
||||
|
||||
|
||||
var values = deprecationLPColumn.Values;
|
||||
var values = deprecationLpColumn.Values;
|
||||
Assert.Equal(expected, values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
Nmper = 30
|
||||
};
|
||||
|
||||
var deprecationLPColumn = new DeprecationLPColumn(preparedValues.Nmper + 1)
|
||||
var deprecationLpColumn = new DeprecationLPColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -53,7 +53,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var deprecationLDColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2)
|
||||
var deprecationLdColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -100,7 +100,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
};
|
||||
|
||||
var deprecationColumn = new DeprecationColumn(preparedValues.NmperDeprecation + 2);
|
||||
deprecationColumn.ComputeValues(deprecationLPColumn, deprecationLDColumn);
|
||||
deprecationColumn.ComputeValues(deprecationLpColumn, deprecationLdColumn);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
|
||||
@ -14,7 +14,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
Nmper = 24
|
||||
};
|
||||
|
||||
var AgentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1)
|
||||
var agentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -46,7 +46,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var RatExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1)
|
||||
var ratExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -78,7 +78,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var TransExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1)
|
||||
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -110,7 +110,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var NsibExpensesColumn = new NSIBExpensesColumn(preparedValues.Nmper + 1)
|
||||
var nsibExpensesColumn = new NSIBExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -142,7 +142,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var TLMExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1)
|
||||
var tlmExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -174,7 +174,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var GPSExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1)
|
||||
var gpsExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -206,7 +206,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var RegistrExpensesColumn = new RegistrExpensesColumn(preparedValues.Nmper + 1)
|
||||
var registrExpensesColumn = new RegistrExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -238,7 +238,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var InsuranceBonusExpensesColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
var insuranceBonusExpensesColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -270,7 +270,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var ComissionBonusExpensesColumn = new ComissionBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
var comissionBonusExpensesColumn = new ComissionBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -302,7 +302,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var NPVBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
var npvBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
@ -336,9 +336,9 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
|
||||
|
||||
var expensesColumn = new ExpensesColumn(preparedValues.Nmper + 1);
|
||||
expensesColumn.ComputeValues(AgentComissionExpensesColumn, RatExpensesColumn, TransExprensesColumn,
|
||||
NsibExpensesColumn, TLMExpensesColumn, GPSExpensesColumn, RegistrExpensesColumn,
|
||||
InsuranceBonusExpensesColumn, ComissionBonusExpensesColumn, NPVBonusExpensesColumn);
|
||||
expensesColumn.ComputeValues(agentComissionExpensesColumn, ratExpensesColumn, transExprensesColumn,
|
||||
nsibExpensesColumn, tlmExpensesColumn, gpsExpensesColumn, registrExpensesColumn,
|
||||
insuranceBonusExpensesColumn, comissionBonusExpensesColumn, npvBonusExpensesColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class GPSExpensesTests
|
||||
public class GpsExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void GPSExpensesTest1()
|
||||
public void GpsExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
|
||||
@ -5,7 +5,7 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class GPS_GrTests
|
||||
public class GpsGrTests
|
||||
{
|
||||
[Fact]
|
||||
public void GPS_GrTest1()
|
||||
|
||||
205
EvoCalculator.Core.Tests/Calculation/Columns/IRRGr.cs
Normal file
205
EvoCalculator.Core.Tests/Calculation/Columns/IRRGr.cs
Normal file
@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class IrrGrTests
|
||||
{
|
||||
[Fact]
|
||||
public void IrrGrTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var dateTempColumn = new DateTempColumn(67)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowColumn = new CashflowColumn(preparedValues.Nmper + 1, dateTempColumn)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
625000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
108000m,
|
||||
50583.3333333333m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
96000m,
|
||||
96000m,
|
||||
25000m
|
||||
}
|
||||
};
|
||||
|
||||
var irrGrColumn = new IRRGrColumn(67);
|
||||
irrGrColumn.ComputeValues(dateTempColumn, cashflowColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, irrGrColumn.Values.Length);
|
||||
Assert.Equal(expected, irrGrColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -249,7 +249,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
|
||||
164
EvoCalculator.Core.Tests/Calculation/Columns/Interest.cs
Normal file
164
EvoCalculator.Core.Tests/Calculation/Columns/Interest.cs
Normal file
@ -0,0 +1,164 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class InterestTests
|
||||
{
|
||||
[Fact]
|
||||
public void InterestTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var irrGrColumn = new IRRGrColumn(67)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697
|
||||
}
|
||||
};
|
||||
|
||||
var niColumn = new NIColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
1882300m,
|
||||
1813685.30118027m,
|
||||
1744870.95739846m,
|
||||
1674114.54166988m,
|
||||
1596731.30073274m,
|
||||
1521794.10152786m,
|
||||
1443337.87682477m,
|
||||
1364071.62281796m,
|
||||
1281309.69919789m,
|
||||
1197470.70118071m,
|
||||
1111265.60683612m,
|
||||
1033602.27893863m,
|
||||
1012189.17203965m,
|
||||
931821.135837486m,
|
||||
850118.904411111m,
|
||||
766110.880283362m,
|
||||
678318.847459713m,
|
||||
589462.298261128m,
|
||||
497554.152763897m,
|
||||
403596.079330063m,
|
||||
306613.933068336m,
|
||||
207267.162688453m,
|
||||
117116.637086127m,
|
||||
24313.8286442689m,
|
||||
0.0112325733425678m
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
|
||||
interestColumn.ComputeValues(irrGrColumn, niColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
51385.3011802696m,
|
||||
51185.6562181931m,
|
||||
49243.5842714204m,
|
||||
42616.7590628555m,
|
||||
45062.8007951257m,
|
||||
41543.7752969065m,
|
||||
40733.7459931845m,
|
||||
37238.0763799393m,
|
||||
36161.0019828137m,
|
||||
33794.9056554118m,
|
||||
30336.6721025071m,
|
||||
29170.226434357m,
|
||||
27631.9637978352m,
|
||||
26297.7685736248m,
|
||||
23991.9758722514m,
|
||||
20207.9671763514m,
|
||||
19143.4508014149m,
|
||||
16091.854502769m,
|
||||
14041.9265661655m,
|
||||
11017.853738273m,
|
||||
8653.22962011698m,
|
||||
5849.47439767389m,
|
||||
3197.19155814215m,
|
||||
686.182588304444m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, interestColumn.Values.Length);
|
||||
Assert.Equal(expected, interestColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
164
EvoCalculator.Core.Tests/Calculation/Columns/NI.cs
Normal file
164
EvoCalculator.Core.Tests/Calculation/Columns/NI.cs
Normal file
@ -0,0 +1,164 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NiTests
|
||||
{
|
||||
[Fact]
|
||||
public void NiTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
NiAtInception = 1882300
|
||||
};
|
||||
|
||||
var cashflowColumn = new CashflowColumn(preparedValues.Nmper + 1, new DateTempColumn(67))
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
625000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
120000m,
|
||||
108000m,
|
||||
50583.3333333333m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
108000m,
|
||||
96000m,
|
||||
96000m,
|
||||
25000m
|
||||
}
|
||||
};
|
||||
|
||||
var irrGrColumn = new IRRGrColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0254562982413058,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0272992090422726,
|
||||
0.0282219060742697,
|
||||
0.0282219060742697,
|
||||
0.0263773400122931,
|
||||
0.0282219060742697
|
||||
}
|
||||
};
|
||||
|
||||
var targetColumn = new NIColumn(preparedValues.Nmper + 1);
|
||||
targetColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
1882300m,
|
||||
1813685.30118027m,
|
||||
1744870.95739846m,
|
||||
1674114.54166988m,
|
||||
1596731.30073274m,
|
||||
1521794.10152786m,
|
||||
1443337.87682477m,
|
||||
1364071.62281796m,
|
||||
1281309.69919789m,
|
||||
1197470.70118071m,
|
||||
1111265.60683612m,
|
||||
1033602.27893863m,
|
||||
1012189.17203965m,
|
||||
931821.135837486m,
|
||||
850118.904411111m,
|
||||
766110.880283362m,
|
||||
678318.847459713m,
|
||||
589462.298261128m,
|
||||
497554.152763897m,
|
||||
403596.079330063m,
|
||||
306613.933068336m,
|
||||
207267.162688453m,
|
||||
117116.637086127m,
|
||||
24313.8286442689m,
|
||||
0.0112325733425678m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, targetColumn.Values.Length);
|
||||
Assert.Equal(expected, targetColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
241
EvoCalculator.Core.Tests/Calculation/Columns/NPV.cs
Normal file
241
EvoCalculator.Core.Tests/Calculation/Columns/NPV.cs
Normal file
@ -0,0 +1,241 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NpvTests
|
||||
{
|
||||
[Fact]
|
||||
public void NpvTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var dateTempColumn = new DateTempColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowNpvColumn = new CashflowNPVColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
571313.823489742m,
|
||||
-259747.895766236m,
|
||||
122856.029613764m,
|
||||
127656.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
122856.029613764m,
|
||||
110604.985995822m,
|
||||
47401.8172837004m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
110059.531450367m,
|
||||
97808.4878324251m,
|
||||
97808.4878324251m,
|
||||
23404.3131074786m
|
||||
}
|
||||
};
|
||||
|
||||
var npvWeightColumn = new NPVWeightColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
1,
|
||||
1,
|
||||
0.994263643057415,
|
||||
0.98837064137184,
|
||||
0.982512567513616,
|
||||
0.977251253020835,
|
||||
0.97145908378937,
|
||||
0.965886447729637,
|
||||
0.960161637711399,
|
||||
0.954653807834909,
|
||||
0.948995573685451,
|
||||
0.943370875895905,
|
||||
0.937959363822527,
|
||||
0.93240007766075,
|
||||
0.927051498001993,
|
||||
0.921556862772709,
|
||||
0.916094794252359,
|
||||
0.911014429114697,
|
||||
0.905614845610017,
|
||||
0.900419915603094,
|
||||
0.895083125791432,
|
||||
0.889948609488607,
|
||||
0.884673883119589,
|
||||
0.879430420059453,
|
||||
0.874385693263824,
|
||||
0.869203208316068,
|
||||
0.864217148457527,
|
||||
0.859094932485813,
|
||||
0.854003075893692,
|
||||
0.849429924456607,
|
||||
0.844395352377508,
|
||||
0.83955159923561,
|
||||
0.834575576000758,
|
||||
0.829788152601254,
|
||||
0.824869997325142,
|
||||
0.81998099196066,
|
||||
0.815277288304638,
|
||||
0.810445138936875,
|
||||
0.80579613633755,
|
||||
0.801020181767729,
|
||||
0.796272534285798,
|
||||
0.792008527530705,
|
||||
0.787314292133165,
|
||||
0.78279797632749,
|
||||
0.778158331876872,
|
||||
0.773694537927379,
|
||||
0.769108849565985,
|
||||
0.764550340584458,
|
||||
0.76016460693029,
|
||||
0.755659110484519,
|
||||
0.751324380099863,
|
||||
0.746871279688058,
|
||||
0.7424445728072,
|
||||
0.738468812577606,
|
||||
0.734091907128381,
|
||||
0.729880893920429,
|
||||
0.725554889074355,
|
||||
0.721392847249186,
|
||||
0.717117151064894,
|
||||
0.712866796936501,
|
||||
0.708777538536756,
|
||||
0.704576613300819,
|
||||
0.700534910353527,
|
||||
0.696382839183729,
|
||||
0.692255377344236,
|
||||
0.688416353143374,
|
||||
0.684336108675241
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var npvColumn = new NPVColumn(preparedValues.Nmper + 1, dateTempColumn);
|
||||
npvColumn.ComputeValues(cashflowNpvColumn, npvWeightColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
571313.823489742m,
|
||||
-258257.889121036m,
|
||||
121427.292785753m,
|
||||
125423.653414413m,
|
||||
120061.208881215m,
|
||||
119349.605966586m,
|
||||
118664.974025805m,
|
||||
117961.646596671m,
|
||||
117284.976486258m,
|
||||
116589.82830403m,
|
||||
115898.800265829m,
|
||||
103742.98230024m,
|
||||
44197.4581165829m,
|
||||
102030.85350046m,
|
||||
101426.116521635m,
|
||||
100824.963819535m,
|
||||
100265.821212887m,
|
||||
99671.545582335m,
|
||||
99099.7940198555m,
|
||||
98512.429433735m,
|
||||
97947.3269752218m,
|
||||
97366.7930625188m,
|
||||
86015.7595398495m,
|
||||
85522.3424404413m,
|
||||
20343.1040414542m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, npvColumn.Values.Length);
|
||||
Assert.Equal(0.053786775, npvColumn.IRR, new DoubleArrayComparer());
|
||||
Assert.Equal(0.0525046595222296, npvColumn.Nominal, new DoubleArrayComparer());
|
||||
Assert.Equal(expected, npvColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NPVBonusExpensesTests
|
||||
public class NpvBonusExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void NPVBonusExpensesTest1()
|
||||
public void NpvBonusExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -68,7 +68,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
|
||||
|
||||
[Fact]
|
||||
public void NPVBonusExpensesTest2()
|
||||
public void NpvBonusExpensesTest2()
|
||||
{
|
||||
var preparedValue = new PreparedValues
|
||||
{
|
||||
|
||||
172
EvoCalculator.Core.Tests/Calculation/Columns/NPVWeight.cs
Normal file
172
EvoCalculator.Core.Tests/Calculation/Columns/NPVWeight.cs
Normal file
@ -0,0 +1,172 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NpvWeightTests
|
||||
{
|
||||
[Fact]
|
||||
public void NpvWeightTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
LoanRate = 0.07
|
||||
};
|
||||
|
||||
var dateTempColumn = new DateTempColumn(67)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31)
|
||||
}
|
||||
};
|
||||
|
||||
var npvWeightColumn = new NPVWeightColumn(67);
|
||||
npvWeightColumn.ComputeValues(preparedValues, dateTempColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
1,
|
||||
1,
|
||||
0.994263643057415,
|
||||
0.98837064137184,
|
||||
0.982512567513616,
|
||||
0.977251253020835,
|
||||
0.97145908378937,
|
||||
0.965886447729637,
|
||||
0.960161637711399,
|
||||
0.954653807834909,
|
||||
0.948995573685451,
|
||||
0.943370875895905,
|
||||
0.937959363822527,
|
||||
0.93240007766075,
|
||||
0.927051498001993,
|
||||
0.921556862772709,
|
||||
0.916094794252359,
|
||||
0.911014429114697,
|
||||
0.905614845610017,
|
||||
0.900419915603094,
|
||||
0.895083125791432,
|
||||
0.889948609488607,
|
||||
0.884673883119589,
|
||||
0.879430420059453,
|
||||
0.874385693263824,
|
||||
0.869203208316068,
|
||||
0.864217148457527,
|
||||
0.859094932485813,
|
||||
0.854003075893692,
|
||||
0.849429924456607,
|
||||
0.844395352377508,
|
||||
0.83955159923561,
|
||||
0.834575576000758,
|
||||
0.829788152601254,
|
||||
0.824869997325142,
|
||||
0.81998099196066,
|
||||
0.815277288304638,
|
||||
0.810445138936875,
|
||||
0.80579613633755,
|
||||
0.801020181767729,
|
||||
0.796272534285798,
|
||||
0.792008527530705,
|
||||
0.787314292133165,
|
||||
0.78279797632749,
|
||||
0.778158331876872,
|
||||
0.773694537927379,
|
||||
0.769108849565985,
|
||||
0.764550340584458,
|
||||
0.76016460693029,
|
||||
0.755659110484519,
|
||||
0.751324380099863,
|
||||
0.746871279688058,
|
||||
0.7424445728072,
|
||||
0.738468812577606,
|
||||
0.734091907128381,
|
||||
0.729880893920429,
|
||||
0.725554889074355,
|
||||
0.721392847249186,
|
||||
0.717117151064894,
|
||||
0.712866796936501,
|
||||
0.708777538536756,
|
||||
0.704576613300819,
|
||||
0.700534910353527,
|
||||
0.696382839183729,
|
||||
0.692255377344236,
|
||||
0.688416353143374,
|
||||
0.684336108675241
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, npvWeightColumn.Values.Length);
|
||||
Assert.Equal(expected, npvWeightColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NSIBBruttoGrTests
|
||||
public class NsibBruttoGrTests
|
||||
{
|
||||
[Fact]
|
||||
public void NSIBBruttoGrTest1()
|
||||
public void NsibBruttoGrTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NSIBExpensesTests
|
||||
public class NsibExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void NSIBExpensesTest1()
|
||||
public void NsibExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -58,7 +58,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NSIBExpensesTest2()
|
||||
public void NsibExpensesTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
@ -94,7 +94,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NSIBExpensesTest3()
|
||||
public void NsibExpensesTest3()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
|
||||
89
EvoCalculator.Core.Tests/Calculation/Columns/SumCurrent.cs
Normal file
89
EvoCalculator.Core.Tests/Calculation/Columns/SumCurrent.cs
Normal file
@ -0,0 +1,89 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentTests
|
||||
{
|
||||
[Fact]
|
||||
public void SumCurrentTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var sumWithVatColumn = new SumWithVATColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
4626000m,
|
||||
1500000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
144000m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
129600m,
|
||||
115200m,
|
||||
115200m,
|
||||
30000m
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentColumn = new SumCurrentColumn(preparedValues.Nmper + 1);
|
||||
sumCurrentColumn.ComputeValues(sumWithVatColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
4626000m,
|
||||
3126000m,
|
||||
2982000m,
|
||||
2838000m,
|
||||
2694000m,
|
||||
2550000m,
|
||||
2406000m,
|
||||
2262000m,
|
||||
2118000m,
|
||||
1974000m,
|
||||
1830000m,
|
||||
1686000m,
|
||||
1556400m,
|
||||
1426800m,
|
||||
1297200m,
|
||||
1167600m,
|
||||
1038000m,
|
||||
908400m,
|
||||
778800m,
|
||||
649200m,
|
||||
519600m,
|
||||
390000m,
|
||||
260400m,
|
||||
145200m,
|
||||
30000m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, sumCurrentColumn.Values.Length);
|
||||
Assert.Equal(expected, sumCurrentColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,88 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentInterestTests
|
||||
{
|
||||
[Fact]
|
||||
public void SumCurrentInterestTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
51385.3011802696m,
|
||||
51185.6562181931m,
|
||||
49243.5842714204m,
|
||||
42616.7590628555m,
|
||||
45062.8007951257m,
|
||||
41543.7752969065m,
|
||||
40733.7459931845m,
|
||||
37238.0763799393m,
|
||||
36161.0019828137m,
|
||||
33794.9056554118m,
|
||||
30336.6721025071m,
|
||||
29170.226434357m,
|
||||
27631.9637978352m,
|
||||
26297.7685736248m,
|
||||
23991.9758722514m,
|
||||
20207.9671763514m,
|
||||
19143.4508014149m,
|
||||
16091.854502769m,
|
||||
14041.9265661655m,
|
||||
11017.853738273m,
|
||||
8653.22962011698m,
|
||||
5849.47439767389m,
|
||||
3197.19155814215m,
|
||||
686.182588304444m
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentInterestColumn = new SumCurrentInterestColumn(preparedValues.Nmper + 1);
|
||||
sumCurrentInterestColumn.ComputeValues(interestColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
665283.367743173m,
|
||||
613898.066562903m,
|
||||
562712.41034471m,
|
||||
513468.826073289m,
|
||||
470852.067010434m,
|
||||
425789.266215308m,
|
||||
384245.490918402m,
|
||||
343511.744925217m,
|
||||
306273.668545278m,
|
||||
270112.666562464m,
|
||||
236317.760907052m,
|
||||
205981.088804545m,
|
||||
176810.862370188m,
|
||||
149178.898572353m,
|
||||
122881.129998728m,
|
||||
98889.1541264768m,
|
||||
78681.1869501255m,
|
||||
59537.7361487106m,
|
||||
43445.8816459416m,
|
||||
29403.9550797761m,
|
||||
18386.1013415031m,
|
||||
9732.87172138608m,
|
||||
3883.39732371219m,
|
||||
686.205765570042m,
|
||||
0.0231772655979618m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, sumCurrentInterestColumn.Values.Length);
|
||||
Assert.Equal(expected, sumCurrentInterestColumn.Values, new DecimalArrayComparer(0.1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentNegativeTests
|
||||
{
|
||||
[Fact]
|
||||
public void SumCurrentNegativeTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var negativeCashflowColumn = new NegativeCashflowColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-110416.666666667m,
|
||||
-53000m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
-57416.6666666667m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentNegativeColumn = new SumCurrentNegativeColumn(preparedValues.Nmper + 1);
|
||||
sumCurrentNegativeColumn.ComputeValues(negativeCashflowColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
-110416.666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, sumCurrentNegativeColumn.Values.Length);
|
||||
Assert.Equal(expected, sumCurrentNegativeColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class SumCurrentTlmTests
|
||||
{
|
||||
[Fact]
|
||||
public void SumCurrentTlmTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25
|
||||
};
|
||||
|
||||
var tlmGrColumn = new TLM_GrColumn(preparedValues.Nmper + 1, new DateTempColumn(67), 0)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-17757.5461595619m,
|
||||
0,
|
||||
1800m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m,
|
||||
900m
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentTlmColumn = new SumCurrentTLMColumn(preparedValues.Nmper + 1);
|
||||
sumCurrentTlmColumn.ComputeValues(tlmGrColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
10800m,
|
||||
9900m,
|
||||
9000m,
|
||||
8100m,
|
||||
7200m,
|
||||
6300m,
|
||||
5400m,
|
||||
4500m,
|
||||
3600m,
|
||||
2700m,
|
||||
1800m,
|
||||
900m,
|
||||
0m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, sumCurrentTlmColumn.Values.Length);
|
||||
Assert.Equal(expected, sumCurrentTlmColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,192 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class SumRepaymentTests
|
||||
{
|
||||
[Fact]
|
||||
public void SumRepaymentTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
Repayment = 0.25
|
||||
};
|
||||
|
||||
var sumCurrentColumn = new SumCurrentColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
3876000m,
|
||||
3126000m,
|
||||
2982000m,
|
||||
2838000m,
|
||||
2694000m,
|
||||
2550000m,
|
||||
2406000m,
|
||||
2262000m,
|
||||
2118000m,
|
||||
1974000m,
|
||||
1830000m,
|
||||
1686000m,
|
||||
1556400m,
|
||||
1426800m,
|
||||
1297200m,
|
||||
1167600m,
|
||||
1038000m,
|
||||
908400m,
|
||||
778800m,
|
||||
649200m,
|
||||
519600m,
|
||||
390000m,
|
||||
260400m,
|
||||
145200m,
|
||||
30000m
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentNegativeColumn = new SumCurrentNegativeColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
-110416.666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
-57416.6666666667m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentInterestColumn = new SumCurrentInterestColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
665283.367743173m,
|
||||
613898.066562903m,
|
||||
562712.41034471m,
|
||||
513468.826073289m,
|
||||
470852.067010434m,
|
||||
425789.266215308m,
|
||||
384245.490918402m,
|
||||
343511.744925217m,
|
||||
306273.668545278m,
|
||||
270112.666562464m,
|
||||
236317.760907052m,
|
||||
205981.088804545m,
|
||||
176810.862370188m,
|
||||
149178.898572353m,
|
||||
122881.129998728m,
|
||||
98889.1541264768m,
|
||||
78681.1869501255m,
|
||||
59537.7361487106m,
|
||||
43445.8816459416m,
|
||||
29403.9550797761m,
|
||||
18386.1013415031m,
|
||||
9732.87172138608m,
|
||||
3883.39732371219m,
|
||||
686.205765570042m,
|
||||
0.0231772655979618m
|
||||
}
|
||||
};
|
||||
|
||||
var sumCurrentTlmColumn = new SumCurrentTLMColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
11700m,
|
||||
10800m,
|
||||
9900m,
|
||||
9000m,
|
||||
8100m,
|
||||
7200m,
|
||||
6300m,
|
||||
5400m,
|
||||
4500m,
|
||||
3600m,
|
||||
2700m,
|
||||
1800m,
|
||||
900m,
|
||||
0m
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var sumRepaymentColumnColumn = new SumRepaymentColumn(preparedValues.Nmper + 1);
|
||||
sumRepaymentColumnColumn.ComputeValues(new Constants.Calculation(), preparedValues, sumCurrentColumn,
|
||||
sumCurrentNegativeColumn,
|
||||
sumCurrentInterestColumn, sumCurrentTlmColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
0,
|
||||
2870373.91336446m,
|
||||
2741729.61022992m,
|
||||
2612502.68551135m,
|
||||
2481287.7132302m,
|
||||
2350806.55346874m,
|
||||
2219269.68605781m,
|
||||
2087489.80985577m,
|
||||
1954661.23276975m,
|
||||
1821509.53336459m,
|
||||
1687648.00506122m,
|
||||
1552749.00669197m,
|
||||
1432980.07462228m,
|
||||
1370166.33042829m,
|
||||
1249535.66100038m,
|
||||
1128213.25376206m,
|
||||
1005755.64391496m,
|
||||
882978.679155387m,
|
||||
759286.235506218m,
|
||||
634978.813476067m,
|
||||
509764.169597549m,
|
||||
383840.138483584m,
|
||||
257074.980802886m,
|
||||
143914.138270329m,
|
||||
29999.9930468203m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, sumRepaymentColumnColumn.Values.Length);
|
||||
Assert.Equal(expected, sumRepaymentColumnColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class TLMExpensesTests
|
||||
public class TlmExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void TLMExpensesTest1()
|
||||
public void TlmExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
|
||||
@ -5,7 +5,7 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class TLM_GrTests
|
||||
public class TlmGrTests
|
||||
{
|
||||
[Fact]
|
||||
public void TLM_GrTest1()
|
||||
|
||||
@ -213,7 +213,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
}
|
||||
};
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1)
|
||||
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
|
||||
@ -16,7 +16,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
TransportTaxGr = 30000
|
||||
};
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1);
|
||||
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1);
|
||||
transExprensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
TransportTaxGr = 24000
|
||||
};
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1);
|
||||
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1);
|
||||
transExprensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
|
||||
@ -4,10 +4,10 @@ using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class VATColumnTests
|
||||
public class VatColumnTests
|
||||
{
|
||||
[Fact]
|
||||
public void VATColumnTest1()
|
||||
public void VatColumnTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
|
||||
@ -101,7 +101,7 @@ namespace EvoCalculator.Core.Controllers.V1
|
||||
ratExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1);
|
||||
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1);
|
||||
transExprensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user