public void Id() { var factories = Substitute.For<Factories>(); var sugar = new Models.Sugar { Id = Guid.NewGuid() }; var sut = new SugarViewModel(sugar, factories); Assert.AreEqual(sugar.Id, sut.Id); }
public void DateTimeTest() { var factories = Substitute.For<Factories>(); var sut = new SugarViewModel(new Models.Sugar(), factories); var universal = DateTime.UtcNow; sut.ChangesProperty("DateTime", () => { sut.DateTime = universal; }); Assert.AreEqual(universal.ToLocalTime(), sut.DateTime); }
public void TestInitialize() { sut = new Sut(); var sugar = new Sugar(); var factories = Substitute.For<Factories>(); sugarViewModel = new SugarViewModel(sugar, factories); var stateProvider = Substitute.For<StateProvider>(); stateProvider.State.Returns(new Dictionary<string, object>()); factories.Settings.Returns(new Settings()); sut.StateProvider = stateProvider; }
public void TextAndText2() { var factories = Substitute.For<Factories>(); factories.Settings.Returns(new Settings()); var sut = new SugarViewModel(new Models.Sugar { BloodSugar = 120 }, factories); Assert.AreEqual("120 mg/dL", sut.Text); factories.Settings.SugarUnit = SugarUnit.mmolL; sut.BloodSugar = "5.5"; Assert.AreEqual(sut.BloodSugar + " mmol/L", sut.Text); Assert.IsEmpty(sut.Text2); sut.BloodSugar = ""; Assert.AreEqual("", sut.Text); Assert.IsEmpty(sut.Text2); }
public void BloodSugarWrapperDoesNotNotifyAboutItself() { // This behaviour is useful for entering decimal point numbers into fields with binding on each key press. var factories = Substitute.For<Factories>(); factories.Settings.Returns(new Settings()); var sut = new SugarViewModel(new Models.Sugar { BloodSugar = 100 }, factories); Assert.AreEqual(100.ToString(), sut.BloodSugarWrapper); sut.ChangesProperty("BloodSugar", () => { sut.NotChangesProperty("BloodSugarWrapper", () => { sut.BloodSugarWrapper = (100.10).ToString(); }); }); Assert.AreEqual((100.10).ToString(), sut.BloodSugar); Assert.AreEqual((100.10).ToString(), sut.BloodSugarWrapper); sut.ChangesProperty("BloodSugarWrapper", () => sut.BloodSugar = 100.ToString()); }
public PatternViewModel(Pattern pattern, Factories factories, IList<InsulinCircumstanceViewModel> allCircumstances, bool hasAlternatives, IEnumerable<MealNameViewModel> names, MealNameViewModel defaultName, Navigator navigator, Action save, Action showAlternatives) { Pattern = pattern; Match = new MealItemViewModel(pattern.Match, factories); From = new MealViewModel(pattern.From, factories); From.Names = names; From.DefaultName = defaultName; Insulin = new InsulinViewModel(pattern.Insulin, factories, allCircumstances: allCircumstances); Before = new SugarViewModel(pattern.Before, factories); After = pattern.After .Select(sugar => new SugarViewModel(sugar, factories)) .ToList(); For = new MealItemViewModel(pattern.For, factories); HasAlternatives = hasAlternatives; this.navigator = navigator; this.save = save; this.showAlternatives = showAlternatives; }
public void ChooseWhenSugar() { var sugar = new Sugar { BloodSugar = 100 }; var viewModel = new SugarViewModel(sugar, factories); sut.Choose(viewModel); sugarEditing.Received().Show(Arg.Is<SugarViewModel>(vm => "100" == vm.BloodSugar)); }
public void ChooseCreatesACopyOfSugar() { var sugar = new Sugar { BloodSugar = 100 }; var viewModel = new SugarViewModel(sugar, factories); sut.Choose(viewModel); sugarEditing.Subject.BloodSugar = "110"; Assert.AreEqual(100, sugar.BloodSugar); }
public void ChooseAndSugarEditingDelete() { var sugar = new Sugar(); factories.Sugars.Add(sugar); sut.Load(); var viewModel = new SugarViewModel(sugar, factories); sut.Choose(viewModel); Assert.IsTrue(sugarEditing.CanDelete); sugarEditing.Delete.Call(); Assert.IsEmpty(factories.Sugars); Assert.IsEmpty(sut.Items); }
public void Choose(JournalItemViewModel vm) { if (vm is SugarViewModel) { editedSugar = (vm as SugarViewModel).Sugar; var sugarCopy = editedSugar.GetCopy(); editedSugarViewModel = new SugarViewModel(sugarCopy, this.factories); sugarEditing.Show(editedSugarViewModel); } else vm.Choose(Navigator); choosedAnAdded = false; }
public void ChooseAndSugarEditingConfirm() { var sugar = new Sugar { BloodSugar = 100 }; factories.Sugars.Add(sugar); sut.Load(); var items = sut.Items.ToList(); var viewModel = new SugarViewModel(sugar, factories); sut.Choose(viewModel); sugarEditing.Subject.BloodSugar = "110"; sugarEditing.Confirm.Call(); Assert.AreEqual(110, sugar.BloodSugar); Assert.AreNotEqual(items, sut.Items, "Should refresh"); }
public void WhenCurrentSugarSetToOutsideConstainsTheValueIsConstrained( string enteredValue, SugarUnit sugarUnit, string expectedValue) { var factories = Substitute.For<Factories>(); var settings = new Settings { SugarUnit = sugarUnit }; factories.Settings.Returns(settings); var sut = new SugarViewModel(new Models.Sugar(), factories); sut.BloodSugar = enteredValue; Assert.AreEqual(expectedValue, sut.BloodSugar); }
public void WhenBloodSugarSet_ReturnsItsValue() { var factories = Substitute.For<Factories>(); factories.Settings.Returns(new Settings()); var sut = new SugarViewModel(new Models.Sugar(), factories); sut.BloodSugar = (100.10).ToString(); Assert.AreEqual((100.10).ToString(), sut.BloodSugar); }
public void DateFormat() { var factories = Substitute.For<Factories>(); var sut = new SugarViewModel(new Models.Sugar(), factories); Assert.IsTrue(sut.DateFormat.Contains("yy")); }
public void TombstoneAndUntombstoneWhenSugarEditing() { var sugar = new Sugar { DateTime = DateTime.Now }; factories.Sugars.Add(sugar); var viewModel = new SugarViewModel(sugar, factories); sut.Load(); sut.Choose(viewModel); viewModel.BloodSugar = "100"; sut.Tombstone(); sugarEditing.Cancel.Call(); sut.Untombstone(); Assert.IsTrue(sugarEditing.IsVisible); sugarEditing.Confirm.Call(); Assert.AreEqual(100, sugar.BloodSugar); }
public void ChooseAndSugarEditingCancel() { var sugar = new Sugar(); factories.Sugars.Add(sugar); sut.Load(); var viewModel = new SugarViewModel(sugar, factories); sut.Choose(viewModel); sugarEditing.Cancel.Call(); Assert.IsNotEmpty(factories.Sugars); Assert.IsNotEmpty(sut.Items); }
public override void Execute(SubViewModel subViewModel) { var viewModel = subViewModel as JournalViewModel; var sugar = viewModel.factories.CreateSugar(); var sugarViewModel = new SugarViewModel(sugar, viewModel.factories); viewModel.ChooseAnAdded(sugarViewModel); viewModel.Refresh(); }
public void TestInitialize() { insulin = new InsulinViewModel(new Insulin(), Substitute.For<Factories>(), null); sugar = new SugarViewModel(new Sugar(), Substitute.For<Factories>()); meal = new MealViewModel(new Meal(), Substitute.For<Factories>()); }
private void LoadUnsortedSugars() { var models = factories.Sugars; unsortedSugars = new List<SugarViewModel>(); foreach (var model in models) { var viewModel = new SugarViewModel(model, factories); unsortedSugars.Add(viewModel); } }