[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); }
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); }
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); }
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); }
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);
public void TriggerPercentCalculation_WhenAllConditionsAreMet(string expectedOutputTextAfterAllOperations, Ca[] actions) => FinCalcViewModelHelper.ExecuteDummyActionsAndCheckOutput(actions, expectedOutputTextAfterAllOperations);