public void Cannot_Initialize_Circumstances_Two_Times() { var sut = new Insulin(); var newCircumstances = new List<Guid>(); sut.InitializeCircumstances(newCircumstances); sut.InitializeCircumstances(newCircumstances); }
public void FindInsulinById() { var expected = new Insulin { Id = Guid.NewGuid() }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { expected }); var finder = new FinderImpl(factories.Object); var actual = finder.FindInsulinById(expected.Id); Assert.AreSame(expected, actual); }
public void Can_Add_Circumstance_When_Initialized() { var insulin = new Insulin(); insulin.SetOwner(factories.Object); insulin.InitializeCircumstances(new List<Guid>()); insulin.AddCircumstance(circumstance); var circumstances = insulin.Circumstances; Assert.AreSame(circumstance, circumstances.Single()); }
public void FindInsulinByMeal_IfNoInsulinsInHour_ReturnsNull() { var insulin1 = new Insulin { DateTime = DateTime.Now.AddHours(1.1) }; var insulin2 = new Insulin { DateTime = DateTime.Now.AddHours(-1.1) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var meal = new Meal { DateTime = DateTime.Now }; var insulin = finder.FindInsulinByMeal(meal); Assert.IsNull(insulin); }
public void FindInsulinByMeal_IfTwoInsulinsInHour_ReturnsCloserInsulin() { var insulin1 = new Insulin { DateTime = DateTime.Now.AddHours(0.9) }; var insulin2 = new Insulin { DateTime = DateTime.Now.AddHours(-0.8) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var meal = new Meal { DateTime = DateTime.Now }; var insulin = finder.FindInsulinByMeal(meal); Assert.AreSame(insulin2, insulin); }
public void Can_Get_Circumstances_When_Initialized() { var defaultCircumstance = new InsulinCircumstance(); factories.Setup(f => f.DefaultEntities.InsulinCircumstance).Returns(defaultCircumstance); var insulin = new Insulin(); insulin.SetOwner(factories.Object); insulin.InitializeCircumstances(new List<Guid> { Guid.NewGuid(), circumstance.Id }); var circumstances = insulin.Circumstances; Assert.AreEqual(2, circumstances.Count()); Assert.AreSame(defaultCircumstance, circumstances.ElementAt(0)); Assert.AreSame(circumstance, circumstances.ElementAt(1)); }
public void FindSugarsAfterInsulin_IfNoSugarsInThreeHoursAfter_ReturnsEmpty() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(3.1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(-1) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 3); Assert.AreEqual(0, sugars.Count); }
public void Cannot_Delete_Circumstance_When_Not_Initialized() { var insulin = new Insulin(); insulin.SetOwner(factories.Object); insulin.RemoveCircumstance(circumstance); }
public void Cannot_Get_Circumstances_When_Not_Initialized() { var sut = new Insulin(); var temp = sut.Circumstances.ToList(); }
public void Can_Read_Circumstances() { var circumstances = new List<Guid> { Guid.NewGuid() }; var insulin = new Insulin(); insulin.InitializeCircumstances(circumstances); Assert.IsTrue(Enumerable.SequenceEqual(circumstances, insulin.ReadCircumstances())); }
public void Can_Remove_Circumstance_When_Initialized() { var insulin = new Insulin(); insulin.SetOwner(factories.Object); insulin.InitializeCircumstances(new List<Guid> { circumstance.Id }); insulin.RemoveCircumstance(circumstance); var circumstances = insulin.Circumstances; Assert.AreEqual(0, circumstances.Count()); }
public void FindNextInsulin_ReturnsFirstChronologicallyFollowingInsulin() { var insulin1 = new Insulin { DateTime = DateTime.Now }; var insulin2 = new Insulin { DateTime = DateTime.Now.AddHours(2) }; var insulin3 = new Insulin { DateTime = DateTime.Now.AddHours(1) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin2, insulin3 }); var finder = new FinderImpl(factories.Object); var insulin = finder.FindNextInsulin(insulin1); Assert.AreSame(insulin3, insulin); }
public void FindMealByInsulin_IfMealInHourAfter_ReturnsMeal() { var meal1 = new Meal { DateTime = DateTime.Now.AddHours(0.9) }; var meal2 = new Meal { DateTime = DateTime.Now.AddHours(-1.1) }; factories.Setup(f => f.Meals).Returns(new List<Meal> { meal1, meal2 }); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var meal = finder.FindMealByInsulin(insulin); Assert.AreSame(meal1, meal); }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { // credit: http://stackoverflow.com/a/263416/677735 unchecked // Overflow is fine, just wrap { var hash = 41; // Suitable nullity checks etc, of course :) if (Id != null) { hash = hash * 59 + Id.GetHashCode(); } if (EventType != null) { hash = hash * 59 + EventType.GetHashCode(); } if (CreatedAt != null) { hash = hash * 59 + CreatedAt.GetHashCode(); } if (Glucose != null) { hash = hash * 59 + Glucose.GetHashCode(); } if (GlucoseType != null) { hash = hash * 59 + GlucoseType.GetHashCode(); } if (Carbs != null) { hash = hash * 59 + Carbs.GetHashCode(); } if (Insulin != null) { hash = hash * 59 + Insulin.GetHashCode(); } if (Units != null) { hash = hash * 59 + Units.GetHashCode(); } if (Notes != null) { hash = hash * 59 + Notes.GetHashCode(); } if (EnteredBy != null) { hash = hash * 59 + EnteredBy.GetHashCode(); } return(hash); } }
public void FindNextInsulin_ReturnsNullIfNoNextInsulin() { var insulin1 = new Insulin { DateTime = DateTime.Now }; var insulin2 = new Insulin { DateTime = DateTime.Now.AddHours(-1) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin2 }); var finder = new FinderImpl(factories.Object); var insulin = finder.FindNextInsulin(insulin1); Assert.IsNull(insulin); }
public void FindSugarBeforeInsulin_IfNoSugarsInAQuarterBefore_ReturnsNull() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddMinutes(5) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddMinutes(-16) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugar = finder.FindSugarBeforeInsulin(insulin); Assert.IsNull(sugar); }
public void Can_Initialize_Circumstances_With_Non_Empty() { var sut = new Insulin(); var newCircumstances = new List<Guid>() { Guid.NewGuid() }; sut.InitializeCircumstances(newCircumstances); }
public void FindSugarsAfterInsulin_IfAnotherInsulinSoonerThanFourHoursLater_ReturnsOnlySugarsBeforeThisInsulin( int removeMinutes) { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(2) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var insulin1 = new Insulin { DateTime = DateTime.Now }; var insulin2 = new Insulin { DateTime = sugar2.DateTime.AddMinutes(-removeMinutes) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var sugars = finder.FindSugarsAfterInsulin(insulin1, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar1 }, sugars)); }
public void FindSugarsAfterInsulin_IfAnotherInsulinFourHoursLater_DoesntReturnSugarsFourHoursLater() { var now = DateTime.Now; var sugar1 = new Sugar { DateTime = now.AddHours(4) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1 }); var insulin1 = new Insulin { DateTime = now }; var insulin2 = new Insulin { DateTime = now.AddHours(4) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var sugars = finder.FindSugarsAfterInsulin(insulin1, 4); Assert.IsEmpty(sugars); }
public void FindSugarBeforeInsulin_IfTwoSugarsInAQuarter_ReturnsLatestSugar() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddMinutes(-14) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddMinutes(-10) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugar = finder.FindSugarBeforeInsulin(insulin); Assert.AreSame(sugar2, sugar); }
public void FindSugarsAfterInsulin_DoesntReturnSugarsWhichIsAtSameTimeAsInsulin() { var sugar = new Sugar { DateTime = DateTime.Now }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = sugar.DateTime }; var sugars = finder.FindSugarsAfterInsulin(insulin, 2); Assert.IsEmpty(sugars); }
public void FindSugarBeforeInsulin_ReturnsSugarWhichIsAtSameTimeAsInsulin() { var sugar = new Sugar { DateTime = DateTime.Now }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = sugar.DateTime }; var foundSugar = finder.FindSugarBeforeInsulin(insulin); Assert.AreSame(sugar, foundSugar); }
public void FindSugarsAfterInsulin_IfSugarsInFourHoursAfter_ReturnsThoseSugars() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(3.5) }; var sugar3 = new Sugar { DateTime = DateTime.Now.AddHours(5) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2, sugar3 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar1, sugar2 }, sugars)); }
public void FindSugarsAfterInsulin_SortsReturnedSugarsChronologically() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(2) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar2, sugar1 }, sugars)); }
//DELETE public static string GetDeleteQuery(Insulin item) { string query = DeleteQuery + Id + "=" + item.getId(); return(query); }
/// <summary> /// Returns true if Treatment instances are equal /// </summary> /// <param name="other">Instance of Treatment to be compared</param> /// <returns>Boolean</returns> public bool Equals(Treatment other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( Id == other.Id || Id != null && Id.Equals(other.Id) ) && ( EventType == other.EventType || EventType != null && EventType.Equals(other.EventType) ) && ( CreatedAt == other.CreatedAt || CreatedAt != null && CreatedAt.Equals(other.CreatedAt) ) && ( Glucose == other.Glucose || Glucose != null && Glucose.Equals(other.Glucose) ) && ( GlucoseType == other.GlucoseType || GlucoseType != null && GlucoseType.Equals(other.GlucoseType) ) && ( Carbs == other.Carbs || Carbs != null && Carbs.Equals(other.Carbs) ) && ( Insulin == other.Insulin || Insulin != null && Insulin.Equals(other.Insulin) ) && ( Units == other.Units || Units != null && Units.Equals(other.Units) ) && ( Notes == other.Notes || Notes != null && Notes.Equals(other.Notes) ) && ( EnteredBy == other.EnteredBy || EnteredBy != null && EnteredBy.Equals(other.EnteredBy) )); }