public void Should_Calculate_Previous_Resistance_Amount_When_Scenario_Is_Complex() { //TODO: Refine/base expectations dynamically not statically //ARRANGE var sut = new ResistanceBandService(_repo.Object); //ACT var result = sut.CalculatePreviousAvailableResistanceAmount(80, 20, 25, false); //ASSERT Assert.AreEqual(4, result.Count); Assert.AreEqual(56, result.Sum(band => band.MaxResistanceAmount)); Assert.IsTrue( result.Count(band => band.Color == "Onyx") == 1 && result.Count(band => band.Color == "Yellow") == 1 && result.Count(band => band.Color == "Green") == 1 && result.Count(band => band.Color == "Red") == 1); }
public void Should_Update() { //ARRANGE var repoMock = new Mock <IRepository <ResistanceBand> >(MockBehavior.Strict); repoMock .Setup(mock => mock.Update(It.IsAny <ResistanceBand>(), true)) .Returns((ResistanceBand resistanceBand, bool save) => resistanceBand); var sut = new ResistanceBandService(repoMock.Object); var resistanceBand = new ResistanceBand(); //ACT var result = sut.Update(resistanceBand); //ASSERT repoMock.Verify(mock => mock.Update(resistanceBand, true), Times.Once); result.ShouldBeSameAs(resistanceBand); }
public void Should_Get_By_ID() { //ARRANGE var resistanceBand = new ResistanceBand { Color = "Blue", MaxResistanceAmount = 13 }; var repoMock = new Mock <IRepository <ResistanceBand> >(MockBehavior.Strict); repoMock.Setup(mock => mock.Get(It.IsAny <int>())).Returns(resistanceBand); var sut = new ResistanceBandService(repoMock.Object); //ACT var result = sut.GetById(1); //ASSERT result.ShouldBe(resistanceBand); repoMock.Verify(mock => mock.Get(It.IsAny <int>()), Times.Once); }