[InlineData("0,1", new[] { Ca.Dec, Ca.Nr1 })]                         // Decimal
        public void ShowExpectedOutputText_WhenActionsArePerformedAfterCalculationOfEndNumber(string expectedOutputTextAfterAllOperations, Ca[] actions)
        {
            var vm = MockFactories.FinCalcViewModelWithCalculatorImplementationFactory(out _);

            this.PerformBasicEndCapitalCalculation(vm);
            FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations, vm);
        }
Exemplo n.º 2
0
        public void UpdateRepaymentRate_WhenPressedLong()
        {
            var testSequences = new List <(string, Ca[])>
            {
                // Set dependent numbers so that repayment rate can be calculated and get repayment rate from memory.
                ("0,74", new[] { Ca.Nr1, Ca.Nr0, Ca.SetYears, Ca.Nr2, Ca.SetInt, Ca.Nr1, Ca.Nr5, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.SetStart, Ca.Nr34, Ca.Nr0, Ca.Alg, Ca.SetRate, Ca.GetRep }),
            };

            FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(testSequences);
        }
Exemplo n.º 3
0
        public void NotUpdateRepayment_WhenLongPressed()
        {
            var testSequences = new List <(string, Ca[])>
            {
                // Set dependent numbers so that repayment rate can be calculated and get repayment rate from memory.
                ("0,74", new[] { Ca.Nr1, Ca.Nr0, Ca.SetYears, Ca.Nr2, Ca.SetInt, Ca.Nr1, Ca.Nr5, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.SetStart, Ca.Nr34, Ca.Nr0, Ca.Alg, Ca.SetRate, Ca.GetRep }),

                // Change a dependent value and see that rate did not change.
                ("-340,00", new[] { Ca.Nr1, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.Nr0, Ca.SetStart, Ca.GetRate }),

                // See that repayment rate changed.
                ("2,10", new[] { Ca.GetRep }),
            };

            FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(testSequences);
        }
Exemplo n.º 4
0
        public void NotUpdateEffectiveInterestRate_WhenPressedLong()
        {
            var testSequences = new List <(string, Ca[])>
            {
                // Set interest of 1 and RPA of 2
                (null, new[] { Ca.Nr1, Ca.SetInt, Ca.Nr2, Ca.SetRpa }),

                // Nominal interest rate gets recalculated
                ("0,998", new[] { Ca.GetNom }),

                // Check that effective interest was not changed
                ("1,000", new[] { Ca.GetInt }),
            };

            FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(testSequences);
        }
Exemplo n.º 5
0
 public void UpdateNominalInterestRate_WhenPressedShort(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);
 [InlineData("4,", new[] { Ca.Nr1, Ca.OpD, Ca.Nr0, Ca.Calc, Ca.Nr2, Ca.OpM, Ca.Nr2, Ca.Calc })]             // A Calculation that throws followed by another calculation -> should not be harmed by this because of a reset after a throw.
 public void ShowExpectedOutputText_WhenLastActionWasCalculate(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);
 public void ShowExpectedOutputText_AfterRatesPerAnnumAreSet(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);
 [InlineData("0,1", new[] { Ca.Nr2, Ca.Nr0, Ca.Nr0, Ca.OpM, Ca.Nr5, Ca.SetEnd, Ca.Dec, Ca.Nr1 })]         // AlgebSign
 public void UseCurrentOutputAsFirstNumber(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);
 public void ShowExpectedOutputText_WhenFractionalPartNeedsFilling(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);
 public void ShowExpectedOutputText_WhenOutputIsRoundedBecauseInputOrCalculationProducesMoreFractionalDigitsThanDisplayable(string expectedOutputTextAfterAllOperations, double expectedNumberAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations, expectedNumberAfterAllOperations, this.Tolerance);
 public void ShowExpectedOutputText_WhenBasicArithmeticIsPerformed(string expectedOutputTextAfterAllOperations, double expectedNumberAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations, expectedNumberAfterAllOperations, this.Tolerance);
Exemplo n.º 12
0
 public void TriggerPercentCalculation_WhenAllConditionsAreMet(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);