public void AutoTimingTest(string name, string text, int day, int month, int year, string[] points, bool[] isCheckeds, string newName, string newText, string[] newPoints, bool[] newIsCheckeds) { ParagraphMission mission = new ParagraphMission(name, text, new DateTime(year, month, day), true); for (int i = 0; i < points.Length; ++i) { mission.Paragraph.AddPoint(new Point(points[i], isCheckeds[i], true)); } ServerRealization.Database.Context.Mission dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); Assert.AreEqual(mission.Name, dbMission.Action.Note.Name); Assert.AreEqual(mission.Text, dbMission.Action.Note.Text); Assert.AreEqual(mission.Created, dbMission.Action.Note.Created); List <Point> paragraph = mission.Paragraph.Items; List <ServerRealization.Database.Context.Point> dbParagraph = DBContext.Points .Where(y => y.ParagraphId == DBContext.Collections .Where(x => x.Id == mission.Paragraph.Id) .First().Id) .ToList(); for (int i = 0; i < points.Length; ++i) { Point point = paragraph[i]; ServerRealization.Database.Context.Point dbPoint = dbParagraph.Where(x => x.Id == point.Id).First(); Assert.AreEqual(point.Text, dbPoint.Name); Assert.AreEqual(point.IsChecked, dbPoint.IsChecked); } mission.Name = newName; mission.Text = newText; for (int i = 0; i < points.Length; ++i) { mission.Paragraph.Items[i].Text = newPoints[i]; mission.Paragraph.Items[i].IsChecked = newIsCheckeds[i]; } Thread.Sleep(11000); dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); Assert.AreEqual(mission.Name, dbMission.Action.Note.Name); Assert.AreEqual(mission.Text, dbMission.Action.Note.Text); Assert.AreEqual(mission.Created, dbMission.Action.Note.Created); paragraph = mission.Paragraph.Items; dbParagraph = DBContext.Points .Where(y => y.ParagraphId == DBContext.Collections .Where(x => x.Id == mission.Paragraph.Id) .First().Id) .ToList(); for (int i = 0; i < points.Length; ++i) { Point point = paragraph[i]; ServerRealization.Database.Context.Point dbPoint = dbParagraph.Where(x => x.Id == point.Id).First(); Assert.AreEqual(point.Text, dbPoint.Name); Assert.AreEqual(point.IsChecked, dbPoint.IsChecked); } }
public void InitializationTest(int id, string text, bool isChecked) { Point point1 = new Point(id, text, isChecked); ServerRealization.Database.Context.Point dbPoint = new ServerRealization.Database.Context.Point(id, new ServerRealization.Database.Context.Collection(), text, isChecked); Point point2 = new Point(dbPoint.ToString()); Assert.AreEqual(id, point1.Id); Assert.AreEqual(id, point2.Id); Assert.AreEqual(text, point1.Text); Assert.AreEqual(text, point2.Text); Assert.AreEqual(isChecked, point1.IsChecked); Assert.AreEqual(isChecked, point2.IsChecked); }
public void AutoAddingPointTest(string[] points) { ParagraphMission mission = new ParagraphMission("name", "text", DateTime.Now, true); Thread.Sleep(500); ServerRealization.Database.Context.Mission dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); for (int i = 0; i < points.Length; ++i) { mission.Paragraph.AddPoint(new Point(points[i], true)); Thread.Sleep(500); Assert.AreEqual(i + 1, mission.Paragraph.Count); Assert.AreEqual(i + 1, ((ServerRealization.Database.Context.Collection)dbMission.Context).Count); Point point = mission.Paragraph.Items.Last(); Assert.IsTrue(point.Id > 0); Assert.AreEqual(points[i], point.Text); Assert.AreEqual(false, point.IsChecked); ServerRealization.Database.Context.Point dbPoint = DBContext.Points.Where(x => x.Id == point.Id).First(); Assert.AreEqual(points[i], dbPoint.Name); Assert.AreEqual(false, dbPoint.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 SetIntervalTimingTest(int mls) { ParagraphMission mission = new ParagraphMission("", "", DateTime.Now, true); ServerRealization.Database.Context.Mission dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); mission.SetIntervalTiming(mls); DateTime start = DateTime.Now; mission.Name = "test"; while (mission.Name != dbMission.Action.Note.Name) { Thread.Sleep(100); } DateTime end = DateTime.Now; Assert.IsTrue(mls > (int)(end - start).TotalMilliseconds - 150); Assert.IsTrue(mls < (int)(end - start).TotalMilliseconds + 150); mission = new ParagraphMission("", "", DateTime.Now, true); mission.SetIntervalTiming(mls); dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); start = DateTime.Now; mission.Text = "test"; while (mission.Text != dbMission.Action.Note.Text) { Thread.Sleep(100); } end = DateTime.Now; Assert.IsTrue(mls > (int)(end - start).TotalMilliseconds - 150); Assert.IsTrue(mls < (int)(end - start).TotalMilliseconds + 150); mission = new ParagraphMission("", "", DateTime.Now, true); mission.SetIntervalTiming(mls); dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); Point point = new Point("", true); mission.Paragraph.AddPoint(point); ServerRealization.Database.Context.Point dbPoint = DBContext.Points.Where(x => x.Id == point.Id).First(); start = DateTime.Now; point.Text = "test"; while (point.Text != dbPoint.Name) { Thread.Sleep(100); } end = DateTime.Now; Assert.IsTrue(mls > (int)(end - start).TotalMilliseconds - 150); Assert.IsTrue(mls < (int)(end - start).TotalMilliseconds + 150); mission = new ParagraphMission("", "", DateTime.Now, true); mission.SetIntervalTiming(mls); dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First(); point = new Point("", true); mission.Paragraph.AddPoint(point); dbPoint = DBContext.Points.Where(x => x.Id == point.Id).First(); start = DateTime.Now; point.IsChecked = true; while (point.IsChecked != dbPoint.IsChecked) { Thread.Sleep(100); } end = DateTime.Now; Assert.IsTrue(mls > (int)(end - start).TotalMilliseconds - 150); Assert.IsTrue(mls < (int)(end - start).TotalMilliseconds + 150); }