public void InitializationTest(int id, int[] ids, string[] points, bool[] isCheckeds) { IMissionContext paragraph1 = new Paragraph(); Paragraph paragraph2 = new Paragraph(id); List <Point> pointsL = new List <Point>(); for (int i = 0; i < points.Length; ++i) { pointsL.Add(new Point(ids[i], points[i], isCheckeds[i])); } Paragraph paragraph3 = new Paragraph(id, pointsL); ServerRealization.Database.Context.Collection pointsDb = new ServerRealization.Database.Context.Collection(points.Length); DBContext.Collections.Add(pointsDb); for (int i = 0; i < points.Length; ++i) { DBContext.Points.Add(new ServerRealization.Database.Context.Point(ids[i], pointsDb, points[i], isCheckeds[i])); } Paragraph paragraph4 = new Paragraph(pointsDb.ToString()); Assert.AreEqual(-1, paragraph1.Id); Assert.AreEqual(id, paragraph2.Id); Assert.AreEqual(id, paragraph3.Id); Assert.AreEqual(points.Length, paragraph3.Count); Assert.AreEqual(points.Length, paragraph4.Count); Assert.AreEqual(points.Length, paragraph3.Items.Count); Assert.AreEqual(points.Length, paragraph4.Items.Count); for (int i = 0; i < points.Length; ++i) { Assert.AreEqual(ids[i], paragraph3.Items[i].Id); Assert.AreEqual(points[i], paragraph3.Items[i].Text); Assert.AreEqual(isCheckeds[i], paragraph3.Items[i].IsChecked); Assert.AreEqual(ids[i], paragraph4.Items[i].Id); Assert.AreEqual(points[i], paragraph4.Items[i].Text); Assert.AreEqual(isCheckeds[i], paragraph4.Items[i].IsChecked); } }
public void InitializationTestParagraph(int id, int actionId, int noteId, string name, string text, string[] points, bool[] isCheckeds) { Random random = new Random(); DateTime created = DateTime.Now.AddDays(random.NextDouble() * -1); DateTime lastChanged = DateTime.Now; DateTime startT = new DateTime(random.Next()); DateTime endT = new DateTime(random.Next()); if (startT > endT) { DateTime t = startT; startT = endT; endT = t; } ServerRealization.Database.Context.User dbUser = new ServerRealization.Database.Context.User("Name", "Login", "Password", DateTime.Now); DBContext.Users.Add(dbUser); ServerRealization.Database.Context.Note dbNote = new ServerRealization.Database.Context.Note(noteId, dbUser, new ServerRealization.Database.Context.Collection(), name, text, created, lastChanged); DBContext.Notes.Add(dbNote); ServerRealization.Database.Context.Action dbAction = new ServerRealization.Database.Context.Action(actionId, dbNote, startT, endT); DBContext.Actions.Add(dbAction); ServerRealization.Database.Context.Collection dbParagraph = new ServerRealization.Database.Context.Collection(points.Length); DBContext.Collections.Add(dbParagraph); for (int i = 0; i < points.Length; ++i) { ServerRealization.Database.Context.Point dbPoint = new ServerRealization.Database.Context.Point(dbParagraph, points[i], isCheckeds[i]); DBContext.Points.Add(dbPoint); } ServerRealization.Database.Context.Mission dbMission = new ServerRealization.Database.Context.Mission(id, dbAction, false, dbParagraph); ParagraphMission mission = (ParagraphMission)Mission.CreateNew(dbMission.ToString()); Assert.AreEqual(id, mission.Id); Assert.AreEqual(actionId, mission.ActionId); Assert.AreEqual(noteId, mission.NoteId); Assert.AreEqual(name, mission.Name); Assert.AreEqual(text, mission.Text); Assert.AreEqual(points.Length, mission.Paragraph.Count); for (int i = 0; i < mission.Paragraph.Count; ++i) { Assert.AreEqual(points[i], mission.Paragraph.Items[i].Text); Assert.AreEqual(isCheckeds[i], mission.Paragraph.Items[i].IsChecked); } if (created > mission.Created) { Assert.IsTrue((created - mission.Created).TotalSeconds < 1); } else if (mission.Created > created) { Assert.IsTrue((mission.Created - created).TotalSeconds < 1); } if (lastChanged > mission.LastChanged) { Assert.IsTrue((lastChanged - mission.LastChanged).TotalSeconds < 1); } else if (mission.LastChanged > lastChanged) { Assert.IsTrue((mission.LastChanged - lastChanged).TotalSeconds < 1); } if (startT > mission.Start) { Assert.IsTrue((startT - mission.Start).TotalSeconds < 1); } else if (mission.Start > startT) { Assert.IsTrue((mission.Start - startT).TotalSeconds < 1); } if (endT > mission.End) { Assert.IsTrue((endT - mission.End).TotalSeconds < 1); } else if (mission.End > endT) { Assert.IsTrue((mission.End - endT).TotalSeconds < 1); } }
public void DuplicateParagraphMissionTest(string name, string text, string[] points, bool[] isCheckeds, string createdDay, string createdMonth, string createdYear, string newDay, string newMonth, string newYear, string expectedResult) { ParagraphMission paragraphMission = new ParagraphMission(name, text, DateTime.Parse(createdDay + "." + createdMonth + "." + createdYear), true); int[] ids = new int[] { paragraphMission.NoteId, paragraphMission.ActionId, paragraphMission.Id, paragraphMission.Paragraph.Id }; for (int i = 0; i < points.Length; ++i) { helper.AddPointToParagraphMission(paragraphMission, new Point(points[i], isCheckeds[i])); } DateTime before = DateTime.Now; ParagraphMission dParagraphMission = helper.DuplicateParagraphMission(paragraphMission, DateTime.Parse(newDay + "." + newMonth + "." + newYear)); DateTime after = DateTime.Now; int[] newIds = new int[] { dParagraphMission.NoteId, dParagraphMission.ActionId, dParagraphMission.Id, dParagraphMission.Paragraph.Id }; ServerRealization.Database.Context.Note noteDb = DBContext.Notes.Where(x => x.Id == ids[0]).First(); ServerRealization.Database.Context.Note newNoteDb = DBContext.Notes.Where(x => x.Id == newIds[0]).First(); ServerRealization.Database.Context.Action actionDb = DBContext.Actions.Where(x => x.Id == ids[1]).First(); ServerRealization.Database.Context.Action newActionDb = DBContext.Actions.Where(x => x.Id == newIds[1]).First(); ServerRealization.Database.Context.Mission missionDb = DBContext.Missions.Where(x => x.Id == ids[2]).First(); ServerRealization.Database.Context.Mission newMissionDb = DBContext.Missions.Where(x => x.Id == newIds[2]).First(); ServerRealization.Database.Context.Collection paragraphDb = DBContext.Collections.Where(x => x.Id == ids[3]).First(); ServerRealization.Database.Context.Collection newParagraphDb = DBContext.Collections.Where(x => x.Id == newIds[3]).First(); List <ServerRealization.Database.Context.Point> pointsDb = DBContext.Points.Where(x => x.ParagraphId == ids[3]).ToList(); List <ServerRealization.Database.Context.Point> newPointsDb = DBContext.Points.Where(x => x.ParagraphId == newIds[3]).ToList(); Assert.AreNotEqual(noteDb.Id, newNoteDb.Id); Assert.AreEqual(noteDb.UserId, newNoteDb.UserId); Assert.AreEqual(noteDb.Name, newNoteDb.Name); Assert.AreEqual(noteDb.Text, newNoteDb.Text); Assert.AreNotEqual(noteDb.Created, newNoteDb.Created); Assert.AreEqual(newDay, newNoteDb.Created.Day.ToString()); Assert.AreEqual(newMonth, newNoteDb.Created.Month.ToString()); Assert.AreEqual(newYear, newNoteDb.Created.Year.ToString()); Assert.IsTrue(before <= newNoteDb.LastChanged && newNoteDb.LastChanged <= after); Assert.AreNotEqual(actionDb.Id, newActionDb.Id); Assert.AreNotEqual(actionDb.NoteId, newActionDb.NoteId); Assert.AreEqual(newNoteDb.Id, newActionDb.NoteId); Assert.AreEqual(actionDb.Start, newActionDb.Start); Assert.AreEqual(actionDb.End, newActionDb.End); Assert.AreNotEqual(missionDb.Id, newMissionDb.Id); Assert.AreNotEqual(missionDb.ActionId, newMissionDb.ActionId); Assert.AreEqual(newActionDb.Id, newMissionDb.Id); Assert.AreEqual(false, newMissionDb.IsProgressType); Assert.AreNotEqual(missionDb.ContextId, newMissionDb.ContextId); Assert.AreEqual(newParagraphDb.Id, newMissionDb.ContextId); Assert.AreNotEqual(paragraphDb.Id, newParagraphDb.Id); Assert.AreEqual(paragraphDb.Count, newParagraphDb.Count); Assert.AreEqual(pointsDb.Count, newPointsDb.Count); for (int i = 0; i < pointsDb.Count; ++i) { Assert.AreNotEqual(pointsDb[i].Id, newPointsDb[i].Id); Assert.AreEqual(newParagraphDb.Id, newPointsDb[i].ParagraphId); Assert.AreEqual(pointsDb[i].Name, newPointsDb[i].Name); Assert.AreEqual(pointsDb[i].IsChecked, newPointsDb[i].IsChecked); } }