public CalculatorPage() { InitializeComponent(); On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true); VM = new CalculatorPageViewModel(_tipCalculator, _tipCalcTransaction, _tipDatabase); InitializeEventHandlers(); BindingContext = VM; }
public void SetTipText_InValidEntry_CalculatorContainsZeroForTip() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TipTxt = "ABCD" }; Assert.AreEqual(0, myCalculator.Tip); }
public void SetTipPercent_ValidPositiveNumericalEntry_CalculatorContainsMatchingTipDecimalValue() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TipPercent = 10 }; Assert.AreEqual(myCalculatorViewModel.TipPercent, myCalculator.TipPercent); }
public CalculatorPage() { InitializeComponent(); On <iOS>().SetUseSafeArea(true); EntryLaiSuatPerYear.Text = Language.lai_suat + " (%/" + Language.year.ToLower() + ")"; this.BindingContext = viewModel = new CalculatorPageViewModel(); ModalCalculatorResult.Body.BindingContext = viewModel; Init(); }
public void SetTipText_ValidNegativeNumericalEntry_CalculatorContainsMatchingTipDecimalValue() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TipTxt = "-5.34" }; Assert.AreEqual(decimal.Parse(myCalculatorViewModel.TipTxt), myCalculator.Tip); }
public void SplitCheck_ThreePersons_TotalPerPersonTxtEqualsOneHalfGrandTotalTxt() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "99.00", TipPercent = 0, NumberOfPersons = 3 }; Assert.AreEqual("33.00", myCalculatorViewModel.TotalPerPersonTxt); }
public void SplitCheck_OnePerson_TotalPerPersonTxtEqualsGrandTotalTxt() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "149.36", TipPercent = 15, NumberOfPersons = 1 }; Assert.AreEqual(myCalculatorViewModel.TotalPerPersonTxt, myCalculatorViewModel.GrandTotalTxt); }
public async Task SaveTipTransaction_ValidTip_PositiveTipTransactionIdAsync() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "100.00", TipPercent = 10, }; int result = await myCalculatorViewModel.SaveTipTransactionAsync(); Assert.IsTrue(result > 0); }
public void RoundTip_Total49_36TipPercent18_GrandTotal176() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "149.36", TipPercent = 18 }; myCalculatorViewModel.RoundTotal(); Assert.AreEqual("176.00", myCalculatorViewModel.GrandTotalTxt); Assert.AreEqual("26.64", myCalculatorViewModel.TipTxt); }
public void CalculateTipPercentFor6_30On35Total_ValidInput_TipPercentageIs18_TotalIs41_30Dollars() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "35", TipTxt = "6.30" }; Assert.AreEqual("6.30", myCalculatorViewModel.TipTxt); Assert.AreEqual(18, myCalculatorViewModel.TipPercent); Assert.AreEqual("18.0", myCalculatorViewModel.TipPercentTxt); Assert.AreEqual("41.30", myCalculatorViewModel.GrandTotalTxt); }
public void CalculateTipPercentageFor10DollarTipOn100Total_ValidInput_TipPercentageIs10_TotalIs110Dollars() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "100", TipTxt = "10" }; Assert.AreEqual("10", myCalculatorViewModel.TipTxt); Assert.AreEqual(10, myCalculatorViewModel.TipPercent); Assert.AreEqual("10.0", myCalculatorViewModel.TipPercentTxt); Assert.AreEqual("110.00", myCalculatorViewModel.GrandTotalTxt); }
public void RoundTipThenUnRoundTip_Total49_36TipPercent15_GrandTotal171_76() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "149.36", TipPercent = 15 }; myCalculatorViewModel.RoundTotal(); myCalculatorViewModel.UnRoundTotal(); Assert.AreEqual("171.76", myCalculatorViewModel.GrandTotalTxt); Assert.AreEqual("22.40", myCalculatorViewModel.TipTxt); }
public async Task SaveTipTransaction_ValidTip_CalculatorAndTransactionValuesMatchAsync() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "100.00", TipPercent = 10, }; int result = await myCalculatorViewModel.SaveTipTransactionAsync(); Assert.AreEqual(myCalculator.GrandTotal, myTipCalcTransaction.GrandTotal); Assert.AreEqual(myCalculator.NumberOfPersons, myTipCalcTransaction.NumOfPersons); Assert.AreEqual(myCalculator.Tip, myTipCalcTransaction.Tip); Assert.AreEqual(myCalculator.TipPercent, myTipCalcTransaction.TipPercent); Assert.AreEqual(myCalculator.Total, myTipCalcTransaction.Total); Assert.AreEqual(myCalculator.TotalPerPerson, myTipCalcTransaction.TotalPerPerson); Assert.AreEqual(false, myTipCalcTransaction.Split); Assert.IsNotNull(myTipCalcTransaction.Split); }
public void ResetCalulator_ValidViewModel_CalculatorResetToInitialState() { var myCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase) { TotalTxt = "35", TipTxt = "6.30" }; var newCalculator = new TipCalculator(); var newCalculatorViewModel = new CalculatorPageViewModel(myCalculator, myTipCalcTransaction, myTipDatabase); myCalculatorViewModel.ResetCalculator(); Assert.AreEqual(newCalculatorViewModel.TotalTxt, myCalculatorViewModel.TotalTxt); Assert.AreEqual(newCalculatorViewModel.TipTxt, myCalculatorViewModel.TipTxt); Assert.AreEqual(newCalculatorViewModel.TipPercent, myCalculatorViewModel.TipPercent); Assert.AreEqual(newCalculatorViewModel.TipPercentTxt, myCalculatorViewModel.TipPercentTxt); Assert.AreEqual(newCalculatorViewModel.GrandTotalTxt, myCalculatorViewModel.GrandTotalTxt); }
public IActionResult Index() { // Удалим папку с пользовательскими распределениями при загрузке главной страницы. Если ее не было то создадим. var customDistrFolderName = Path.Combine(Directory.GetCurrentDirectory(), CUSTOM_DISTR_FOLDER_NAME); if (Directory.Exists(customDistrFolderName)) { Directory.Delete(customDistrFolderName, true); } var shortDistrNamesByFullNames = DistributionNames.FullDistrNamesByShortNames.ToDictionary(k => k.Value, v => v.Key); var viewModel = new CalculatorPageViewModel { ParametersByDistributionsName = DistributionNames.ParametersByDistributionsName, ShortDistrNamesByFullNames = shortDistrNamesByFullNames }; return(View(viewModel)); }
public CalculatorPage() { this.InitializeComponent(); DataContext = new CalculatorPageViewModel(); }