コード例 #1
0
 private void CheckPatternViewModelGoToMeal(Pattern expected, PatternViewModel actual, bool tombstone)
 {
     navigator.ClearReceivedCalls();
     sut.Subject.NormalBolus = "2.1";
     actual.GoToMeal.Call();
     if (!tombstone)
         Assert.AreEqual(2.1, insulin.NormalBolus, 0.01);
     navigator.Received().GoToMealEditing(expected.From.Id);
 }
コード例 #2
0
 private void CheckPatternViewModelShowAlternatives(PatternViewModel actual,
     IList<PatternViewModel> alternatives, bool tombstone)
 {
     if (!actual.HasAlternatives)
     {
         Assert.Throws<InvalidOperationException>(() => actual.ShowAlternatives.Call());
         return;
     }
     Assert.IsFalse(sut.CalculationDetailsAlternativesVisible);
     Assert.IsEmpty(sut.CalculationDetailsAlternatives);
     sut.ChangesProperty("CalculationDetailsAlternativesVisible", () =>
     {
         sut.ChangesProperty("CalculationDetailsAlternatives", () =>
         {
             actual.ShowAlternatives.Call();
         });
     });
     if (tombstone)
         TombstoneCreateInitialize();
     Assert.IsTrue(sut.CalculationDetailsAlternativesVisible);
     if (!tombstone)
         Assert.AreSame(alternatives, sut.CalculationDetailsAlternatives);
     Assert.AreEqual(alternatives.Select(pattern => pattern.Factor).ToArray(),
         sut.CalculationDetailsAlternatives.Select(pattern => pattern.Factor).ToArray());
     sut.ChangesProperty("CalculationDetailsAlternativesVisible", () =>
     {
         sut.CloseCalculationDetailsAlternatives();
     });
     Assert.IsFalse(sut.CalculationDetailsAlternativesVisible);
     if (!tombstone)
     {
         actual.ShowAlternatives.Call();
         sut.CloseCalculationDetailsOrAlternativesOnBackButton();
         Assert.IsFalse(sut.CalculationDetailsAlternativesVisible);
         Assert.IsTrue(sut.CalculationDetailsVisible);
     }
 }
コード例 #3
0
 private void CheckPatternViewModel(Pattern expected, PatternViewModel actual,
     IList<PatternViewModel> alternatives, bool tombstone)
 {
     if (!tombstone)
     {
         Assert.AreSame(expected, actual.Pattern);
         Assert.AreSame(expected.Match, actual.Match.Model);
         Assert.AreSame(expected.From, actual.From.Meal);
         Assert.AreSame(expected.Insulin, actual.Insulin.Insulin);
         Assert.AreSame(expected.Before, actual.Before.Sugar);
         Assert.AreSame(expected.After.ElementAt(1), actual.After[1].Sugar);
         Assert.AreSame(expected.For, actual.For.Model);
     }
     Assert.IsNotNull(actual.Match.Scores.First);
     Assert.IsNotNull(actual.From.Scores.First);
     Assert.IsNotNull(actual.From.Name);
     actual.From.Meal.NameId = Guid.Empty;
     Assert.IsNotNull(actual.From.Name);
     Assert.IsNotNull(actual.Insulin.Circumstances);
     Assert.IsNotNull(actual.From.Products);
     Assert.IsNotEmpty(actual.Before.Text);
     Assert.IsNotEmpty(actual.After[1].Text);
     Assert.IsNotNull(actual.For.Scores.First);
     actual.Insulin.NormalBolus = "1";
     CheckPatternViewModelGoToMeal(expected, actual, tombstone: tombstone);
     CheckPatternViewModelGoToInsulin(expected, actual, tombstone: tombstone);
     CheckPatternViewModelShowAlternatives(actual, alternatives, tombstone: tombstone);
     if (tombstone)
     {
         Assert.IsNotNull(actual.Match.ProductName);
         actual.From.AddItem();
         actual.Insulin.Insulin.AddCircumstance(new InsulinCircumstance());
         Assert.IsNotEmpty(actual.Insulin.Insulin.Circumstances);
         Assert.AreNotEqual(0, actual.Before.Sugar.BloodSugarInMgdL);
         Assert.AreNotEqual(0, actual.After[1].Sugar.BloodSugarInMgdL);
         Assert.IsNotNull(actual.For.ProductName);
     }
 }