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));
    }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        public void AddTargetPoints_EmptyArrayAndCount2_HasLength2()
        {
            var financialTarget = TestableFinancialTarget.Create();
            var array           = new MyArray();

            financialTarget.AddTargetPoints(array, 2);

            Assert.Equal(2, array.Length);
        }
Esempio n. 6
0
        //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));
        }
Esempio n. 7
0
        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));
    }
Esempio n. 9
0
        public void InitializePoints_ReturnsWithStartValue3()
        {
            MyArray array = TestableFinancialTarget.Create().InitializePoints();

            Assert.Equal(3, array.ElementAt(0));
        }
Esempio n. 10
0
        public void InitializePoints_ReturnsNonEmptyArray()
        {
            MyArray array = TestableFinancialTarget.Create().InitializePoints();

            Assert.Equal(1, array.Length);
        }
Esempio n. 11
0
        public void InitializePoints_ReturnsNotNull()
        {
            MyArray array = TestableFinancialTarget.Create().InitializePoints();

            Assert.NotNull(array);
        }