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_Throws(int count) { FinancialTarget target = new FinancialTarget(); IMyArray list = new Mock <IMyArray>().Object; Assert.Throws <ArgumentException>(() => target.AddTargetPoints(list, count)); }
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 })); }
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)); }
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)); }
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); }
//[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); }
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 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); }