void ReturnDummy()
        {
            double pay = MortgageCalculator.CalculatesMortgageTime(10000, 0.045, 5, 3);

            output.WriteLine(pay.ToString(CultureInfo.InvariantCulture));
            Assert.True(true);
        }
Пример #2
0
 public MortageFragment()
 {
     this.app = CalculatorApp.Default;
     this.calc = new MortgageCalculator ();
     this.calc.Interest = 4.5f / 12f;
     this.calc.Periods = 30 * 12;
 }
Пример #3
0
        private void CalculateButton_Click(object sender, EventArgs e)
        {
            try
            {
                MortCalc = new MortgageCalculator();
                MortCalc.MyMortgageAmount = double.Parse(MortAmountBox.Text);
                if (MortCalc.MyMortgageAmount > 5000000 || MortCalc.MyMortgageAmount < 10000)
                {
                    MessageBox.Show("Mortgage Amount cannot be greater than 5 million or less than 10,000");
                    return;
                }
                MortCalc.MyInterestRate = double.Parse(InterestRateAmountBox.Text);
                if (MortCalc.MyInterestRate > 1)
                {
                    MessageBox.Show("Interest Rate cannot be greater than 100%");
                    return;
                }
                MortCalc.MyMortgagePeriod = double.Parse(MortPeriodBox.Text);
                if (MortCalc.MyMortgagePeriod > 65 || MortCalc.MyMortgagePeriod < 1)
                {
                    MessageBox.Show("Mortgage Period cannot be greater than 65 years or less than 1 year.");
                    return;
                }

                double result = MortCalc.MortgagePaymentCalculator(MortCalc.MyMortgageAmount, MortCalc.MyInterestRate, MortCalc.MyMortgagePeriod);

                MonthMortPaymentBox.Text = result.ToString("c");
                CalcList.Add(MortCalc);
            }
            catch (Exception) {
                MessageBox.Show("Invalid Entry");
            }
        }
Пример #4
0
 public MortageFragment()
 {
     this.app           = CalculatorApp.Default;
     this.calc          = new MortgageCalculator();
     this.calc.Interest = 4.5f / 12f;
     this.calc.Periods  = 30 * 12;
 }
        void CalculateMortgageTest()
        {
            double paymentExpected = 506.69;
            double paymentGenered  = MortgageCalculator.CalculatesMortgageTime(100000, 0.045, 30, 1);

            Assert.Equal(paymentExpected, Math.Round(paymentGenered, 2));
        }
Пример #6
0
        DataManager()
        {
            // Must be initialized first to log errors
            ErrorLog = new List <string>();

            Settings   = new AppSettings();
            Calculator = new MortgageCalculator();
        }
Пример #7
0
        public void OnPost()
        {
            string principal = Request.Form["principalString"];
            string years     = Request.Form["yearString"];
            string rate      = Request.Form["rateString"];

            double showMonthlyPayment = MortgageCalculator.CalculateMonthlyPaymentFunction(principal, years, rate);

            Msg = $"${showMonthlyPayment} is your monthly payment over the course of {years} years at a rate of {rate}% interest.";
        }
Пример #8
0
        public void TestCorrectMonthlyPaymentCalculation()
        {
            MortgageCalculator calc = new MortgageCalculator();

            calc.MyMortgageAmount = 100000;
            calc.MyInterestRate   = 0.0392;
            calc.MyMortgagePeriod = 30;

            double expectedResult = 472.8147315508823;

            Assert.AreEqual(expectedResult, calc.MortgagePaymentCalculator(calc.MyMortgageAmount, calc.MyInterestRate, calc.MyMortgagePeriod));
        }
        public async Task CalculateMontlyRateAsync_ParametersOk_Calculate(decimal mortgageLoan,
                                                                          double annualInterest, uint numberOfPayments, decimal rate)
        {
            var logFactoryMock = new Mock <ILoggerFactory>();
            var logMock        = new Mock <ILogger>();

            logFactoryMock
            .Setup(e => e.CreateLogger(nameof(MortgageCalculator)))
            .Returns(logMock.Object);

            var target = new MortgageCalculator(logFactoryMock.Object);

            var actual = await target.CalculateMontlyRateAsync(mortgageLoan, annualInterest, numberOfPayments);

            Assert.True(actual.Succeed);
            Assert.Null(actual.Error);
            Assert.Equal(actual.Result.Value, rate);
        }
        public MainWindowViewModel(RealFileProvider realFileProvider)
        {
            History    = new ObservableCollection <MortgageCalculator>();
            Calculator = new MortgageCalculator();
            Calculator.MyMortgageAmount = 350000;
            Calculator.MyInterestRate   = 0.04;
            Calculator.MyMortgagePeriod = 30;
            this.fileProvider           = realFileProvider;

            CalculateCommand = new DelegateCommand(() =>
            {
                Calculator.MortgagePaymentCalculator();
                History.Add(Calculator);
                ExportToExcel.RaiseCanExecuteChanged();

                Calculator = Calculator.Clone() as MortgageCalculator;
                RaisePropertyChanged(nameof(Calculator));
            });
        }
        public async Task CalculateMontlyRateAsync_AnnualInterestLessThanZero_Error()
        {
            decimal mortgageLoan     = 100000;
            double  annualInterest   = -10;
            uint    numberOfPayments = 10;

            var logFactoryMock = new Mock <ILoggerFactory>();
            var logMock        = new Mock <ILogger>();

            logFactoryMock
            .Setup(e => e.CreateLogger(nameof(MortgageCalculator)))
            .Returns(logMock.Object);

            var target = new MortgageCalculator(logFactoryMock.Object);

            var actual = await target.CalculateMontlyRateAsync(mortgageLoan, annualInterest, numberOfPayments);

            Assert.False(actual.Succeed);
            Assert.NotNull(actual.Error);
            Assert.Equal(actual.Error.Code, MortgageCalculatorErrors.AnnualInterestNotValid);
        }
Пример #12
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        monthlyPaymentLabel1.Visible = false;
        monthlyPaymentLabel2.Visible = false;

        double principle;
        double rate;
        int numPayments;

        bool principleSuc = Double.TryParse(principleBox.Text, out principle);
        bool rateSuc = Double.TryParse(rateBox.Text, out rate);
        bool paySuc = Int32.TryParse(paymentNumBox.Text, out numPayments);

        MortgageCalculator myCalculator = new MortgageCalculator(principle, rate, numPayments);

        monthlyPaymentLabel2.Text = myCalculator.ToString();

        if (Page.IsValid)
        {
            monthlyPaymentLabel1.Visible = true;
            monthlyPaymentLabel2.Visible = true;
        }
    }
 public void TestInitialize()
 {
     mortgageCalculator = new MortgageCalculator();
 }
 public void TestCleanup()
 {
     mortgageCalculator = null;
 }
 public void TestInitialize()
 {
     mortgageCalculator = new MortgageCalculator();
 }
 public void TestCleanup()
 {
     mortgageCalculator = null;
 }
Пример #17
0
 public MainManager()
 {
     Settings   = DataManager.Instance.Settings;
     Calculator = DataManager.Instance.Calculator;
 }