more columns(expenses)
This commit is contained in:
parent
cf8aa960d8
commit
f90acff617
@ -19,6 +19,7 @@
|
||||
<e p="bin" t="ExcludeRecursive" />
|
||||
<e p="Controllers" t="Include">
|
||||
<e p="v1" t="Include">
|
||||
<e p="CalculationController.cs" t="Include" />
|
||||
<e p="WeatherForecastController.cs" t="Include" />
|
||||
</e>
|
||||
</e>
|
||||
@ -43,20 +44,31 @@
|
||||
<e p="AcceptKaskoColumn.cs" t="Include" />
|
||||
<e p="AcceptOsagoColumn.cs" t="Include" />
|
||||
<e p="AcceptSumColumn.cs" t="Include" />
|
||||
<e p="AgentComissionExpensesColumn.cs" t="Include" />
|
||||
<e p="BaseColumn.cs" t="Include" />
|
||||
<e p="BaseColumnWithXIRR.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="ExpensesColumn.cs" t="Include" />
|
||||
<e p="GPS_GrColumn.cs" t="Include" />
|
||||
<e p="GPSExpensesColumn.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="KaskoBonusGrSumColumn.cs" t="Include" />
|
||||
<e p="KaskoNmperGrColumn.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesColumn.cs" t="Include" />
|
||||
<e p="NsibExpensesColumn.cs" t="Include" />
|
||||
<e p="PercentPaymentColumn.cs" t="Include" />
|
||||
<e p="RatExpensesColumn.cs" t="Include" />
|
||||
<e p="RegistrExpensesColumn.cs" t="Include" />
|
||||
<e p="SumColumn.cs" t="Include" />
|
||||
<e p="SumWithVATColumn.cs" t="Include" />
|
||||
<e p="TLM_GRColumn.cs" t="Include" />
|
||||
<e p="TlmExpensesColumn.cs" t="Include" />
|
||||
<e p="TransExprensesColumn.cs" t="Include" />
|
||||
<e p="VATColumn.cs" t="Include" />
|
||||
</e>
|
||||
<e p="EvoCalculator.Core.Calculation.csproj" t="IncludeRecursive" />
|
||||
@ -133,18 +145,29 @@
|
||||
<e p="AcceptKaskoTests.cs" t="Include" />
|
||||
<e p="AcceptOsagoTests.cs" t="Include" />
|
||||
<e p="AcceptSumTests.cs" t="Include" />
|
||||
<e p="AgentComissionExpensesTests.cs" t="Include" />
|
||||
<e p="ComissionBonusExpensesTests.cs" t="Include" />
|
||||
<e p="DateColumnTests.cs" t="Include" />
|
||||
<e p="DateTempTests.cs" t="Include" />
|
||||
<e p="DeprecationLDTests.cs" t="Include" />
|
||||
<e p="DeprecationLPTests.cs" t="Include" />
|
||||
<e p="DeprecationTests.cs" t="Include" />
|
||||
<e p="ExpensesTests.cs" t="Include" />
|
||||
<e p="GPS_GrTests.cs" t="Include" />
|
||||
<e p="GPSExpensesTests.cs" t="Include" />
|
||||
<e p="InsuranceBonusExpensesTests.cs" t="Include" />
|
||||
<e p="KaskoBonusGrSumTests.cs" t="Include" />
|
||||
<e p="KaskoNmperGrTests.cs" t="Include" />
|
||||
<e p="NPVBonusExpensesTests.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="SumColumnTest.cs" t="Include" />
|
||||
<e p="SumWithVatTests.cs" t="Include" />
|
||||
<e p="TLM_GrTests.cs" t="Include" />
|
||||
<e p="TlmExpensesTests.cs" t="Include" />
|
||||
<e p="TransExprensesTests.cs" t="Include" />
|
||||
<e p="VATColumnTests.cs" t="Include" />
|
||||
</e>
|
||||
<e p="Controllers" t="Include" />
|
||||
|
||||
258
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
258
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
@ -14,29 +14,35 @@
|
||||
</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/AcceptInsuranceColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptKaskoColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptOsagoColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptSumColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLDColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLPColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptInsuranceTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptKaskoTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptOsagoTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptSumTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/DoubleArrayComparer.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AgentComissionExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ComissionBonusExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPSExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InsuranceBonusExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoBonusGrSumColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NsibExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RegistrExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLMExpensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExprensesColumn.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AgentComissionExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ComissionBonusExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoBonusGrSumTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NsibExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RatExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RegistrExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TransExprensesTests.cs" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.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.FinanceFormulas/Bisection.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.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.Tests/Calculation/Columns/SumColumnTest.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumColumnTest.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoNmperGrTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoNmperGrTests.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core/EvoCalculator.Core.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core/EvoCalculator.Core.csproj" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -64,35 +70,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLM_GR.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLM_GRColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/SumColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Constants/Calculation.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/DateColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/DateTempTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/PercentPaymentTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/GPS_GrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/SumColumnTest.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/SumWithVatTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/TLM_GrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/VATColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/KaskoNmperGrTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DateColumnTests.cs" />
|
||||
<option value="$APPLICATION_CONFIG_DIR$/scratches/scratch.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateTempColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPS_GrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/PercentPaymentColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumWithVATColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLM_GrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/VATColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/FinanceFormulas/FinanceFormulasTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/XIRR.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptSumColumn.cs" />
|
||||
@ -106,7 +83,6 @@
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLPColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/DoubleArrayComparer.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPColumnTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLDColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.cs" />
|
||||
@ -115,6 +91,36 @@
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoBonusGrSumTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoBonusGrSumColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AgentComissionExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AgentComissionExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RatExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v2/CalculationController.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TransExprensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExprensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NsibExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoNmperGrTests.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.Models/Calculation/Models/Prepared/PreparedParams.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TlmExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TlmExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLMExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPSExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/RegistrExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RegistrExpensesColumn.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/ComissionBonusExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ComissionBonusExpensesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpencesColumn.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs" />
|
||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -134,7 +140,7 @@
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="C#" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.customizations" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
|
||||
<property name="vue.rearranger.settings.migration" value="true" />
|
||||
</component>
|
||||
<component name="RunManager" selected=".NET Launch Settings Profile.EvoCalculator.Core">
|
||||
@ -184,7 +190,8 @@
|
||||
<workItem from="1602850022326" duration="4617000" />
|
||||
<workItem from="1602854690202" duration="5777000" />
|
||||
<workItem from="1603096869934" duration="28730000" />
|
||||
<workItem from="1603193984674" duration="8173000" />
|
||||
<workItem from="1603193984674" duration="8364000" />
|
||||
<workItem from="1603277394554" duration="12579000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="rename: flow">
|
||||
<created>1602593830686</created>
|
||||
@ -232,90 +239,90 @@
|
||||
<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 width="897" height="464" key="DebuggerActiveHint" timestamp="1603130767865">
|
||||
<state width="897" height="464" key="DebuggerActiveHint" timestamp="1603289006522">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="897" height="464" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603130767865" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.bottom" timestamp="1603198290510">
|
||||
<state width="897" height="464" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289006522" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.bottom" timestamp="1603289059549">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290510" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.center" timestamp="1603198290509">
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.center" timestamp="1603289059549">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290509" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.left" timestamp="1603198290509">
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.left" timestamp="1603289059549">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290509" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.right" timestamp="1603198290510">
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.right" timestamp="1603289059549">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290510" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.bottom" timestamp="1603198290512">
|
||||
<state width="2517" height="396" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.bottom" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290512" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.center" timestamp="1603198290511">
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.center" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290511" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.left" timestamp="1603198290511">
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.left" timestamp="1603289059549">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290511" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.right" timestamp="1603198290512">
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.right" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290512" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.bottom" timestamp="1603198290513">
|
||||
<state width="2517" height="396" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.bottom" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290513" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.center" timestamp="1603198290513">
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.center" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290513" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.left" timestamp="1603198290513">
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.left" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290513" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.right" timestamp="1603198290513">
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.right" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290513" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.bottom" timestamp="1603198290514">
|
||||
<state width="2517" height="396" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.bottom" timestamp="1603289059551">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290514" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.center" timestamp="1603198290514">
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.center" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290514" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.left" timestamp="1603198290514">
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.left" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290514" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.right" timestamp="1603198290514">
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.right" timestamp="1603289059550">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290514" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.bottom" timestamp="1603198290515">
|
||||
<state width="2517" height="396" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.bottom" timestamp="1603289059551">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290515" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.center" timestamp="1603198290515">
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.center" timestamp="1603289059551">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290515" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.left" timestamp="1603198290514">
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.left" timestamp="1603289059551">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290514" />
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.right" timestamp="1603198290515">
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.right" timestamp="1603289059551">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state width="2517" height="371" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198290515" />
|
||||
<state width="2517" height="396" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
|
||||
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -328,10 +335,10 @@
|
||||
<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="1603131092253" />
|
||||
<state x="781" y="345" key="SettingsEditor" timestamp="1603119676785">
|
||||
<state x="781" y="345" key="SettingsEditor" timestamp="1603281561803">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="781" y="345" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603119676785" />
|
||||
<state x="781" y="345" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603281561803" />
|
||||
<state width="498" height="446" key="SwitcherDM" timestamp="1602684835910">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
@ -352,12 +359,59 @@
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="930" y="299" width="730" height="801" key="find.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603199842938" />
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1603195763131">
|
||||
<state x="936" y="330" key="run.anything.popup" timestamp="1603290743275">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603195763131" />
|
||||
<state x="936" y="330" key="run.anything.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603290743275" />
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1603290838524">
|
||||
<screen x="0" y="0" width="2560" height="1400" />
|
||||
</state>
|
||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603290838524" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NsibExpensesTests.cs</url>
|
||||
<line>92</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\NsibExpensesTests.cs" initialLine="92">
|
||||
<startOffsets>
|
||||
<option value="2395" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="2472" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="3" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs</url>
|
||||
<line>143</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\InsuranceBonusExpensesTests.cs" initialLine="143">
|
||||
<startOffsets>
|
||||
<option value="3648" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="3719" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="9" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs</url>
|
||||
<line>183</line>
|
||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\InsuranceBonusExpensesTests.cs" initialLine="183">
|
||||
<startOffsets>
|
||||
<option value="4679" />
|
||||
</startOffsets>
|
||||
<endOffsets>
|
||||
<option value="4750" />
|
||||
</endOffsets>
|
||||
</properties>
|
||||
<option name="timeStamp" value="10" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
<pin-to-top-manager>
|
||||
<pinned-members>
|
||||
<PinnedItemInfo parentTag="Frame#EvoCalculator.Core.Tests.Calculation.Suite.Columns.TLM_GrTests.TLM_GrTest1" memberName="expected" />
|
||||
@ -365,13 +419,5 @@
|
||||
<PinnedItemInfo parentTag="Frame#EvoCalculator.Core.Tests.Calculation.Suite.Columns.KaskoNmperGrTests.KaskoNmperGrTest2" memberName="preparedValues" />
|
||||
</pinned-members>
|
||||
</pin-to-top-manager>
|
||||
<watches-manager>
|
||||
<configuration name="RiderUnitTests">
|
||||
<watch expression="IRR" language="C#" />
|
||||
<watch expression="Convert.ToDecimal(IRR)" language="C#" />
|
||||
<watch expression="preparedValues.IrrExpected" language="C#" />
|
||||
<watch expression="Convert.ToDecimal(preparedValues.IrrExpected)" language="C#" />
|
||||
</configuration>
|
||||
</watches-manager>
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,29 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class AgentComissionExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public AgentComissionExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
var agentComission = preparedValues.AgentsSum + preparedValues.DoubleAgentsSum +
|
||||
preparedValues.DeliverySum +
|
||||
preparedValues.BrokerSum + preparedValues.BrokerOfDeliverySum +
|
||||
preparedValues.FinancialDeptOfDeliverySum + preparedValues.ImporterSum;
|
||||
|
||||
Values[2] = -agentComission;
|
||||
|
||||
Values[0] = Values.Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class ComissionBonusExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public ComissionBonusExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
Values[1] = preparedValues.ComissionRub;
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
37
EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs
Normal file
37
EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs
Normal file
@ -0,0 +1,37 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class ExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public ExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(AgentComissionExpensesColumn agentComissionExpensesColumn,
|
||||
RatExpensesColumn ratExpensesColumn, TransExprensesColumn transExprensesColumn,
|
||||
NsibExpensesColumn nsibExpensesColumn, TLMExpensesColumn tlmExpensesColumn,
|
||||
GPSExpensesColumn gpsExpensesColumn, RegistrExpensesColumn registrExpensesColumn,
|
||||
InsuranceBonusExpensesColumn insuranceBonusExpensesColumn,
|
||||
ComissionBonusExpensesColumn comissionBonusExpensesColumn, NPVBonusExpensesColumn npvBonusExpensesColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] =
|
||||
agentComissionExpensesColumn.Values[i]
|
||||
+ ratExpensesColumn.Values[i]
|
||||
+ transExprensesColumn.Values[i]
|
||||
+ nsibExpensesColumn.Values[i]
|
||||
+ tlmExpensesColumn.Values[i]
|
||||
+ gpsExpensesColumn.Values[i]
|
||||
+ registrExpensesColumn.Values[i]
|
||||
+ insuranceBonusExpensesColumn.Values[i]
|
||||
+ comissionBonusExpensesColumn.Values[i]
|
||||
+ npvBonusExpensesColumn.Values[i];
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
EvoCalculator.Core.Calculation/Columns/GPSExpensesColumn.cs
Normal file
23
EvoCalculator.Core.Calculation/Columns/GPSExpensesColumn.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class GPSExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public GPSExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, PreparedPayments preparedPayments)
|
||||
{
|
||||
Values[1] = -(preparedValues.TrackerCost + preparedPayments.Rows[0].GpsBasePayment);
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = -preparedPayments.Rows[i - 1].GpsBasePayment;
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class InsuranceBonusExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public InsuranceBonusExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
for (var i = 2; i < Values.Length; i += i == 2 ? 11 : 12)
|
||||
{
|
||||
if (i <= preparedValues.NmperInsurance)
|
||||
{
|
||||
if (preparedValues.NmperInsurance - i >= 3)
|
||||
{
|
||||
if (preparedValues.NmperInsurance - i < 16 - 1)
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceBonus / preparedValues.NmperInsurance *
|
||||
(preparedValues.NmperInsurance - i + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceBonus / preparedValues.NmperInsurance * 12;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class KaskoBonusGrSumColumn : BaseColumn<double>
|
||||
{
|
||||
public KaskoBonusGrSumColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, KaskoNmperGrColumn kaskoNmperGrColumn)
|
||||
{
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
{
|
||||
if (i < 13)
|
||||
{
|
||||
Values[i] = kaskoNmperGrColumn.Values[i] * 1;
|
||||
}
|
||||
else if (i <= 24)
|
||||
{
|
||||
Values[i] = kaskoNmperGrColumn.Values[i] * 0.7;
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = kaskoNmperGrColumn.Values[i] * 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -21,13 +21,20 @@ namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
if (i <= preparedValues.NmperInsurance)
|
||||
{
|
||||
if (preparedValues.NmperInsurance - i < 16 - 1)
|
||||
if (preparedValues.Nmper - i >= 3)
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceKasko / 12 * (preparedValues.NmperInsurance - i + 1);
|
||||
if (preparedValues.NmperInsurance - i < 16 - 1)
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceKasko / 12 * (preparedValues.NmperInsurance - i + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceKasko;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = preparedValues.InsuranceKasko;
|
||||
Values[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
45
EvoCalculator.Core.Calculation/Columns/NsibExpensesColumn.cs
Normal file
45
EvoCalculator.Core.Calculation/Columns/NsibExpensesColumn.cs
Normal file
@ -0,0 +1,45 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class NsibExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public NsibExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
for (var i = 1; i < Values.Length; i += 12)
|
||||
{
|
||||
if (i <= preparedValues.Nmper)
|
||||
{
|
||||
if (preparedValues.Nmper - i >= 3)
|
||||
{
|
||||
if (preparedValues.Nmper - i < 16 - 1)
|
||||
{
|
||||
Values[i] = -preparedValues.NsibNetto / preparedValues.Nmper *
|
||||
(preparedValues.Nmper - i + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = -preparedValues.NsibNetto / preparedValues.Nmper * 12;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
25
EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs
Normal file
25
EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs
Normal file
@ -0,0 +1,25 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class RatExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public RatExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
Values[1] = -preparedValues.BaseRatCost;
|
||||
Values[4] = preparedValues.RetroBonus;
|
||||
|
||||
Values[0] = Values.Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class RegistrExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public RegistrExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
Values[1] = -preparedValues.BaseRegistration;
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
EvoCalculator.Core.Calculation/Columns/TLMExpensesColumn.cs
Normal file
23
EvoCalculator.Core.Calculation/Columns/TLMExpensesColumn.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class TLMExpensesColumn : BaseColumn<double>
|
||||
{
|
||||
public TLMExpensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, PreparedPayments preparedPayments)
|
||||
{
|
||||
Values[1] = -(preparedValues.TLMCost + preparedPayments.Rows[0].TlmBasePayment);
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = -preparedPayments.Rows[i - 1].TlmBasePayment;
|
||||
}
|
||||
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
using System.Linq;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Calculation.Columns
|
||||
{
|
||||
public class TransExprensesColumn : BaseColumn<double>
|
||||
{
|
||||
public TransExprensesColumn(int count) : base(count)
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
for (var i = 0; i < Values.Length; i++)
|
||||
{
|
||||
Values[i] = 0;
|
||||
}
|
||||
|
||||
for (var i = 0; i < Values.Length; i += 12)
|
||||
{
|
||||
if (i > 0)
|
||||
{
|
||||
Values[i] = -preparedValues.TransportTaxGrYear;
|
||||
}
|
||||
}
|
||||
|
||||
Values[^1] = -(preparedValues.TransportTaxGr + Values.Skip(1).Take(Values.Length - 1).Sum(x => x));
|
||||
Values[0] = Values.Skip(1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -89,5 +89,6 @@ namespace EvoCalculator.Core.Models.Calculation.Models.Prepared
|
||||
public double AcquisitionExpenses { get; set; }
|
||||
public double BonusBase { get; set; }
|
||||
public double NpvBase { get; set; }
|
||||
public double TLMCost { get; set; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,125 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class AgentComissionExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void AgentComissionExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
AgentsSum = 47662.50,
|
||||
DoubleAgentsSum = 0.00,
|
||||
DeliverySum = 0.00,
|
||||
BrokerSum = 0.00,
|
||||
BrokerOfDeliverySum = 0.00,
|
||||
FinancialDeptOfDeliverySum = 0.00,
|
||||
ImporterSum = 0.00,
|
||||
Nmper = 30
|
||||
};
|
||||
|
||||
var agentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1);
|
||||
agentComissionExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-47662.50,
|
||||
0.00,
|
||||
-47662.50,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
Assert.Equal(expected.Length, agentComissionExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, agentComissionExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AgentComissionExpensesTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
AgentsSum = 47662.50,
|
||||
DoubleAgentsSum = 31775,
|
||||
DeliverySum = 50000,
|
||||
BrokerSum = 75000,
|
||||
BrokerOfDeliverySum = 100000,
|
||||
FinancialDeptOfDeliverySum = 125000,
|
||||
ImporterSum = 16666.6666666667,
|
||||
Nmper = 30
|
||||
};
|
||||
|
||||
var agentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1);
|
||||
agentComissionExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-446104.166666667,
|
||||
0.00,
|
||||
-446104.166666667,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
Assert.Equal(expected.Length, agentComissionExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, agentComissionExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class ComissionBonusExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void ComissionBonusExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
ComissionRub = 125000,
|
||||
Nmper = 24
|
||||
};
|
||||
|
||||
var comissionBonusExpensesColumn = new ComissionBonusExpensesColumn(preparedValues.Nmper + 1);
|
||||
comissionBonusExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
125000.00,
|
||||
125000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, comissionBonusExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, comissionBonusExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
378
EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs
Normal file
378
EvoCalculator.Core.Tests/Calculation/Columns/ExpensesTests.cs
Normal file
@ -0,0 +1,378 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class ExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void ExpensesColumnTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 24
|
||||
};
|
||||
|
||||
var AgentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-446104.166666667,
|
||||
0.00,
|
||||
-446104.166666667,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var RatExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-6000,
|
||||
-12000,
|
||||
0.00,
|
||||
0.00,
|
||||
6000,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var TransExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-18000,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-9000,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-9000,
|
||||
}
|
||||
};
|
||||
|
||||
var NsibExpensesColumn = new NsibExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-3376.08,
|
||||
-1688.04,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-1688.04,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var TLMExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-33600.00,
|
||||
-20000,
|
||||
-1600,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
-800,
|
||||
}
|
||||
};
|
||||
|
||||
var GPSExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-25200.00,
|
||||
-15000,
|
||||
-1200,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
-600,
|
||||
}
|
||||
};
|
||||
|
||||
var RegistrExpensesColumn = new RegistrExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-2300,
|
||||
-2300,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var InsuranceBonusExpensesColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
26337.50,
|
||||
0.00,
|
||||
13168.75,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
13168.75,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var ComissionBonusExpensesColumn = new ComissionBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
125000,
|
||||
125000,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
var NPVBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-19695.05642,
|
||||
-1355.97852,
|
||||
-18339.0779,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var expensesColumn = new ExpensesColumn(preparedValues.Nmper + 1);
|
||||
expensesColumn.ComputeValues(AgentComissionExpensesColumn, RatExpensesColumn, TransExprensesColumn,
|
||||
NsibExpensesColumn, TLMExpensesColumn, GPSExpensesColumn, RegistrExpensesColumn,
|
||||
InsuranceBonusExpensesColumn, ComissionBonusExpensesColumn, NPVBonusExpensesColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-412737.803086667,
|
||||
72655.98148,
|
||||
-454074.494566667,
|
||||
-1400,
|
||||
4600,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-10400,
|
||||
10080.71,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-1400,
|
||||
-10400,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, expensesColumn.Values.Length);
|
||||
Assert.Equal(expected, expensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
124
EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs
Normal file
124
EvoCalculator.Core.Tests/Calculation/Columns/GPSExpensesTests.cs
Normal file
@ -0,0 +1,124 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class GPSExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void GPSExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 17,
|
||||
TrackerCost = 15000
|
||||
};
|
||||
|
||||
var preparedPayments = new PreparedPayments
|
||||
{
|
||||
Rows = new[]
|
||||
{
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 0.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 1200.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
GpsBasePayment = 600.00,
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
var gpsExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1);
|
||||
gpsExpensesColumn.ComputeValues(preparedValues, preparedPayments);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-25200.00,
|
||||
-15000.00,
|
||||
-1200.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
-600.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, gpsExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, gpsExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,187 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class InsuranceBonusExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void InsuranceBonusExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
InsuranceBonus = 26337.5,
|
||||
NmperInsurance = 27,
|
||||
Nmper = 27
|
||||
};
|
||||
|
||||
var targetColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1);
|
||||
targetColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
26337.50,
|
||||
0.00,
|
||||
11705.5555555556,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
14631.9444444444,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, targetColumn.Values.Length);
|
||||
Assert.Equal(expected, targetColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsuranceBonusExpensesTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
InsuranceBonus = 26337.5,
|
||||
NmperInsurance = 24,
|
||||
Nmper = 24
|
||||
};
|
||||
|
||||
var targetColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1);
|
||||
targetColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
26337.50,
|
||||
0.00,
|
||||
13168.75,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
13168.75,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, targetColumn.Values.Length);
|
||||
Assert.Equal(expected, targetColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsuranceBonusExpensesTest3()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
InsuranceBonus = 32921.875,
|
||||
NmperInsurance = 15,
|
||||
Nmper = 15
|
||||
};
|
||||
|
||||
var targetColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1);
|
||||
targetColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
32921.875,
|
||||
0.00,
|
||||
32921.875,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, targetColumn.Values.Length);
|
||||
Assert.Equal(expected, targetColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void InsuranceBonusExpensesTest4()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
InsuranceBonus = 26337.5,
|
||||
NmperInsurance = 16,
|
||||
Nmper = 16
|
||||
};
|
||||
|
||||
var targetColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1);
|
||||
targetColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
26337.50,
|
||||
0.00,
|
||||
19753.125,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
6584.375,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, targetColumn.Values.Length);
|
||||
Assert.Equal(expected, targetColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class KaskoBonusGrSumTests
|
||||
{
|
||||
[Fact]
|
||||
public void KaskoBonusGrSumTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 30
|
||||
};
|
||||
|
||||
var kaskoNmperGrColumn =
|
||||
new KaskoNmperGrColumn(preparedValues.Nmper + 1, new DateTempColumn(preparedValues.Nmper))
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
-97954.4193420531,
|
||||
53000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
53000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
17666.6666666667,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var kaskoBonusGrSumColumn = new KaskoBonusGrSumColumn(preparedValues.Nmper + 1);
|
||||
kaskoBonusGrSumColumn.ComputeValues(preparedValues, kaskoNmperGrColumn);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
98933.3333333333,
|
||||
53000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
37100.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
8833.33333333333,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected, kaskoBonusGrSumColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -385,5 +385,242 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
var res = kaskoNmperGrColumn.Values;
|
||||
Assert.Equal(expected, res);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void KaskoNmperGrTest4()
|
||||
{
|
||||
var preparedValues =
|
||||
new PreparedValues()
|
||||
{
|
||||
InsuranceKasko = 53000,
|
||||
NmperInsurance = 15,
|
||||
IrrExpected = 0.22,
|
||||
Nmper = 15
|
||||
};
|
||||
|
||||
|
||||
var dateTempColumn = new DateTempColumn(67)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31),
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var kaskoNmperGrColumn = new KaskoNmperGrColumn(preparedValues.Nmper + 1, dateTempColumn);
|
||||
kaskoNmperGrColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-66250,
|
||||
66250.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
var res = kaskoNmperGrColumn.Values;
|
||||
|
||||
Assert.Equal(expected.Length, kaskoNmperGrColumn.Values.Length);
|
||||
Assert.Equal(expected, res, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void KaskoNmperGrTest5()
|
||||
{
|
||||
var preparedValues =
|
||||
new PreparedValues()
|
||||
{
|
||||
InsuranceKasko = 53000,
|
||||
NmperInsurance = 16,
|
||||
IrrExpected = 0.22,
|
||||
Nmper = 16
|
||||
};
|
||||
|
||||
|
||||
var dateTempColumn = new DateTempColumn(67)
|
||||
{
|
||||
Values = new[]
|
||||
{
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 10, 31),
|
||||
new DateTime(2018, 11, 30),
|
||||
new DateTime(2018, 12, 31),
|
||||
new DateTime(2019, 1, 31),
|
||||
new DateTime(2019, 2, 28),
|
||||
new DateTime(2019, 3, 31),
|
||||
new DateTime(2019, 4, 30),
|
||||
new DateTime(2019, 5, 31),
|
||||
new DateTime(2019, 6, 30),
|
||||
new DateTime(2019, 7, 31),
|
||||
new DateTime(2019, 8, 31),
|
||||
new DateTime(2019, 9, 30),
|
||||
new DateTime(2019, 10, 31),
|
||||
new DateTime(2019, 11, 30),
|
||||
new DateTime(2019, 12, 31),
|
||||
new DateTime(2020, 1, 31),
|
||||
new DateTime(2020, 2, 29),
|
||||
new DateTime(2020, 3, 31),
|
||||
new DateTime(2020, 4, 30),
|
||||
new DateTime(2020, 5, 31),
|
||||
new DateTime(2020, 6, 30),
|
||||
new DateTime(2020, 7, 31),
|
||||
new DateTime(2020, 8, 31),
|
||||
new DateTime(2020, 9, 30),
|
||||
new DateTime(2020, 10, 31),
|
||||
new DateTime(2020, 11, 30),
|
||||
new DateTime(2020, 12, 31),
|
||||
new DateTime(2021, 1, 31),
|
||||
new DateTime(2021, 2, 28),
|
||||
new DateTime(2021, 3, 31),
|
||||
new DateTime(2021, 4, 30),
|
||||
new DateTime(2021, 5, 31),
|
||||
new DateTime(2021, 6, 30),
|
||||
new DateTime(2021, 7, 31),
|
||||
new DateTime(2021, 8, 31),
|
||||
new DateTime(2021, 9, 30),
|
||||
new DateTime(2021, 10, 31),
|
||||
new DateTime(2021, 11, 30),
|
||||
new DateTime(2021, 12, 31),
|
||||
new DateTime(2022, 1, 31),
|
||||
new DateTime(2022, 2, 28),
|
||||
new DateTime(2022, 3, 31),
|
||||
new DateTime(2022, 4, 30),
|
||||
new DateTime(2022, 5, 31),
|
||||
new DateTime(2022, 6, 30),
|
||||
new DateTime(2022, 7, 31),
|
||||
new DateTime(2022, 8, 31),
|
||||
new DateTime(2022, 9, 30),
|
||||
new DateTime(2022, 10, 31),
|
||||
new DateTime(2022, 11, 30),
|
||||
new DateTime(2022, 12, 31),
|
||||
new DateTime(2023, 1, 31),
|
||||
new DateTime(2023, 2, 28),
|
||||
new DateTime(2023, 3, 31),
|
||||
new DateTime(2023, 4, 30),
|
||||
new DateTime(2023, 5, 31),
|
||||
new DateTime(2023, 6, 30),
|
||||
new DateTime(2023, 7, 31),
|
||||
new DateTime(2023, 8, 31),
|
||||
new DateTime(2023, 9, 30),
|
||||
new DateTime(2023, 10, 31),
|
||||
new DateTime(2023, 11, 30),
|
||||
new DateTime(2023, 12, 31),
|
||||
new DateTime(2024, 1, 31),
|
||||
new DateTime(2024, 2, 29),
|
||||
new DateTime(2024, 3, 31),
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var kaskoNmperGrColumn = new KaskoNmperGrColumn(preparedValues.Nmper + 1, dateTempColumn);
|
||||
kaskoNmperGrColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-67480.8743169399,
|
||||
53000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
17666.6666666667,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
var res = kaskoNmperGrColumn.Values;
|
||||
|
||||
Assert.Equal(expected.Length, kaskoNmperGrColumn.Values.Length);
|
||||
Assert.Equal(expected, res, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,134 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class NsibExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void NsibExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
NsibNetto = 4186.80,
|
||||
Nmper = 30
|
||||
};
|
||||
|
||||
var nsibExpensesColumn = new NsibExpensesColumn(preparedValues.Nmper + 1);
|
||||
nsibExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-4186.80,
|
||||
-1674.72,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-1674.72,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-837.36,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
Assert.Equal(expected.Length, nsibExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, nsibExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NsibExpensesTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
NsibNetto = 2093.40,
|
||||
Nmper = 15
|
||||
};
|
||||
|
||||
var nsibExpensesColumn = new NsibExpensesColumn(preparedValues.Nmper + 1);
|
||||
nsibExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2093.40,
|
||||
-2093.40,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
Assert.Equal(expected.Length, nsibExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, nsibExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NsibExpensesTest3()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
NsibNetto = 2372.52,
|
||||
Nmper = 17
|
||||
};
|
||||
|
||||
var nsibExpensesColumn = new NsibExpensesColumn(preparedValues.Nmper + 1);
|
||||
nsibExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2372.52,
|
||||
-1674.72,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-697.80,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
Assert.Equal(expected.Length, nsibExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, nsibExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class RatExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void RatExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
BaseRatCost = 12000,
|
||||
RetroBonus = 6000,
|
||||
Nmper = 30,
|
||||
};
|
||||
|
||||
var ratExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1);
|
||||
ratExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-6000.00,
|
||||
-12000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
6000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected, ratExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class RegistrExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void RegistrExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
BaseRegistration = 2300,
|
||||
Nmper = 17,
|
||||
};
|
||||
|
||||
var registrExpensesColumn = new RegistrExpensesColumn(preparedValues.Nmper + 1);
|
||||
registrExpensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-2300.00,
|
||||
-2300.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, registrExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, registrExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
124
EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs
Normal file
124
EvoCalculator.Core.Tests/Calculation/Columns/TLMExpensesTests.cs
Normal file
@ -0,0 +1,124 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class TLMExpensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void TLMExpensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 17,
|
||||
TLMCost = 20000
|
||||
};
|
||||
|
||||
var preparedPayments = new PreparedPayments
|
||||
{
|
||||
Rows = new[]
|
||||
{
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 0.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 1600.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
new PaymentRow
|
||||
{
|
||||
TlmBasePayment = 800.00,
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
var tlmExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1);
|
||||
tlmExpensesColumn.ComputeValues(preparedValues, preparedPayments);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-33600,
|
||||
-20000.00,
|
||||
-1600.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
-800.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, tlmExpensesColumn.Values.Length);
|
||||
Assert.Equal(expected, tlmExpensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,119 @@
|
||||
using EvoCalculator.Core.Calculation.Columns;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
using Xunit;
|
||||
|
||||
namespace EvoCalculator.Core.Tests.Calculation.Columns
|
||||
{
|
||||
public class TransExprensesTests
|
||||
{
|
||||
[Fact]
|
||||
public void TransExprensesTest1()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 30,
|
||||
TransportTaxGrYear = 12000,
|
||||
TransportTaxGr = 30000
|
||||
};
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1);
|
||||
transExprensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-30000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-12000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-12000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-6000.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, transExprensesColumn.Values.Length);
|
||||
Assert.Equal(expected, transExprensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TransExprensesTest2()
|
||||
{
|
||||
var preparedValues = new PreparedValues()
|
||||
{
|
||||
Nmper = 32,
|
||||
TransportTaxGrYear = 9000,
|
||||
TransportTaxGr = 24000
|
||||
};
|
||||
|
||||
var transExprensesColumn = new TransExprensesColumn(preparedValues.Nmper + 1);
|
||||
transExprensesColumn.ComputeValues(preparedValues);
|
||||
|
||||
|
||||
var expected = new[]
|
||||
{
|
||||
-24000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-9000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-9000.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
0.00,
|
||||
-6000.00,
|
||||
};
|
||||
|
||||
|
||||
Assert.Equal(expected.Length, transExprensesColumn.Values.Length);
|
||||
Assert.Equal(expected, transExprensesColumn.Values, new DoubleArrayComparer());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,6 +9,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EvoCalculator.Core.Calculation\EvoCalculator.Core.Calculation.csproj" />
|
||||
<ProjectReference Include="..\EvoCalculator.Core.Models\EvoCalculator.Core.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user