more columns(expenses)

This commit is contained in:
Chika 2020-10-21 17:42:33 +03:00
parent cf8aa960d8
commit f90acff617
28 changed files with 2220 additions and 109 deletions

View File

@ -19,6 +19,7 @@
<e p="bin" t="ExcludeRecursive" /> <e p="bin" t="ExcludeRecursive" />
<e p="Controllers" t="Include"> <e p="Controllers" t="Include">
<e p="v1" t="Include"> <e p="v1" t="Include">
<e p="CalculationController.cs" t="Include" />
<e p="WeatherForecastController.cs" t="Include" /> <e p="WeatherForecastController.cs" t="Include" />
</e> </e>
</e> </e>
@ -43,20 +44,31 @@
<e p="AcceptKaskoColumn.cs" t="Include" /> <e p="AcceptKaskoColumn.cs" t="Include" />
<e p="AcceptOsagoColumn.cs" t="Include" /> <e p="AcceptOsagoColumn.cs" t="Include" />
<e p="AcceptSumColumn.cs" t="Include" /> <e p="AcceptSumColumn.cs" t="Include" />
<e p="AgentComissionExpensesColumn.cs" t="Include" />
<e p="BaseColumn.cs" t="Include" /> <e p="BaseColumn.cs" t="Include" />
<e p="BaseColumnWithXIRR.cs" t="Include" /> <e p="BaseColumnWithXIRR.cs" t="Include" />
<e p="ComissionBonusExpensesColumn.cs" t="Include" />
<e p="DateColumn.cs" t="Include" /> <e p="DateColumn.cs" t="Include" />
<e p="DateTempColumn.cs" t="Include" /> <e p="DateTempColumn.cs" t="Include" />
<e p="DeprecationColumn.cs" t="Include" /> <e p="DeprecationColumn.cs" t="Include" />
<e p="DeprecationLDColumn.cs" t="Include" /> <e p="DeprecationLDColumn.cs" t="Include" />
<e p="DeprecationLPColumn.cs" t="Include" /> <e p="DeprecationLPColumn.cs" t="Include" />
<e p="ExpensesColumn.cs" t="Include" />
<e p="GPS_GrColumn.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="KaskoNmperGrColumn.cs" t="Include" />
<e p="NPVBonusExpensesColumn.cs" t="Include" /> <e p="NPVBonusExpensesColumn.cs" t="Include" />
<e p="NsibExpensesColumn.cs" t="Include" />
<e p="PercentPaymentColumn.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="SumColumn.cs" t="Include" />
<e p="SumWithVATColumn.cs" t="Include" /> <e p="SumWithVATColumn.cs" t="Include" />
<e p="TLM_GRColumn.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 p="VATColumn.cs" t="Include" />
</e> </e>
<e p="EvoCalculator.Core.Calculation.csproj" t="IncludeRecursive" /> <e p="EvoCalculator.Core.Calculation.csproj" t="IncludeRecursive" />
@ -133,18 +145,29 @@
<e p="AcceptKaskoTests.cs" t="Include" /> <e p="AcceptKaskoTests.cs" t="Include" />
<e p="AcceptOsagoTests.cs" t="Include" /> <e p="AcceptOsagoTests.cs" t="Include" />
<e p="AcceptSumTests.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="DateColumnTests.cs" t="Include" />
<e p="DateTempTests.cs" t="Include" /> <e p="DateTempTests.cs" t="Include" />
<e p="DeprecationLDTests.cs" t="Include" /> <e p="DeprecationLDTests.cs" t="Include" />
<e p="DeprecationLPTests.cs" t="Include" /> <e p="DeprecationLPTests.cs" t="Include" />
<e p="DeprecationTests.cs" t="Include" /> <e p="DeprecationTests.cs" t="Include" />
<e p="ExpensesTests.cs" t="Include" />
<e p="GPS_GrTests.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="KaskoNmperGrTests.cs" t="Include" />
<e p="NPVBonusExpensesTests.cs" t="Include" /> <e p="NPVBonusExpensesTests.cs" t="Include" />
<e p="NsibExpensesTests.cs" t="Include" />
<e p="PercentPaymentTests.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="SumColumnTest.cs" t="Include" />
<e p="SumWithVatTests.cs" t="Include" /> <e p="SumWithVatTests.cs" t="Include" />
<e p="TLM_GrTests.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 p="VATColumnTests.cs" t="Include" />
</e> </e>
<e p="Controllers" t="Include" /> <e p="Controllers" t="Include" />

View File

@ -14,29 +14,35 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="2c3b0650-5589-43d4-b4b7-2979612bb30f" name="Default Changelist" comment=""> <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/AgentComissionExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptKaskoColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ComissionBonusExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptOsagoColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptSumColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPSExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InsuranceBonusExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLDColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoBonusGrSumColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DeprecationLPColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NsibExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RatExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptInsuranceTests.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RegistrExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptKaskoTests.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLMExpensesColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptOsagoTests.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TransExprensesColumn.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/AgentComissionExpensesTests.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/ComissionBonusExpensesTests.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/ExpensesTests.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/GPSExpensesTests.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" afterDir="false" /> <change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/InsuranceBonusExpensesTests.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/DoubleArrayComparer.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/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$/.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.Calculation/Columns/KaskoNmperGrColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" beforeDir="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.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> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -64,35 +70,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <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.FinanceFormulas/XIRR.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" /> <option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/AcceptSumColumn.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.Calculation/Columns/DeprecationLPColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/DoubleArrayComparer.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.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.Calculation/Columns/DeprecationLDColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" /> <option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLPTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DeprecationLDTests.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.Tests/Calculation/Columns/DeprecationTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.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/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> </list>
</option> </option>
</component> </component>
@ -134,7 +140,7 @@
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="C#" /> <property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="C#" />
<property name="nodejs_package_manager_path" value="npm" /> <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" /> <property name="vue.rearranger.settings.migration" value="true" />
</component> </component>
<component name="RunManager" selected=".NET Launch Settings Profile.EvoCalculator.Core"> <component name="RunManager" selected=".NET Launch Settings Profile.EvoCalculator.Core">
@ -184,7 +190,8 @@
<workItem from="1602850022326" duration="4617000" /> <workItem from="1602850022326" duration="4617000" />
<workItem from="1602854690202" duration="5777000" /> <workItem from="1602854690202" duration="5777000" />
<workItem from="1603096869934" duration="28730000" /> <workItem from="1603096869934" duration="28730000" />
<workItem from="1603193984674" duration="8173000" /> <workItem from="1603193984674" duration="8364000" />
<workItem from="1603277394554" duration="12579000" />
</task> </task>
<task id="LOCAL-00001" summary="rename: flow"> <task id="LOCAL-00001" summary="rename: flow">
<created>1602593830686</created> <created>1602593830686</created>
@ -232,90 +239,90 @@
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="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" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </state>
<state width="897" height="464" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603130767865" /> <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="371" key="GridCell.Tab.0.bottom" timestamp="1603198290510"> <state width="2517" height="396" key="GridCell.Tab.0.bottom" timestamp="1603289059549">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
<state width="2517" height="371" key="GridCell.Tab.0.center" timestamp="1603198290509"> <state width="2517" height="396" key="GridCell.Tab.0.center" timestamp="1603289059549">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
<state width="2517" height="371" key="GridCell.Tab.0.left" timestamp="1603198290509"> <state width="2517" height="396" key="GridCell.Tab.0.left" timestamp="1603289059549">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
<state width="2517" height="371" key="GridCell.Tab.0.right" timestamp="1603198290510"> <state width="2517" height="396" key="GridCell.Tab.0.right" timestamp="1603289059549">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
<state width="2517" height="371" key="GridCell.Tab.1.bottom" timestamp="1603198290512"> <state width="2517" height="396" key="GridCell.Tab.1.bottom" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.1.center" timestamp="1603198290511"> <state width="2517" height="396" key="GridCell.Tab.1.center" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.1.left" timestamp="1603198290511"> <state width="2517" height="396" key="GridCell.Tab.1.left" timestamp="1603289059549">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059549" />
<state width="2517" height="371" key="GridCell.Tab.1.right" timestamp="1603198290512"> <state width="2517" height="396" key="GridCell.Tab.1.right" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.2.bottom" timestamp="1603198290513"> <state width="2517" height="396" key="GridCell.Tab.2.bottom" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.2.center" timestamp="1603198290513"> <state width="2517" height="396" key="GridCell.Tab.2.center" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.2.left" timestamp="1603198290513"> <state width="2517" height="396" key="GridCell.Tab.2.left" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.2.right" timestamp="1603198290513"> <state width="2517" height="396" key="GridCell.Tab.2.right" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.3.bottom" timestamp="1603198290514"> <state width="2517" height="396" key="GridCell.Tab.3.bottom" timestamp="1603289059551">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
<state width="2517" height="371" key="GridCell.Tab.3.center" timestamp="1603198290514"> <state width="2517" height="396" key="GridCell.Tab.3.center" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.3.left" timestamp="1603198290514"> <state width="2517" height="396" key="GridCell.Tab.3.left" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.3.right" timestamp="1603198290514"> <state width="2517" height="396" key="GridCell.Tab.3.right" timestamp="1603289059550">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059550" />
<state width="2517" height="371" key="GridCell.Tab.4.bottom" timestamp="1603198290515"> <state width="2517" height="396" key="GridCell.Tab.4.bottom" timestamp="1603289059551">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
<state width="2517" height="371" key="GridCell.Tab.4.center" timestamp="1603198290515"> <state width="2517" height="396" key="GridCell.Tab.4.center" timestamp="1603289059551">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
<state width="2517" height="371" key="GridCell.Tab.4.left" timestamp="1603198290514"> <state width="2517" height="396" key="GridCell.Tab.4.left" timestamp="1603289059551">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="396" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603289059551" />
<state width="2517" height="371" key="GridCell.Tab.4.right" timestamp="1603198290515"> <state width="2517" height="396" key="GridCell.Tab.4.right" timestamp="1603289059551">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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"> <state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </state>
@ -328,10 +335,10 @@
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </state>
<state x="1078" y="410" key="RollbackChangesDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603131092253" /> <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" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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"> <state width="498" height="446" key="SwitcherDM" timestamp="1602684835910">
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </state>
@ -352,12 +359,59 @@
<screen x="0" y="0" width="2560" height="1400" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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="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" /> <screen x="0" y="0" width="2560" height="1400" />
</state> </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>
<component name="XDebuggerManager"> <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> <pin-to-top-manager>
<pinned-members> <pinned-members>
<PinnedItemInfo parentTag="Frame#EvoCalculator.Core.Tests.Calculation.Suite.Columns.TLM_GrTests.TLM_GrTest1" memberName="expected" /> <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" /> <PinnedItemInfo parentTag="Frame#EvoCalculator.Core.Tests.Calculation.Suite.Columns.KaskoNmperGrTests.KaskoNmperGrTest2" memberName="preparedValues" />
</pinned-members> </pinned-members>
</pin-to-top-manager> </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> </component>
</project> </project>

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View 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);
}
}
}

View 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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -21,13 +21,20 @@ namespace EvoCalculator.Core.Calculation.Columns
{ {
if (i <= preparedValues.NmperInsurance) 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 else
{ {
Values[i] = preparedValues.InsuranceKasko; Values[i] = 0;
} }
} }
} }

View 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);
}
}
}

View 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);
}
}
}

View File

@ -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);
}
}
}

View 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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -89,5 +89,6 @@ namespace EvoCalculator.Core.Models.Calculation.Models.Prepared
public double AcquisitionExpenses { get; set; } public double AcquisitionExpenses { get; set; }
public double BonusBase { get; set; } public double BonusBase { get; set; }
public double NpvBase { get; set; } public double NpvBase { get; set; }
public double TLMCost { get; set; }
} }
} }

View File

@ -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());
}
}
}

View File

@ -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());
}
}
}

View 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());
}
}
}

View 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());
}
}
}

View File

@ -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());
}
}
}

View File

@ -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());
}
}
}

View File

@ -385,5 +385,242 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var res = kaskoNmperGrColumn.Values; var res = kaskoNmperGrColumn.Values;
Assert.Equal(expected, res); 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());
}
} }
} }

View File

@ -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());
}
}
}

View File

@ -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());
}
}
}

View File

@ -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());
}
}
}

View 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());
}
}
}

View File

@ -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());
}
}
}

View File

@ -9,6 +9,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\EvoCalculator.Core.Calculation\EvoCalculator.Core.Calculation.csproj" />
<ProjectReference Include="..\EvoCalculator.Core.Models\EvoCalculator.Core.Models.csproj" /> <ProjectReference Include="..\EvoCalculator.Core.Models\EvoCalculator.Core.Models.csproj" />
</ItemGroup> </ItemGroup>