Пример #1
0
    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);
    }
Пример #2
0
    public void Add_TargetPoints_DoesNotThrow(int count)
    {
        FinancialTarget target = TestableFinancialTarget.Create();
        IMyList         list   = new Mock <IMyList>().Object;

        target.AddTargetPoints(list, count);
    }
Пример #3
0
    public void Add_TargetPoints_Throws(int count)
    {
        FinancialTarget target = TestableFinancialTarget.Create();
        IMyList         list   = new Mock <IMyList>().Object;

        Assert.Throws <ArgumentException>(() => target.AddTargetPoints(list, count));
    }
Пример #4
0
        public void AddTargetPoints_Throws(int count)
        {
            FinancialTarget target = new FinancialTarget();
            IMyArray        list   = new Mock <IMyArray>().Object;

            Assert.Throws <ArgumentException>(() => target.AddTargetPoints(list, count));
        }
Пример #5
0
        public async Task <IActionResult> NewProject(ProjectViewModel proj)
        {
            var options = new MarkdownOptions
            {
                AutoHyperlink    = true,
                AutoNewLines     = true,
                LinkEmails       = true,
                QuoteSingleLine  = true,
                StrictBoldItalic = true
            };

            KraudFan2_0.HelpClass.ProjectHelp.NewProjectHelpClass taghelp = new HelpClass.ProjectHelp.NewProjectHelpClass(db);
            List <Tag> tags        = taghelp.TagsWork(proj.Tags);
            Markdown   mark        = new Markdown(options);
            string     text        = mark.Transform(proj.Content);
            var        datetoEnter = DateTime.ParseExact(proj.DateEnd, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            Project    project     = new Project
            {
                Image       = await AddFileAsync(proj.Image),
                Name        = proj.Name,
                Description = proj.Description,
                Content     = text,
                Status      = "In progress",
                DateCreate  = DateTime.Now,
                DateEnd     = datetoEnter,
                MinDonate   = proj.MinDonate,
                MaxDonate   = proj.MaxDonate,
                User        = db.Users.Find(_userManager.GetUserId(User)),
                Targets     = new List <FinancialTarget>(),
            };

            foreach (var item in tags)
            {
                project.ProjectTags.Add(new ProjectTags {
                    Project = project, Tag = item
                });
            }
            foreach (var item in proj.Targets)
            {
                if (item == proj.Targets[0])
                {
                }
                else
                {
                    FinancialTarget temp = new FinancialTarget
                    {
                        TotalSum    = item.TotalSum,
                        Desctiprion = item.Desctiprion,
                        DateEnd     = item.DateEnd,
                    };
                    project.Targets.Add(temp);
                }
            }
            db.Projects.Add(project);
            db.SaveChanges();
            FullSearchAdd.PutElementInSearch(db.Projects.Last());
            var id = db.Projects.Last().Id;

            return(RedirectToAction("ProjectShow", new { id = id }));
        }
Пример #6
0
        public void AddTargetPoints_AddSpecifiedNumberOfElement(int count)
        {
            FinancialTarget target = new FinancialTarget();
            Mock <IMyArray> list   = new Mock <IMyArray>();

            list.Setup(l => l.Append(It.IsAny <int>()));

            target.AddTargetPoints(list.Object, count);

            list.Verify(l => l.Append(It.IsAny <int>()), Times.Exactly(count));
        }
Пример #7
0
        public void GetGoldenTarget_ReceivesLessThanTwoPoints_Throws(int[] points)
        {
            var list = new MyArray();

            foreach (var point in points)
            {
                list.Append(point);
            }

            var timeServer      = new Mock <ITimeServer>().Object;
            var financialTarget = new FinancialTarget(timeServer);

            Assert.Throws <Exception>(() => financialTarget.GetGoldenTarget(list));
        }
Пример #8
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);
        }
Пример #9
0
        //[InlineData(new int[] { }, 0)]  //This test case will never pass. The expectation is wrong.
        public void GetGoldenTarget_ReceivesAtLeastTwoTargetPoints_ReturnsExpectedTarget(
            int[] points, int expectedTarget)
        {
            //You don't have to mock everything. Sometimes mocking is more trouble than it is worth
            var list = new MyArray();

            foreach (var point in points)
            {
                list.Append(point);
            }

            var timeServer      = new Mock <ITimeServer>().Object;
            var financialTarget = new FinancialTarget(timeServer);

            int targetPoint = financialTarget.GetGoldenTarget(list);

            Assert.Equal(expectedTarget, targetPoint);
        }
Пример #10
0
    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));
    }
Пример #11
0
        public void AddTargetPoints_SpecificValueAtPosition(
            int count, int index, int expectedValue)
        {
            FinancialTarget target = new FinancialTarget();

            Mock <IMyArray> list            = new Mock <IMyArray>();
            int             addedCount      = 0;
            int?            valueAtPosition = null;

            list.Setup(l => l.Append(It.IsAny <int>())).Callback <int>(value =>
            {
                if (addedCount++ == index)
                {
                    valueAtPosition = value;
                }
            });

            target.AddTargetPoints(list.Object, count);

            Assert.AreEqual(expectedValue, (int)valueAtPosition);
        }