XIRR Goal Seek | Happy Birthday to me
This commit is contained in:
parent
8c0a87cb3b
commit
affe9fdded
168
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
168
.idea/.idea.EvoCalculator.Core/.idea/workspace.xml
generated
@ -14,35 +14,10 @@
|
|||||||
</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/BaseColumn.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/GPS_GrColumn.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumWithVATColumn.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/TLM_GrColumn.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/VATColumn.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/Bisection.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/GPS_GrTests.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TLM_GrTests.cs" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.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$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateColumn.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateTempColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DateTempColumn.cs" afterDir="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.Calculation/Columns/PercentPaymentColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/PercentPaymentColumn.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/EvoCalculator.Core.FinanceFormulas.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/EvoCalculator.Core.FinanceFormulas.csproj" 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.FinanceFormulas/XIRR.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/XIRR.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Interfaces/IColumn.cs" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Interfaces/IColumnWithXIRR.cs" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/DateColumnTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DateColumnTests.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/DateTempTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DateTempTests.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/KaskoNmperGrTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/KaskoNmperGrTests.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/Columns/PercentPaymentTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/PercentPaymentTests.cs" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Suite/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/Suite/FinanceFormulasTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/FinanceFormulas/FinanceFormulasTests.cs" 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" />
|
||||||
@ -53,22 +28,38 @@
|
|||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
<component name="HighlightingSettingsPerFile">
|
<component name="HighlightingSettingsPerFile">
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/72/Double.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.FinanceFormulas/XIRR.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/89/f5bc57e5/Trident.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/XIRR.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/XIRR.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/af/6846d1ce/GoalSeek.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/af/6846d1ce/GoalSeek.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Constants/Calculation.cs" root0="FORCE_HIGHLIGHTING" />
|
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Constants/Calculation.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9152434B-0FAC-463B-87F2-DD9AF798817F/2e/201d3c41/Assert.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9152434B-0FAC-463B-87F2-DD9AF798817F/2e/201d3c41/Assert.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/8a/efc30f2b/IGoalSeekAlgorithm.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/8a/efc30f2b/IGoalSeekAlgorithm.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/49/DateTime.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/49/DateTime.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/72/Double.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/18D5A60D-361A-4AFD-A431-F772FA87FCC3/d9/b0109e6d/TestInvoker`1.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/18D5A60D-361A-4AFD-A431-F772FA87FCC3/d9/b0109e6d/TestInvoker`1.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/92/f4ccca9d/GoalSeekResult.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/92/f4ccca9d/GoalSeekResult.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock://C:/Users/Chika/Projects/EvoCalculator.Core/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9D995D4A-0EBE-4A93-85A6-BE06CB7C70EE/f6/ada9c10c/FactAttribute.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9D995D4A-0EBE-4A93-85A6-BE06CB7C70EE/f6/ada9c10c/FactAttribute.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/d6/c014ca2d/GoalSeekOptions.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/d6/c014ca2d/GoalSeekOptions.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/89/f5bc57e5/Trident.cs" root0="SKIP_HIGHLIGHTING" />
|
|
||||||
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/31F94AF4-0455-4C4C-BD4F-AB58A9F2D1BF/2C/Sum.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/31F94AF4-0455-4C4C-BD4F-AB58A9F2D1BF/2C/Sum.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
<setting file="mock:///Dummy.cs" root0="SKIP_HIGHLIGHTING" />
|
||||||
</component>
|
</component>
|
||||||
@ -121,11 +112,11 @@
|
|||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.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.Tests/Calculation/Columns/VATColumnTests.cs" />
|
||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" />
|
<option value="$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/GoalXIRR.cs" />
|
||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumColumnTest.cs" />
|
|
||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithXIRR.cs" />
|
|
||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/FinanceFormulas/FinanceFormulasTests.cs" />
|
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/FinanceFormulas/FinanceFormulasTests.cs" />
|
||||||
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.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.Tests/Calculation/Columns/SumColumnTest.cs" />
|
||||||
|
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@ -194,7 +185,7 @@
|
|||||||
<workItem from="1602754684591" duration="13639000" />
|
<workItem from="1602754684591" duration="13639000" />
|
||||||
<workItem from="1602850022326" duration="4617000" />
|
<workItem from="1602850022326" duration="4617000" />
|
||||||
<workItem from="1602854690202" duration="5777000" />
|
<workItem from="1602854690202" duration="5777000" />
|
||||||
<workItem from="1603096869934" duration="23413000" />
|
<workItem from="1603096869934" duration="28356000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="rename: flow">
|
<task id="LOCAL-00001" summary="rename: flow">
|
||||||
<created>1602593830686</created>
|
<created>1602593830686</created>
|
||||||
@ -242,90 +233,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="1603128596492">
|
<state width="897" height="464" key="DebuggerActiveHint" timestamp="1603130767865">
|
||||||
<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="1603128596492" />
|
<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="464" key="GridCell.Tab.0.bottom" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.0.bottom" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.center" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.0.center" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.left" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.0.left" timestamp="1603133451273">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451273" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.right" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.0.right" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.bottom" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.1.bottom" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.center" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.1.center" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.left" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.1.left" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.right" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.1.right" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.bottom" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.2.bottom" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.center" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.2.center" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.left" timestamp="1603128549927">
|
<state width="2517" height="512" key="GridCell.Tab.2.left" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549927" />
|
<state width="2517" height="512" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.right" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.2.right" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.bottom" timestamp="1603128549929">
|
<state width="2517" height="512" key="GridCell.Tab.3.bottom" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549929" />
|
<state width="2517" height="512" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.center" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.3.center" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.left" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.3.left" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.right" timestamp="1603128549928">
|
<state width="2517" height="512" key="GridCell.Tab.3.right" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549928" />
|
<state width="2517" height="512" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.bottom" timestamp="1603128549930">
|
<state width="2517" height="512" key="GridCell.Tab.4.bottom" timestamp="1603133451275">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549930" />
|
<state width="2517" height="512" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451275" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.center" timestamp="1603128549929">
|
<state width="2517" height="512" key="GridCell.Tab.4.center" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549929" />
|
<state width="2517" height="512" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.left" timestamp="1603128549929">
|
<state width="2517" height="512" key="GridCell.Tab.4.left" timestamp="1603133451274">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549929" />
|
<state width="2517" height="512" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451274" />
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.right" timestamp="1603128549929">
|
<state width="2517" height="512" key="GridCell.Tab.4.right" timestamp="1603133451275">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state width="2517" height="464" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603128549929" />
|
<state width="2517" height="512" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603133451275" />
|
||||||
<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>
|
||||||
@ -334,10 +325,10 @@
|
|||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state x="1108" y="385" key="RiderGenerateDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1602853905402" />
|
<state x="1108" y="385" key="RiderGenerateDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1602853905402" />
|
||||||
<state x="1078" y="410" key="RollbackChangesDialog" timestamp="1602761804757">
|
<state x="1078" y="410" key="RollbackChangesDialog" timestamp="1603131092253">
|
||||||
<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="1602761804757" />
|
<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="1603119676785">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
@ -358,10 +349,10 @@
|
|||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
<state x="898" y="0" width="1161" height="1387" key="dock-window-1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1602760039715" />
|
<state x="898" y="0" width="1161" height="1387" key="dock-window-1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1602760039715" />
|
||||||
<state x="930" y="299" width="730" height="801" key="find.popup" timestamp="1603107561928">
|
<state x="930" y="299" width="730" height="801" key="find.popup" timestamp="1603129257494">
|
||||||
<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="1603107561928" />
|
<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="1603129257494" />
|
||||||
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1602850027763">
|
<state x="943" y="315" width="672" height="678" key="search.everywhere.popup" timestamp="1602850027763">
|
||||||
<screen x="0" y="0" width="2560" height="1400" />
|
<screen x="0" y="0" width="2560" height="1400" />
|
||||||
</state>
|
</state>
|
||||||
@ -371,25 +362,34 @@
|
|||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
<breakpoints>
|
<breakpoints>
|
||||||
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
<line-breakpoint enabled="true" type="DotNet Breakpoints">
|
||||||
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs</url>
|
<url>file://$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumColumnTest.cs</url>
|
||||||
<line>41</line>
|
<line>308</line>
|
||||||
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Calculation\Columns\SumColumn.cs" initialLine="41">
|
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\SumColumnTest.cs" initialLine="308">
|
||||||
<startOffsets>
|
<startOffsets>
|
||||||
<option value="1387" />
|
<option value="11212" />
|
||||||
</startOffsets>
|
</startOffsets>
|
||||||
<endOffsets>
|
<endOffsets>
|
||||||
<option value="1417" />
|
<option value="11243" />
|
||||||
</endOffsets>
|
</endOffsets>
|
||||||
</properties>
|
</properties>
|
||||||
<option name="timeStamp" value="27" />
|
<option name="timeStamp" value="36" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</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" />
|
||||||
|
<PinnedItemInfo parentTag="Type#EvoCalculator.Core.Calculation.Columns.BaseColumn`1" memberName="Values" />
|
||||||
<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>
|
||||||
@ -7,7 +7,7 @@ namespace EvoCalculator.Core.Calculation.Columns
|
|||||||
public class BaseColumnWithXIRR : BaseColumn<double>
|
public class BaseColumnWithXIRR : BaseColumn<double>
|
||||||
{
|
{
|
||||||
public double IRR { get; set; }
|
public double IRR { get; set; }
|
||||||
private DateTime[] Dates { get; set; }
|
protected DateTime[] Dates { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public BaseColumnWithXIRR(int count, DateTempColumn dateTempColumn) : base(count)
|
public BaseColumnWithXIRR(int count, DateTempColumn dateTempColumn) : base(count)
|
||||||
|
|||||||
@ -19,14 +19,14 @@ namespace EvoCalculator.Core.Calculation.Columns
|
|||||||
this._percentPaymentColumn = percentPaymentColumn;
|
this._percentPaymentColumn = percentPaymentColumn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ComputeValues()
|
public void ComputeValues(double x)
|
||||||
{
|
{
|
||||||
Values[0] = -this._preparedValues.BaseCost;
|
Values[0] = -this._preparedValues.BaseCost;
|
||||||
Values[1] = this._preparedValues.FirstPaymentSum;
|
Values[1] = this._preparedValues.FirstPaymentSum;
|
||||||
|
|
||||||
for (var i = 3; i < Values.Length - 1; i++)
|
for (var i = 2; i < Values.Length - 1; i++)
|
||||||
{
|
{
|
||||||
Values[i] = Values[2] * _percentPaymentColumn.Values[i] / 100;
|
Values[i] = x * _percentPaymentColumn.Values[i] / 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
Values[^1] = _preparedValues.LastPaymentSum;
|
Values[^1] = _preparedValues.LastPaymentSum;
|
||||||
@ -34,8 +34,8 @@ namespace EvoCalculator.Core.Calculation.Columns
|
|||||||
|
|
||||||
public decimal Calculate(decimal inputVariable)
|
public decimal Calculate(decimal inputVariable)
|
||||||
{
|
{
|
||||||
Values[2] = Convert.ToDouble(inputVariable);
|
var x = Convert.ToDouble(inputVariable);
|
||||||
this.ComputeValues();
|
this.ComputeValues(x);
|
||||||
var XIRR = new XIRR(Flows);
|
var XIRR = new XIRR(Flows);
|
||||||
IRR = XIRR.GetResult();
|
IRR = XIRR.GetResult();
|
||||||
|
|
||||||
@ -46,7 +46,14 @@ namespace EvoCalculator.Core.Calculation.Columns
|
|||||||
{
|
{
|
||||||
var goalSeek = new GoalSeek(this);
|
var goalSeek = new GoalSeek(this);
|
||||||
goalSeek.SeekResult(requiredIRR,
|
goalSeek.SeekResult(requiredIRR,
|
||||||
new GoalSeekOptions(initialTineSpacing: 10000));
|
new GoalSeekOptions(
|
||||||
|
startingStabPoint: Convert.ToDecimal(this._preparedValues.BaseCost / this._preparedValues.Nmper)
|
||||||
|
, tineExplorePercentage: 10
|
||||||
|
// , maximumAttempts: 10000
|
||||||
|
// , initialTineSpacing: 1
|
||||||
|
// , focusPercentage: 100
|
||||||
|
// , trimFinalInputValue: true
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,5 +178,135 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
|
|||||||
var values = sumColumn.Values;
|
var values = sumColumn.Values;
|
||||||
Assert.Equal(expected, values);
|
Assert.Equal(expected, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void SumColumnTest2()
|
||||||
|
{
|
||||||
|
var preparedValues =
|
||||||
|
new PreparedValues()
|
||||||
|
{
|
||||||
|
BaseCost = 2500000,
|
||||||
|
FirstPaymentSum = 625000,
|
||||||
|
Nmper = 12,
|
||||||
|
LastPaymentSum = 25000,
|
||||||
|
IrrExpected = 0.304
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var percentPaymentColumn = new PercentPaymentColumn(preparedValues.Nmper + 1)
|
||||||
|
{
|
||||||
|
Values = new[]
|
||||||
|
{
|
||||||
|
0.00,
|
||||||
|
0.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
100.00,
|
||||||
|
0.00,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var dateTempColumn = new DateTempColumn(67)
|
||||||
|
{
|
||||||
|
Values = new[]
|
||||||
|
{
|
||||||
|
new DateTime(2020, 10, 19),
|
||||||
|
new DateTime(2020, 10, 19),
|
||||||
|
new DateTime(2020, 11, 19),
|
||||||
|
new DateTime(2020, 12, 19),
|
||||||
|
new DateTime(2021, 1, 19),
|
||||||
|
new DateTime(2021, 2, 19),
|
||||||
|
new DateTime(2021, 3, 19),
|
||||||
|
new DateTime(2021, 4, 19),
|
||||||
|
new DateTime(2021, 5, 19),
|
||||||
|
new DateTime(2021, 6, 19),
|
||||||
|
new DateTime(2021, 7, 19),
|
||||||
|
new DateTime(2021, 8, 19),
|
||||||
|
new DateTime(2021, 9, 19),
|
||||||
|
new DateTime(2021, 10, 19),
|
||||||
|
new DateTime(2021, 11, 19),
|
||||||
|
new DateTime(2021, 12, 19),
|
||||||
|
new DateTime(2022, 1, 19),
|
||||||
|
new DateTime(2022, 2, 19),
|
||||||
|
new DateTime(2022, 3, 19),
|
||||||
|
new DateTime(2022, 4, 19),
|
||||||
|
new DateTime(2022, 5, 19),
|
||||||
|
new DateTime(2022, 6, 19),
|
||||||
|
new DateTime(2022, 7, 19),
|
||||||
|
new DateTime(2022, 8, 19),
|
||||||
|
new DateTime(2022, 9, 19),
|
||||||
|
new DateTime(2022, 10, 19),
|
||||||
|
new DateTime(2022, 11, 19),
|
||||||
|
new DateTime(2022, 12, 19),
|
||||||
|
new DateTime(2023, 1, 19),
|
||||||
|
new DateTime(2023, 2, 19),
|
||||||
|
new DateTime(2023, 3, 19),
|
||||||
|
new DateTime(2023, 4, 19),
|
||||||
|
new DateTime(2023, 5, 19),
|
||||||
|
new DateTime(2023, 6, 19),
|
||||||
|
new DateTime(2023, 7, 19),
|
||||||
|
new DateTime(2023, 8, 19),
|
||||||
|
new DateTime(2023, 9, 19),
|
||||||
|
new DateTime(2023, 10, 19),
|
||||||
|
new DateTime(2023, 11, 19),
|
||||||
|
new DateTime(2023, 12, 19),
|
||||||
|
new DateTime(2024, 1, 19),
|
||||||
|
new DateTime(2024, 2, 19),
|
||||||
|
new DateTime(2024, 3, 19),
|
||||||
|
new DateTime(2024, 4, 19),
|
||||||
|
new DateTime(2024, 5, 19),
|
||||||
|
new DateTime(2024, 6, 19),
|
||||||
|
new DateTime(2024, 7, 19),
|
||||||
|
new DateTime(2024, 8, 19),
|
||||||
|
new DateTime(2024, 9, 19),
|
||||||
|
new DateTime(2024, 10, 19),
|
||||||
|
new DateTime(2024, 11, 19),
|
||||||
|
new DateTime(2024, 12, 19),
|
||||||
|
new DateTime(2025, 1, 19),
|
||||||
|
new DateTime(2025, 2, 19),
|
||||||
|
new DateTime(2025, 3, 19),
|
||||||
|
new DateTime(2025, 4, 19),
|
||||||
|
new DateTime(2025, 5, 19),
|
||||||
|
new DateTime(2025, 6, 19),
|
||||||
|
new DateTime(2025, 7, 19),
|
||||||
|
new DateTime(2025, 8, 19),
|
||||||
|
new DateTime(2025, 9, 19),
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var expected = new[]
|
||||||
|
{
|
||||||
|
-2500000,
|
||||||
|
625000,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
209113.783333333,
|
||||||
|
25000
|
||||||
|
};
|
||||||
|
|
||||||
|
var sumColumn = new SumColumn(
|
||||||
|
preparedValues.Nmper + 1
|
||||||
|
, dateTempColumn
|
||||||
|
, preparedValues
|
||||||
|
, percentPaymentColumn);
|
||||||
|
sumColumn.ComputeValues(Convert.ToDecimal(preparedValues.IrrExpected));
|
||||||
|
var values = sumColumn.Values;
|
||||||
|
Assert.Equal(expected, values);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user