last columns(!!!)
This commit is contained in:
parent
14f99e0f72
commit
afd0ca1d13
@ -45,6 +45,7 @@
|
||||
<e p="AcceptSumColumn.cs" t="Include" />
|
||||
<e p="AgentComissionExpensesColumn.cs" t="Include" />
|
||||
<e p="BaseColumn.cs" t="Include" />
|
||||
<e p="BaseColumnWithGoalSeek.cs" t="Include" />
|
||||
<e p="BaseColumnWithNominal.cs" t="Include" />
|
||||
<e p="BaseColumnWithSum.cs" t="Include" />
|
||||
<e p="BaseColumnWithXIRR.cs" t="Include" />
|
||||
@ -52,14 +53,21 @@
|
||||
<e p="CashflowColumn.cs" t="Include" />
|
||||
<e p="CashflowLeasingColumn.cs" t="Include" />
|
||||
<e p="CashflowMSFOColumn.cs" t="Include" />
|
||||
<e p="CashflowMSFOFinal2Column.cs" t="Include" />
|
||||
<e p="CashflowMSFOFinalColumn.cs" t="Include" />
|
||||
<e p="CashflowNPVColumn.cs" t="Include" />
|
||||
<e p="CashflowNPVFinal2Column.cs" t="Include" />
|
||||
<e p="CashflowNPVFinalColumn.cs" t="Include" />
|
||||
<e p="CashflowNSIBColumn.cs" t="Include" />
|
||||
<e p="ComissionBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="DateColumn.cs" t="Include" />
|
||||
<e p="DateTempColumn.cs" t="Include" />
|
||||
<e p="DeprecationColumn.cs" t="Include" />
|
||||
<e p="DeprecationLDColumn.cs" t="Include" />
|
||||
<e p="DeprecationLPColumn.cs" t="Include" />
|
||||
<e p="DirectorBonusSumColumn.cs" t="Include" />
|
||||
<e p="ExpensesColumn.cs" t="Include" />
|
||||
<e p="ExtraBonusSumColumn.cs" t="Include" />
|
||||
<e p="GPS_GrColumn.cs" t="Include" />
|
||||
<e p="GPSExpensesColumn.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesColumn.cs" t="Include" />
|
||||
@ -71,17 +79,21 @@
|
||||
<e p="NIColumn.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="NPVColumn.cs" t="Include" />
|
||||
<e p="NPVFinal2Column.cs" t="Include" />
|
||||
<e p="NPVFinalColumn.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="RevenueColumn.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="SumRepaymentColumn.cs" t="Include" />
|
||||
<e p="SumWithVATColumn.cs" t="Include" />
|
||||
<e p="TaxColumn.cs" t="Include" />
|
||||
<e p="TLM_GRColumn.cs" t="Include" />
|
||||
@ -162,8 +174,13 @@
|
||||
<e p="AcceptSumTests.cs" t="Include" />
|
||||
<e p="AgentComissionExpensesTests.cs" t="Include" />
|
||||
<e p="CashflowLeasingTests.cs" t="Include" />
|
||||
<e p="CashflowMSFOFinal.cs" t="Include" />
|
||||
<e p="CashflowMSFOFinal2.cs" t="Include" />
|
||||
<e p="CashflowMSFOTests.cs" t="Include" />
|
||||
<e p="CashflowNPV.cs" t="Include" />
|
||||
<e p="CashflowNPVFinal.cs" t="Include" />
|
||||
<e p="CashflowNPVFinal2.cs" t="Include" />
|
||||
<e p="CashflowNSIB.cs" t="Include" />
|
||||
<e p="CashflowTests.cs" t="Include" />
|
||||
<e p="ComissionBonusExpensesTests.cs" t="Include" />
|
||||
<e p="DateColumnTests.cs" t="Include" />
|
||||
@ -171,7 +188,9 @@
|
||||
<e p="DeprecationLDTests.cs" t="Include" />
|
||||
<e p="DeprecationLPTests.cs" t="Include" />
|
||||
<e p="DeprecationTests.cs" t="Include" />
|
||||
<e p="DirectorBonusSum.cs" t="Include" />
|
||||
<e p="ExpensesTests.cs" t="Include" />
|
||||
<e p="ExtraBonusSum.cs" t="Include" />
|
||||
<e p="GPS_GrTests.cs" t="Include" />
|
||||
<e p="GPSExpensesTests.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesTests.cs" t="Include" />
|
||||
@ -183,16 +202,20 @@
|
||||
<e p="NI.cs" t="Include" />
|
||||
<e p="NPV.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesTests.cs" t="Include" />
|
||||
<e p="NPVFinal.cs" t="Include" />
|
||||
<e p="NPVFinal2.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="Revenue.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="SumRepaymentColumn.cs" t="Include" />
|
||||
<e p="SumTest.cs" t="Include" />
|
||||
<e p="SumWithVatTests.cs" t="Include" />
|
||||
<e p="TaxColumnTests.cs" t="Include" />
|
||||
|
||||
275
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
275
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
@ -14,51 +14,29 @@
|
||||
</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/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 afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithGoalSeek.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinal2Column.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinalColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinal2Column.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinalColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal2.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal2.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Revenue.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.Calculation/Columns/SumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.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" />
|
||||
@ -83,11 +61,9 @@
|
||||
<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/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" />
|
||||
@ -96,36 +72,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<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.Constants/Calculation.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InsuranceBonusExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoNmperGrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AgentComissionExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ComissionBonusExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NSIBExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RegistrExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLM_GrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExprensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowLeasingColumn.cs" />
|
||||
<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" />
|
||||
@ -147,6 +93,36 @@
|
||||
<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" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumRepaymentColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumRepaymentColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/ArrayComparer.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinalColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/CashflowNPVFinal.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinalColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal2.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinal2Column.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal2.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinal2Column.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/BaseColumnWithGoalSeek.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithGoalSeek.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNSIBColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Revenue.cs" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -223,7 +199,8 @@
|
||||
<workItem from="1603447491537" duration="4025000" />
|
||||
<workItem from="1603451569606" duration="6133000" />
|
||||
<workItem from="1603639854245" duration="10211000" />
|
||||
<workItem from="1603704776782" duration="10254000" />
|
||||
<workItem from="1603704776782" duration="11419000" />
|
||||
<workItem from="1603792346415" duration="6565000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="rename: flow">
|
||||
<created>1602593830686</created>
|
||||
@ -260,7 +237,14 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603646824466</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="6" />
|
||||
<task id="LOCAL-00006" summary="new column type | new columns">
|
||||
<created>1603717567220</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1603717567220</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="7" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
@ -288,7 +272,8 @@
|
||||
<MESSAGE value="refactor columns" />
|
||||
<MESSAGE value="refactor types: double to decimal" />
|
||||
<MESSAGE value="fix InsuranceBonusExpensesColumn" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="fix InsuranceBonusExpensesColumn" />
|
||||
<MESSAGE value="new column type | new columns" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="new column type | new columns" />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="1077" y="489" key="#Web_Browsers" timestamp="1602508282238">
|
||||
@ -303,110 +288,110 @@
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="1108" y="416" key="#com.intellij.ide.ui.customization.CustomizableActionsPanel.FindAvailableActionsDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603119675236" />
|
||||
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1" timestamp="1603456160137">
|
||||
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1" timestamp="1603798873159">
|
||||
<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="535" height="702" key="DebuggerActiveHint" timestamp="1603716439590">
|
||||
<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="1603798873159" />
|
||||
<state width="535" height="702" key="DebuggerActiveHint" timestamp="1603716624018">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="535" height="702" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716624018" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.bottom" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.center" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.left" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.right" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.bottom" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.center" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.left" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.right" timestamp="1603798181712">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.bottom" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.center" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.left" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.right" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.bottom" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.center" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.left" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.right" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.bottom" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.center" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.left" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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">
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state width="2517" height="481" key="GridCell.Tab.4.right" timestamp="1603798181713">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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 width="2517" height="481" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
|
||||
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1602854431119" />
|
||||
<state x="1108" y="385" key="RiderGenerateDialog" timestamp="1603452136077">
|
||||
<state x="1108" y="385" key="RiderGenerateDialog" timestamp="1603797366348">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="1108" y="385" key="RiderGenerateDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603452136077" />
|
||||
<state x="1108" y="385" key="RiderGenerateDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603797366348" />
|
||||
<state x="1078" y="410" key="RollbackChangesDialog" timestamp="1603457630228">
|
||||
<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="302" y="107" width="1537" height="899" key="SettingsEditor" timestamp="1603711979982">
|
||||
<state x="302" y="107" width="1537" height="899" key="SettingsEditor" timestamp="1603793626448">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<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 x="302" y="107" width="1537" height="899" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603793626448" />
|
||||
<state width="498" height="446" key="SwitcherDM" timestamp="1603454051875">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -415,26 +400,26 @@
|
||||
<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="1603709850962" />
|
||||
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603456466180">
|
||||
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603717569743">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="872" y="433" key="Vcs.Push.Dialog.v2/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603456466180" />
|
||||
<state x="872" y="433" key="Vcs.Push.Dialog.v2/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603717569743" />
|
||||
<state x="92" y="92" width="2376" height="1216" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog" timestamp="1603456576335">
|
||||
<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">
|
||||
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1603793502729">
|
||||
<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="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603793502729" />
|
||||
<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="1603714824423">
|
||||
<state x="759" y="244" width="1137" height="959" key="find.popup" timestamp="1603797436819">
|
||||
<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="1603714824423" />
|
||||
<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="1603797436819" />
|
||||
<state x="936" y="330" key="run.anything.popup" timestamp="1603290743275">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -465,40 +450,27 @@
|
||||
<line>256</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\InsuranceBonusExpensesTests.cs" initialLine="256">
|
||||
<startOffsets>
|
||||
<option value="6716" />
|
||||
<option value="6715" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="6788" />
|
||||
<option value="6787" />
|
||||
</endOffsets>
|
||||
</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>
|
||||
<line>85</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\SumCurrentTLM.cs" initialLine="86">
|
||||
<startOffsets>
|
||||
<option value="2193" />
|
||||
<option value="2186" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="2272" />
|
||||
<option value="2265" />
|
||||
</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>
|
||||
@ -511,6 +483,9 @@
|
||||
<watches-manager>
|
||||
<configuration name="RiderUnitTests">
|
||||
<watch expression="Convert.ToDecimal( (this._preparedValues.BaseCost - this._preparedValues.FirstPaymentSum) / this._preparedValues.Nmper)" />
|
||||
<watch expression="tlmGrColumn.Values.Skip(i).Sum(x => x)" />
|
||||
<watch expression="Values" />
|
||||
<watch expression="Math.Abs(x - y)" />
|
||||
</configuration>
|
||||
</watches-manager>
|
||||
</component>
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
using TridentGoalSeek;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public abstract class BaseColumnWithGoalSeek : BaseColumnWithXIRR, IGoalSeekAlgorithm
|
||||
{
|
||||
public BaseColumnWithGoalSeek(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public abstract decimal Calculate(decimal inputVariable);
|
||||
protected abstract void FillValues(decimal x);
|
||||
public abstract void ComputeValues(decimal requiredValue);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowMSFOFinal2Column : BaseColumnWithNominal
|
||||
{
|
||||
public CashflowMSFOFinal2Column(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, DirectorBonusSumColumn directorBonusSumColumn,
|
||||
CashflowMSFOFinalColumn cashflowMsfoFinalColumn)
|
||||
{
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = cashflowMsfoFinalColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = cashflowMsfoFinalColumn.Values[i] + directorBonusSumColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowMSFOFinalColumn : BaseColumnWithNominal
|
||||
{
|
||||
public CashflowMSFOFinalColumn(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, CashflowMSFOColumn cashflowMsfoColumn,
|
||||
ExtraBonusSumColumn extraBonusSumColumn)
|
||||
{
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = cashflowMsfoColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = cashflowMsfoColumn.Values[i] + extraBonusSumColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowNPVFinal2Column : BaseColumn<decimal>
|
||||
{
|
||||
public CashflowNPVFinal2Column(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, CashflowNPVFinalColumn cashflowNpvFinalColumn,
|
||||
DirectorBonusSumColumn directorBonusSumColumn)
|
||||
{
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = cashflowNpvFinalColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = cashflowNpvFinalColumn.Values[i] + directorBonusSumColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class CashflowNPVFinalColumn : BaseColumn<decimal>
|
||||
{
|
||||
public CashflowNPVFinalColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, ExtraBonusSumColumn extraBonusSumColumn,
|
||||
CashflowNPVColumn cashflowNpvColumn)
|
||||
{
|
||||
Values[0] = -preparedValues.AcquisitionExpenses;
|
||||
Values[1] = cashflowNpvColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = extraBonusSumColumn.Values[i] + cashflowNpvColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class DirectorBonusSumColumn : BaseColumnWithSum
|
||||
{
|
||||
public DirectorBonusSumColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
Values[2] = -preparedValues.BonusBase * (decimal) preparedValues.DirectorBonus *
|
||||
(decimal) (1 + preparedValues.SalaryRate) *
|
||||
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate);
|
||||
Values[0] = Sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class ExtraBonusSumColumn : BaseColumnWithSum
|
||||
{
|
||||
public ExtraBonusSumColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, CashflowMSFOColumn cashflowMsfoColumn)
|
||||
{
|
||||
Values[2] = cashflowMsfoColumn.Nominal >= preparedValues.IRR_MSFO_Plan
|
||||
? -1 * preparedValues.BonusBase *
|
||||
(decimal) (cashflowMsfoColumn.Nominal / preparedValues.IRR_MSFO_Plan - 1) *
|
||||
(decimal) preparedValues.ExtraBonus * (decimal) (1 + preparedValues.SalaryRate) *
|
||||
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate)
|
||||
: 0;
|
||||
Values[0] = Sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,9 +9,7 @@
|
||||
public void ComputeValues(CashflowNPVColumn cashflowNpvColumn, NPVWeightColumn npvWeightColumn)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = cashflowNpvColumn.Values[i] * (decimal) npvWeightColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs
Normal file
17
EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NPVFinal2Column : BaseColumnWithNominal
|
||||
{
|
||||
public NPVFinal2Column(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(CashflowNPVFinal2Column cashflowNpvFinal2Column, NPVWeightColumn npvWeightColumn)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = cashflowNpvFinal2Column.Values[i] * (decimal) npvWeightColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs
Normal file
15
EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs
Normal file
@ -0,0 +1,15 @@
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NPVFinalColumn : BaseColumnWithNominal
|
||||
{
|
||||
public NPVFinalColumn(int count, DateTempColumn dateTempColumn) : base(count, dateTempColumn)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(CashflowNPVFinalColumn cashflowNpvFinalColumn, NPVWeightColumn npvWeightColumn)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
Values[i] = cashflowNpvFinalColumn.Values[i] * (decimal) npvWeightColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -13,11 +13,9 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs
Normal file
17
EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class RevenueColumn : BaseColumn<decimal>
|
||||
{
|
||||
public RevenueColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(NSIBBruttoGrColumn nsibBruttoGrColumn, NSIBExpensesColumn nsibExpensesColumn,
|
||||
CashflowNSIBColumn cashflowNsibColumn)
|
||||
{
|
||||
Values[1] = nsibBruttoGrColumn.Values[1] - cashflowNsibColumn.Values[1];
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = Values[1] * nsibExpensesColumn.Values[i] / nsibExpensesColumn.Values[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,7 @@ using TridentGoalSeek;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class SumColumn : BaseColumnWithXIRR, IGoalSeekAlgorithm
|
||||
public class SumColumn : BaseColumnWithGoalSeek
|
||||
{
|
||||
private readonly PercentPaymentColumn _percentPaymentColumn;
|
||||
private readonly PreparedValues _preparedValues;
|
||||
@ -17,13 +17,13 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
_percentPaymentColumn = percentPaymentColumn;
|
||||
}
|
||||
|
||||
public decimal Calculate(decimal inputVariable)
|
||||
public override decimal Calculate(decimal inputVariable)
|
||||
{
|
||||
FillValues(inputVariable);
|
||||
return Convert.ToDecimal(IRR);
|
||||
}
|
||||
|
||||
private void FillValues(decimal x)
|
||||
protected override void FillValues(decimal x)
|
||||
{
|
||||
Values[0] = -_preparedValues.BaseCost;
|
||||
Values[1] = _preparedValues.FirstPaymentSum;
|
||||
@ -33,10 +33,10 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
Values[^1] = _preparedValues.LastPaymentSum;
|
||||
}
|
||||
|
||||
public void ComputeValues(decimal requiredIRR)
|
||||
public override void ComputeValues(decimal requiredValue)
|
||||
{
|
||||
var goalSeek = new GoalSeek(this);
|
||||
goalSeek.SeekResult(requiredIRR,
|
||||
goalSeek.SeekResult(requiredValue,
|
||||
new GoalSeekOptions(
|
||||
startingStabPoint: Convert.ToDecimal(
|
||||
(_preparedValues.BaseCost - _preparedValues.FirstPaymentSum) /
|
||||
|
||||
@ -10,10 +10,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
|
||||
public void ComputeValues(SumWithVATColumn sumWithVatColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = sumWithVatColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
for (var i = 1; i < Values.Length; i++) Values[i] = sumWithVatColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -10,10 +10,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
|
||||
public void ComputeValues(NegativeCashflowColumn negativeCashflowColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = negativeCashflowColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
for (var i = 1; i < Values.Length; i++) Values[i] = negativeCashflowColumn.Values.Skip(i).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,5 +90,8 @@ namespace EvoCalculator.Core.Models.Calculation.Models.Prepared
|
||||
public decimal BonusBase { get; set; }
|
||||
public decimal NpvBase { get; set; }
|
||||
public decimal TLMCost { get; set; }
|
||||
public double IRR_MSFO_Plan { get; set; }
|
||||
public double ExtraBonus { get; set; }
|
||||
public double DirectorBonus { get; set; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,199 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowMsfoFinal2Tests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowMsfoFinal2Test1()
|
||||
{
|
||||
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 directorBonusSumColumn = new DirectorBonusSumColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-7524.610925m,
|
||||
0,
|
||||
-7524.610925m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowMsfoFinalColumn = new CashflowMSFOFinalColumn(preparedValues.Nmper + 1, dateTempColumn)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
623323.69753125m,
|
||||
-396728.986329981m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
127486.241319444m,
|
||||
70069.5746527778m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
112986.241319444m,
|
||||
112986.241319444m,
|
||||
21986.2413194444m
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowMsfoFinal2Column = new CashflowMSFOFinal2Column(preparedValues.Nmper + 1, dateTempColumn);
|
||||
cashflowMsfoFinal2Column.ComputeValues(preparedValues, directorBonusSumColumn, cashflowMsfoFinalColumn);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
623323.69753125m,
|
||||
-404253.597254981m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
141986.241319444m,
|
||||
127486.241319444m,
|
||||
70069.5746527778m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
127486.241319444m,
|
||||
112986.241319444m,
|
||||
112986.241319444m,
|
||||
21986.2413194444m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowMsfoFinal2Column.Values.Length);
|
||||
Assert.Equal(0.264075595140457, cashflowMsfoFinal2Column.IRR, new DoubleArrayComparer(0.01));
|
||||
Assert.Equal(0.236644224219182, cashflowMsfoFinal2Column.Nominal, new DoubleArrayComparer(0.01));
|
||||
Assert.Equal(expected, cashflowMsfoFinal2Column.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
123
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs
Normal file
123
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs
Normal file
@ -0,0 +1,123 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowNpvFinalTests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowNpvFinalTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
AcquisitionExpenses = 2507300
|
||||
};
|
||||
|
||||
var extraBonusSumColumn = new ExtraBonusSumColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-7487.31397588584m,
|
||||
0,
|
||||
-7487.31397588584m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowNpvColumn = new CashflowNPVColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
576206.70740985m,
|
||||
-265374.923416037m,
|
||||
117229.001963963m,
|
||||
122029.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
105540.661111001m,
|
||||
42337.4923988798m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
93306.8657125845m,
|
||||
93306.8657125845m,
|
||||
23600.0284642829m
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowNpvFinalColumn = new CashflowNPVFinalColumn(preparedValues.Nmper + 1);
|
||||
cashflowNpvFinalColumn.ComputeValues(preparedValues, extraBonusSumColumn, cashflowNpvColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
576206.70740985m,
|
||||
-272862.237391923m,
|
||||
117229.001963963m,
|
||||
122029.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
117229.001963963m,
|
||||
105540.661111001m,
|
||||
42337.4923988798m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
104995.206565546m,
|
||||
93306.8657125845m,
|
||||
93306.8657125845m,
|
||||
23600.0284642829m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowNpvFinalColumn.Values.Length);
|
||||
Assert.Equal(expected, cashflowNpvFinalColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,123 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowNpvFinal2Tests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowNpvFinal2Test1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
AcquisitionExpenses = 2507300
|
||||
};
|
||||
|
||||
var cashflowNpvFinalColumn = new CashflowNPVFinalColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-310589.328673099m,
|
||||
135135.417631327m,
|
||||
139935.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
121656.435211628m,
|
||||
58453.266499507m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
107631.998246475m,
|
||||
107631.998246475m,
|
||||
23039.7637504377m
|
||||
}
|
||||
};
|
||||
|
||||
var directorBonusSumColumn = new DirectorBonusSumColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-7524.610925m,
|
||||
0,
|
||||
-7524.610925m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowNpvFinal2Column = new CashflowNPVFinal2Column(preparedValues.Nmper + 1);
|
||||
cashflowNpvFinal2Column.ComputeValues(preparedValues, cashflowNpvFinalColumn, directorBonusSumColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-318113.939598099m,
|
||||
135135.417631327m,
|
||||
139935.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
121656.435211628m,
|
||||
58453.266499507m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
107631.998246475m,
|
||||
107631.998246475m,
|
||||
23039.7637504377m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowNpvFinal2Column.Values.Length);
|
||||
Assert.Equal(expected, cashflowNpvFinal2Column.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
232
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs
Normal file
232
EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs
Normal file
@ -0,0 +1,232 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class CashflowNsibTests
|
||||
{
|
||||
[Fact]
|
||||
public void CashflowNsibTest1()
|
||||
{
|
||||
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 cashflowLeasingColumn = new CashflowLeasingColumn(preparedValues.Nmper + 1, dateTempColumn)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
625000m,
|
||||
117858.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
119758.04449644m,
|
||||
107480.86417874m,
|
||||
50064.1975120737m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
107480.86417874m,
|
||||
95203.6838610409m,
|
||||
95203.6838610409m,
|
||||
21986.2413194444m
|
||||
}
|
||||
};
|
||||
|
||||
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 nsibBruttoGrColumn = new NSIBBruttoGrColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
26730.2083333333m,
|
||||
0,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
}
|
||||
};
|
||||
|
||||
var cashflowNsibColumn = new CashflowNSIBColumn(preparedValues.Nmper + 1, dateTempColumn,
|
||||
nsibBruttoGrColumn, nsibExpensesColumn);
|
||||
cashflowNsibColumn.ComputeValues((decimal) cashflowLeasingColumn.IRR);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
-10899.0991979689m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
-10693.5987839108m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, cashflowNsibColumn.Values.Length);
|
||||
Assert.Equal(0.379046887159348, cashflowNsibColumn.IRR, new DoubleArrayComparer());
|
||||
Assert.Equal(expected, cashflowNsibColumn.Values, new DecimalArrayComparer(1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class DirectorBonusSumTests
|
||||
{
|
||||
[Fact]
|
||||
public void DirectorBonusSumTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
BonusBase = 1873191.66666667m,
|
||||
DirectorBonus = 0.003,
|
||||
SalaryRate = 0.3,
|
||||
MarketRate = 0.01,
|
||||
DistrictRate = 0.02
|
||||
};
|
||||
|
||||
var directorBonusSumColumn = new DirectorBonusSumColumn(preparedValues.Nmper + 1);
|
||||
directorBonusSumColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-7524.610925m,
|
||||
0,
|
||||
-7524.610925m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, directorBonusSumColumn.Values.Length);
|
||||
Assert.Equal(expected, directorBonusSumColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
170
EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs
Normal file
170
EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs
Normal file
@ -0,0 +1,170 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class ExtraBonusSumTests
|
||||
{
|
||||
[Fact]
|
||||
public void ExtraBonusSumTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues
|
||||
{
|
||||
Nmper = 25,
|
||||
IRR_MSFO_Plan = 0.05,
|
||||
BonusBase = 1873191.66666667m,
|
||||
ExtraBonus = 0.00764256319811875,
|
||||
SalaryRate = 0,
|
||||
MarketRate = 0,
|
||||
DistrictRate = 0
|
||||
};
|
||||
|
||||
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 cashflowMsfoColumn = new CashflowMSFOColumn(preparedValues.Nmper + 1, dateTempColumn)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
623323.69753125m,
|
||||
-355830.906125263m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
119763.500599737m,
|
||||
107485.774671708m,
|
||||
50069.1080050413m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
107485.774671708m,
|
||||
95208.0487436787m,
|
||||
95208.0487436787m,
|
||||
21986.2413194444m
|
||||
}
|
||||
};
|
||||
|
||||
var extraBonusSumColumn = new ExtraBonusSumColumn(preparedValues.Nmper + 1);
|
||||
extraBonusSumColumn.ComputeValues(preparedValues, cashflowMsfoColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-7487.31397588584m,
|
||||
0,
|
||||
-7487.31397588584m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, extraBonusSumColumn.Values.Length);
|
||||
Assert.Equal(expected, extraBonusSumColumn.Values, new DecimalArrayComparer(0.3));
|
||||
}
|
||||
}
|
||||
}
|
||||
240
EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs
Normal file
240
EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs
Normal file
@ -0,0 +1,240 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NpvFinalTests
|
||||
{
|
||||
[Fact]
|
||||
public void NpvFinalTest1()
|
||||
{
|
||||
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 cashflowNpvFinalColumn = new CashflowNPVFinalColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-310589.328673099m,
|
||||
135135.417631327m,
|
||||
139935.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
121656.435211628m,
|
||||
58453.266499507m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
107631.998246475m,
|
||||
107631.998246475m,
|
||||
23039.7637504377m
|
||||
}
|
||||
};
|
||||
|
||||
var npvWeightColumn = new NPVWeightColumn(67)
|
||||
{
|
||||
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 npvFinalColumn = new NPVFinalColumn(preparedValues.Nmper + 1, dateTempColumn);
|
||||
npvFinalColumn.ComputeValues(cashflowNpvFinalColumn, npvWeightColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-308807.677421272m,
|
||||
133563.879396326m,
|
||||
137488.306463045m,
|
||||
132061.256207708m,
|
||||
131278.528999622m,
|
||||
130525.468498383m,
|
||||
129751.843905708m,
|
||||
129007.541015107m,
|
||||
128242.913180264m,
|
||||
127482.817295423m,
|
||||
114108.792576015m,
|
||||
54501.8302236648m,
|
||||
112276.116051067m,
|
||||
111610.655390045m,
|
||||
110949.13891508m,
|
||||
110333.850911115m,
|
||||
109679.902057675m,
|
||||
109050.738990044m,
|
||||
108404.395142344m,
|
||||
107782.548837663m,
|
||||
107143.721554365m,
|
||||
94654.8534297361m,
|
||||
94111.879404115m,
|
||||
20026.2365707247m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, npvFinalColumn.Values.Length);
|
||||
Assert.Equal(0.13361788392067, npvFinalColumn.IRR, new DoubleArrayComparer());
|
||||
Assert.Equal(0.126071837819239, npvFinalColumn.Nominal, new DoubleArrayComparer());
|
||||
Assert.Equal(expected, npvFinalColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
241
EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.cs
Normal file
241
EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.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 NpvFinal2Tests
|
||||
{
|
||||
[Fact]
|
||||
public void NpvFinal2Test1()
|
||||
{
|
||||
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 cashflowNpvFinal2Column = new CashflowNPVFinal2Column(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-318113.939598099m,
|
||||
135135.417631327m,
|
||||
139935.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
135135.417631327m,
|
||||
121656.435211628m,
|
||||
58453.266499507m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
121110.980666174m,
|
||||
107631.998246475m,
|
||||
107631.998246475m,
|
||||
23039.7637504377m
|
||||
}
|
||||
};
|
||||
|
||||
var npvWeightColumn = new NPVWeightColumn(67)
|
||||
{
|
||||
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 npvFinal2Column = new NPVFinal2Column(preparedValues.Nmper + 1, dateTempColumn);
|
||||
npvFinal2Column.ComputeValues(cashflowNpvFinal2Column, npvWeightColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2507300m,
|
||||
562200.08956372m,
|
||||
-316289.124492152m,
|
||||
133563.879396326m,
|
||||
137488.306463045m,
|
||||
132061.256207708m,
|
||||
131278.528999622m,
|
||||
130525.468498383m,
|
||||
129751.843905708m,
|
||||
129007.541015107m,
|
||||
128242.913180264m,
|
||||
127482.817295423m,
|
||||
114108.792576015m,
|
||||
54501.8302236648m,
|
||||
112276.116051067m,
|
||||
111610.655390045m,
|
||||
110949.13891508m,
|
||||
110333.850911115m,
|
||||
109679.902057675m,
|
||||
109050.738990044m,
|
||||
108404.395142344m,
|
||||
107782.548837663m,
|
||||
107143.721554365m,
|
||||
94654.8534297361m,
|
||||
94111.879404115m,
|
||||
20026.2365707247m
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, npvFinal2Column.Values.Length);
|
||||
Assert.Equal(0.129696124792099, npvFinal2Column.IRR, new DoubleArrayComparer());
|
||||
Assert.Equal(0.122570429842705, npvFinal2Column.Nominal, new DoubleArrayComparer());
|
||||
Assert.Equal(expected, npvFinal2Column.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
232
EvoCalculator.Core.Tests/Calculation/Columns/Revenue.cs
Normal file
232
EvoCalculator.Core.Tests/Calculation/Columns/Revenue.cs
Normal file
@ -0,0 +1,232 @@
|
||||
using System;
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class RevenueTests
|
||||
{
|
||||
[Fact]
|
||||
public void RevenueTest1()
|
||||
{
|
||||
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 nsibBruttoGrColumn = new NSIBBruttoGrColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
26730.2083333333m,
|
||||
0,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
}
|
||||
};
|
||||
|
||||
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 cashflowNsibColumn = new CashflowNSIBColumn(preparedValues.Nmper + 1, dateTempColumn,
|
||||
nsibBruttoGrColumn, nsibExpensesColumn)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
0,
|
||||
-10899.0991979689m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
-10693.5987839108m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m,
|
||||
1113.75868055556m
|
||||
}
|
||||
};
|
||||
|
||||
var revenueColumn = new RevenueColumn(preparedValues.Nmper + 1);
|
||||
revenueColumn.ComputeValues(nsibBruttoGrColumn, nsibExpensesColumn, cashflowNsibColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
0,
|
||||
10899.0991979689m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
11807.3574644663m,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, revenueColumn.Values.Length);
|
||||
Assert.Equal(expected, revenueColumn.Values, new DecimalArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -134,6 +134,7 @@ namespace EvoCalculator.Core.Controllers.V1
|
||||
nsibExpensesColumn, tlmExpensesColumn, gpsExpensesColumn, registrExpensesColumn,
|
||||
insuranceBonusExpensesColumn, comissionBonusExpensesColumn, npvBonusExpensesColumn);
|
||||
|
||||
|
||||
return new
|
||||
{
|
||||
dateColumn,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user