public void AddTargetPoints_SpecificValueAtPosition(int count, int month, int index, int expectedValue) { FinancialTarget target = TestableFinancialTarget.Create(month); var list = new Mock <IMyList>(); int addedCount = 0; int? valueAtPosition = null; list.Setup(l => l.Append(It.IsAny <int>())).Callback <int>(value => { if (addedCount++ == index) { valueAtPosition = value; } }); list.Setup(l => l.AppendMany(It.IsAny <int[]>())).Callback <int[]>(array => { foreach (int value in array) { list.Object.Append(value); } }); target.AddTargetPoints(list.Object, count); Assert.Equal(expectedValue, (int)valueAtPosition); }
public void Add_TargetPoints_DoesNotThrow(int count) { FinancialTarget target = TestableFinancialTarget.Create(); IMyList list = new Mock <IMyList>().Object; target.AddTargetPoints(list, count); }
public void Add_TargetPoints_Throws(int count) { FinancialTarget target = TestableFinancialTarget.Create(); IMyList list = new Mock <IMyList>().Object; Assert.Throws <ArgumentException>(() => target.AddTargetPoints(list, count)); }
public void AddTargetPoints_Count2_ArrayAppendCalledTwoTimes() { var mockArray = new Mock <IMyList>(); mockArray.Setup(x => x.Append(It.IsAny <int>())); TestableFinancialTarget.Create().AddTargetPoints(mockArray.Object, 2); mockArray.Verify(x => x.Append(It.IsAny <int>()), Times.Exactly(2)); }
public void AddTargetPoints_EmptyArrayAndCount2_HasLength2() { var financialTarget = TestableFinancialTarget.Create(); var array = new MyArray(); financialTarget.AddTargetPoints(array, 2); Assert.Equal(2, array.Length); }
//How do I know that points have been added to the array? // - Check Contents - State Testing // - Make certain Append Method was called - Interaction Testing (Behavior Verification?) public void AddTargetPoints_EmptyArrayAndCount2_ArrayContains3And5() { var financialTarget = TestableFinancialTarget.Create(); var array = new MyArray(); financialTarget.AddTargetPoints(array, 2); Assert.Equal(3, array.ElementAt(0)); Assert.Equal(5, array.ElementAt(1)); }
public void AddTargetPoints_Count2_ArrayAppendReceives3And5() { FinancialTarget target = TestableFinancialTarget.Create(); var mockArray = new Mock <IMyList>(); int[] expectedValues = { 3, 5 }; int callIndex = 0; bool sequenceCorrect = true; mockArray.Setup(x => x.Append(It.IsAny <int>())) .Callback((int x) => { sequenceCorrect = sequenceCorrect && x == expectedValues[callIndex++]; }); Assert.True(sequenceCorrect); }
public void AddTargetPoints_AddsSpecifiedNumberOfElements(int count) { FinancialTarget target = TestableFinancialTarget.Create(); var list = new Mock <IMyList>(); list.Setup(x => x.Append(It.IsAny <int>())); list.Setup(l => l.AppendMany(It.IsAny <int[]>())).Callback <int[]>(array => { foreach (int value in array) { list.Object.Append(value); } }); target.AddTargetPoints(list.Object, count); list.Verify(l => l.Append(It.IsAny <int>()), Times.Exactly(count)); }
public void InitializePoints_ReturnsWithStartValue3() { MyArray array = TestableFinancialTarget.Create().InitializePoints(); Assert.Equal(3, array.ElementAt(0)); }
public void InitializePoints_ReturnsNonEmptyArray() { MyArray array = TestableFinancialTarget.Create().InitializePoints(); Assert.Equal(1, array.Length); }
public void InitializePoints_ReturnsNotNull() { MyArray array = TestableFinancialTarget.Create().InitializePoints(); Assert.NotNull(array); }