public void CalculateCredit_Exception_CreditScore() { var customer = new Customer(300, 2, 1, 44); var calculator = new CreditCalculator(); Assert.Throws <InvalidCreditScoreException>(() => calculator.CalculateCredit(customer)); }
public void Calculate_Credit_John() { var john = new Customer(750, 1, 4, 29); var calculator = new CreditCalculator(); Assert.Equal(400, calculator.CalculateCredit(john)); }
private void Calculation_Click(object sender, RoutedEventArgs e) { try { if (datePickerCalc.Text == "") { throw new Exception("Вы не указали дату окончания кредита!"); } if (Convert.ToDateTime(datePickerCalc.Text) <= DateTime.Now) { throw new Exception("Дата окончания кредита указана неверно!"); } if (_consumerCreditModel.TypePayment == "Annuitet") { SumCredit.Content = CreditCalculator.AnnuitetSumPayment(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitet(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; } else { SumCredit.Content = CreditCalculator.DifferSumPayment(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitet(Convert.ToDecimal(sliderSum.Value), _consumerCreditModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; MessageBox.Show("Расчет не точен т.к. при дифференцируемых платежах ежемесячный платеж может отличаться!"); } MessageBox.Show("Расчет произведён!"); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
public void CalculateCreditTest() { var creditCalculator = new CreditCalculator(); var creditInfo = creditCalculator.Calculate(1200, 0, 10, 12, 200); Assert.AreEqual(Math.Round(creditInfo.PaymentMonth, 0), 106); Assert.AreEqual(Math.Round(creditInfo.FullPrice, 0), 1266); Assert.IsTrue(creditInfo.IsPossible); creditInfo = creditCalculator.Calculate(1200, 0, 10, 12, 100); Assert.IsFalse(creditInfo.IsPossible); }
public void Initialize() { var memoryService = new PhoneMemoryService(); var iconsService = new IconsService(); var statisticsManager = new StatisticsManager(); var options = new Options(memoryService); var dataContext = new DataContext(memoryService); var skyDriveFileManager = new SkyDriveFileManager(memoryService); var skyDriveService = new SkyDriveService(dataContext, skyDriveFileManager); var csvDataExportService = new CsvDataExportService(memoryService); var cashService = new CashService(dataContext); var tileService = new TileService(dataContext); var categoryUsageService = new CategoryUsageService(dataContext.Operations); var dependenciesService = new DependenciesService(dataContext, iconsService); var defaultCategoriesInitializer = new DefaultCategoriesInitializer(dataContext, iconsService); var accountInitializer = new AccountsInitializer(dataContext); var ratesHtmlParser = new RatesHtmlParser(); var ratesWebClient = new RatesWebClient(); var ratesService = new RatesService(memoryService, ratesHtmlParser, ratesWebClient); var depositCalculator = new DepositCalculator(); var creaditCalculator = new CreditCalculator(); _container.RegisterInstance <IPhoneMemoryService>(memoryService); _container.RegisterInstance <IIconsService>(iconsService); _container.RegisterInstance <IStatisticsManager>(statisticsManager); _container.RegisterInstance <Options>(options); _container.RegisterInstance <IDataContext>(dataContext); _container.RegisterInstance <ISkyDriveService>(skyDriveService); _container.RegisterInstance <IDataExportService>(csvDataExportService); _container.RegisterInstance <ICashService>(cashService); _container.RegisterInstance <IRatesService>(ratesService); _container.RegisterInstance <DepositCalculator>(depositCalculator); _container.RegisterInstance <CreditCalculator>(creaditCalculator); }
private void Calculation_Click(object sender, RoutedEventArgs e) { try { if (datePickerCalc.Text == "") { throw new Exception("Вы не указали дату окончания ипотеки!"); } if (Convert.ToDateTime(datePickerCalc.Text) <= DateTime.Now) { throw new Exception("Дата окончания ипотеки указана неверно!"); } SumCredit.Content = CreditCalculator.AnnuitetSumPaymentWithInitialFee(Convert.ToDecimal(sliderSum.Value), Convert.ToDecimal(sliderFee.Value), _mortrageModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; MonthlyPayment.Content = CreditCalculator.MonthlyPaymentAnnuitetWithInitialFee(Convert.ToDecimal(sliderSum.Value), Convert.ToDecimal(sliderFee.Value), _mortrageModel.AnnualRate / 100, DateTime.Now, Convert.ToDateTime(datePickerCalc.Text)).ToString("N1") + " ₽"; MessageBox.Show("Расчет произведён!"); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
public CreditViewModel() { _statistics = App.Container.GetInstance <IStatisticsManager>(); _calculator = App.Container.GetInstance <CreditCalculator>(); }