Esempio n. 1
0
        public ParagraphMission DuplicateParagraphMission(ParagraphMission paragraphMission, DateTime dateNewCreated)
        {
            object result = DoLockedProcess(() => { return(client.SendCommand("dpm", new string[] { DBHelper.Login, DBHelper.Password, paragraphMission.Id.ToString(), dateNewCreated.Day.ToString(), dateNewCreated.Month.ToString(), dateNewCreated.Year.ToString() })); });

            if (result != null)
            {
                if (result is string res)
                {
                    string[] strIds = res.Split('|');
                    int[]    ids    = new int[strIds.Length];
                    for (int i = 0; i < ids.Length; ++i)
                    {
                        ids[i] = int.Parse(strIds[i]);
                    }
                    List <Point> items = new List <Point>();
                    for (int i = 0; i < paragraphMission.Paragraph.Items.Count; ++i)
                    {
                        items.Add(new Point(ids[i + 4], paragraphMission.Paragraph.Items[i].Text, paragraphMission.Paragraph.Items[i].IsChecked));
                    }

                    return(new ParagraphMission(ids[2], new Paragraph(ids[3], items), ids[1], ids[0], 1, paragraphMission.Name, paragraphMission.Text, dateNewCreated, DateTime.Now, DateTime.MinValue, DateTime.MaxValue, true));
                }
            }
            throw new ArgumentException();
        }
Esempio n. 2
0
        public void GetChangesTest(string name, string text, string[] points, bool[] isCheckeds, string name2, string text2, string[] points2, bool[] isCheckeds2)
        {
            ParagraphMission oldPm = new ParagraphMission(name, text, DateTime.Now, true);
            ParagraphMission newPm = new ParagraphMission(name2, text2, DateTime.Now);

            for (int i = 0; i < points.Length; ++i)
            {
                Point point = new Point(points[i], true);
                oldPm.Paragraph.AddPoint(point);
                Thread.Sleep(100);
                point.IsChecked = isCheckeds[i];

                newPm.Paragraph.Items.Add(new Point(point.Id, point.Text, point.IsChecked));
            }

            for (int i = 0; i < points.Length; ++i)
            {
                newPm.Paragraph.Items[i].Text      = points2[i];
                newPm.Paragraph.Items[i].IsChecked = isCheckeds2[i];
            }

            List <KeyValuePair <string, string[]> > expectedResult = new List <KeyValuePair <string, string[]> >();

            for (int i = 0; i < oldPm.Paragraph.Count; ++i)
            {
                if (newPm.Paragraph.Items
                    .Where((x) =>
                {
                    Point p = oldPm.Paragraph.Items[i];
                    return(x.Id == p.Id && x.Text != p.Text);
                })
                    .Count() == 1)
                {
                    expectedResult.Add(new KeyValuePair <string, string[]>("cpt", new string[] { newPm.Paragraph.Items[i].Id.ToString(), newPm.Paragraph.Items[i].Text }));
                }
                if (newPm.Paragraph.Items
                    .Where((x) =>
                {
                    Point p = oldPm.Paragraph.Items[i];
                    return(x.Id == p.Id && x.IsChecked != p.IsChecked);
                })
                    .Count() == 1)
                {
                    expectedResult.Add(new KeyValuePair <string, string[]>("scp", new string[] { oldPm.Paragraph.Items[i].Id.ToString(), newPm.Paragraph.Items[i].IsChecked.ToString() }));
                }
            }

            List <KeyValuePair <string, string[]> > result = ParagraphMission.GetChanges(newPm, oldPm);

            Assert.AreEqual(expectedResult.Count, result.Count);
            for (int i = 0; i < expectedResult.Count; ++i)
            {
                Assert.AreEqual(expectedResult[i].Key, result[i].Key);
                Assert.AreEqual(expectedResult[i].Value.Length, result[i].Value.Length);
                for (int j = 0; j < expectedResult[i].Value.Length; ++j)
                {
                    Assert.AreEqual(expectedResult[i].Value[j], result[i].Value[j]);
                }
            }
        }
Esempio n. 3
0
        public void InitializationTest(int id, int cid, int aid, int nid, int sid, string name, string text, int[] ids, string[] items, bool[] isCheckeds)
        {
            ParagraphMission mission = new ParagraphMission(id, cid, aid, nid, sid, name, text, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

            Assert.AreEqual(id, mission.Id);
            Assert.AreEqual(cid, mission.ContextId);
            Assert.AreEqual(aid, mission.ActionId);
            Assert.AreEqual(nid, mission.NoteId);
            Assert.AreEqual(sid, mission.StereotypeId);
            Assert.AreEqual(name, mission.Name);
            Assert.AreEqual(text, mission.Text);
            Assert.IsTrue(mission is IMission && mission is Mission && mission.Type == MissionType.Paragraph);

            List <Point> points = new List <Point>();

            for (int i = 0; i < items.Length; ++i)
            {
                points.Add(new Point(ids[i], items[i], isCheckeds[i]));
            }
            Paragraph        paragraph = new Paragraph(cid, points);
            ParagraphMission mission2  = new ParagraphMission(id, paragraph, aid, nid, sid, name, text, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

            Assert.AreEqual(items.Length, mission2.Context.Count);
            Assert.AreEqual(paragraph, mission2.Context);
            Assert.AreEqual(paragraph, mission2.Paragraph);

            for (int i = 0; i < items.Length; ++i)
            {
                Assert.AreEqual(ids[i], ((Paragraph)mission2.Context).Items[i].Id);
                Assert.AreEqual(items[i], ((Paragraph)mission2.Context).Items[i].Text);
                Assert.AreEqual(isCheckeds[i], ((Paragraph)mission2.Context).Items[i].IsChecked);
            }
        }
Esempio n. 4
0
        public void IdSetTest(int id, int newId)
        {
            ParagraphMission mission = new ParagraphMission(id, new Paragraph(), 0, 0, 0, "", "", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

            mission.Id = newId;
            Assert.AreEqual(id > 0 ? id : newId, mission.Id);
        }
Esempio n. 5
0
        public void AutoRemovingPointTest(string[] points, int id)
        {
            ParagraphMission mission = new ParagraphMission("name", "text", DateTime.Now, true);

            ServerRealization.Database.Context.Mission dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First();

            int dbId = -1;

            for (int i = 0; i < points.Length; ++i)
            {
                mission.Paragraph.AddPoint(new Point(points[i], true));
                if (id == i)
                {
                    dbId = mission.Paragraph.Items.Last().Id;
                }
            }

            Assert.AreEqual(1, DBContext.Points.Where(x => x.Id == dbId).Count());
            Assert.AreEqual(points.Length, mission.Paragraph.Count);
            Assert.AreEqual(points.Length, DBContext.Collections.Where(x => x.Id == mission.Paragraph.Id).First().Count);
            mission.Paragraph.RemovePoint(dbId);
            Assert.AreEqual(0, DBContext.Points.Where(x => x.Id == dbId).Count());
            Assert.AreEqual(points.Length - 1, mission.Paragraph.Count);
            Assert.AreEqual(points.Length - 1, DBContext.Collections.Where(x => x.Id == mission.Paragraph.Id).First().Count);
        }
Esempio n. 6
0
        public int[] CreateParagraphMission(ParagraphMission paragraphMission)
        {
            object result = DoLockedProcess(() => { return(client.SendCommand("cnpm", new string[] { Login, Password, paragraphMission.Name, paragraphMission.Text, paragraphMission.Created.Year.ToString(), paragraphMission.Created.Month.ToString(), paragraphMission.Created.Day.ToString() })); });

            if (result != null)
            {
                if (result is string res)
                {
                    if (res.Split('|').Length == 4)
                    {
                        if (int.TryParse(res.Split('|')[0], out int r1))
                        {
                            if (int.TryParse(res.Split('|')[1], out int r2))
                            {
                                if (int.TryParse(res.Split('|')[2], out int r3))
                                {
                                    if (int.TryParse(res.Split('|')[3], out int r4))
                                    {
                                        if (r1 > 0 && r2 > 0 && r3 > 0 && r4 > 0)
                                        {
                                            return new int[] { r1, r2, r3, r4 }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            ;
            throw new ArgumentException();
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        public void SetCheckedPointTest(bool isChecked)
        {
            ParagraphMission mission = new ParagraphMission("", "", DateTime.Now, true);

            mission.Paragraph.AddPoint(new Point("", true));
            Assert.IsFalse(mission.Paragraph.Items.First().IsChecked);
            Assert.IsTrue(DBHelper.SetCheckedPointStatic(mission.Paragraph.Items.First(), isChecked));
            Assert.AreEqual(isChecked, DBContext.Points.Where(x => x.Id == mission.Paragraph.Items.First().Id).First().IsChecked);
            Assert.IsTrue(helper.SetCheckedPoint(mission.Paragraph.Items.First(), !isChecked));
            Assert.AreEqual(!isChecked, DBContext.Points.Where(x => x.Id == mission.Paragraph.Items.First().Id).First().IsChecked);
        }
Esempio n. 9
0
        public static int[] CreateParagraphMissionStatic(ParagraphMission paragraphMission)
        {
            DBHelper helper = new DBHelper(lastSettings);

            try
            {
                return(helper.CreateParagraphMission(paragraphMission));
            }
            catch
            {
                return(new int[] { -3, -3, -3, -3 });
            }
        }
Esempio n. 10
0
        public void AddPointToParagraphMissionTest(string[] points)
        {
            ParagraphMission paragraphMission = new ParagraphMission("name", "text", DateTime.Now, true);

            for (int i = 0; i < points.Length; ++i)
            {
                int id = helper.AddPointToParagraphMission(paragraphMission, new Point(points[i], false));
                Assert.AreEqual(points[i], DBContext.Points.Where(x => x.Id == id).First().Name);

                id = DBHelper.AddPointToParagraphMissionStatic(paragraphMission, new Point(points[i], false));
                Assert.AreEqual(points[i], DBContext.Points.Where(x => x.Id == id).First().Name);
            }

            Thread.Sleep(server.Stop() * 2);
        }
Esempio n. 11
0
        public int AddPointToParagraphMission(ParagraphMission paragraphMission, Point point)
        {
            object result = DoLockedProcess(() => { return(client.SendCommand("aptpm", new string[] { Login, Password, paragraphMission.Id.ToString(), point.Text })); });

            if (result != null)
            {
                if (result is string res)
                {
                    if (int.TryParse(res, out int r))
                    {
                        if (r > 0)
                        {
                            return(r);
                        }
                    }
                }
            }
            throw new ArgumentException();
        }
Esempio n. 12
0
        public void GetDayAsyncTest(string login, string password, int day, int month, int year)
        {
            GenerateTestNotes();
            List <Note> expectedResult = null;

            try { expectedResult = helper.GetDay(login, password, day, month, year); }
            catch (ArgumentException) { expectedResult = new List <Note>(); }

            List <Note> result = null;

            try { result = DBHelper.GetDayAsync(login, password, day, month, year).Result; }
            catch (ArgumentException) { result = new List <Note>(); }
            Assert.AreEqual(expectedResult.Count, result.Count);
            for (int i = 0; i < result.Count; ++i)
            {
                if (expectedResult[i] is ParagraphMission)
                {
                    Assert.IsTrue(result[i] is ParagraphMission);
                    ParagraphMission expectedMission = (ParagraphMission)expectedResult[i],
                                     mission         = (ParagraphMission)result[i];

                    Assert.AreEqual(expectedMission.Context.Count, mission.Context.Count);
                    Assert.AreEqual(expectedMission.ContextId, mission.ContextId);
                    for (int j = 0; j < mission.Context.Count; ++j)
                    {
                        Assert.AreEqual(expectedMission.Paragraph.Items[j].Id, mission.Paragraph.Items[j].Id);
                        Assert.AreEqual(expectedMission.Paragraph.Items[j].Text, mission.Paragraph.Items[j].Text);
                        Assert.AreEqual(expectedMission.Paragraph.Items[j].IsChecked, mission.Paragraph.Items[j].IsChecked);
                    }

                    Assert.AreEqual(expectedMission.Id, mission.Id);
                    Assert.AreEqual(expectedMission.ActionId, mission.ActionId);
                    Assert.AreEqual(expectedMission.Start, expectedMission.Start);
                    Assert.AreEqual(expectedMission.End, expectedMission.End);
                }
                Assert.AreEqual(expectedResult[i].Id, result[i].Id);
                Assert.AreEqual(expectedResult[i].Name, result[i].Name);
                Assert.AreEqual(expectedResult[i].Text, result[i].Text);
                Assert.AreEqual(expectedResult[i].LastChanged, result[i].LastChanged);
                Assert.AreEqual(expectedResult[i].Created, result[i].Created);
                Assert.AreEqual(expectedResult[i].StereotypeId, result[i].StereotypeId);
            }
        }
Esempio n. 13
0
        public void AutoCreatingTest(string name, string text, int day, int month, int year)
        {
            ParagraphMission mission = new ParagraphMission(name, text, new DateTime(year, month, day));

            Assert.IsTrue(mission.Id < 1);

            mission = new ParagraphMission(name, text, new DateTime(year, month, day), true);
            Thread.Sleep(500);
            Assert.IsTrue(mission.Id > 0);
            Assert.IsTrue(DBContext.Missions.Where(x => x.Id == mission.Id).Count() == 1);
            ServerRealization.Database.Context.Mission dbMission = DBContext.Missions.Where(x => x.Id == mission.Id).First();

            Assert.AreEqual(mission.ActionId, dbMission.ActionId);
            Assert.AreEqual(mission.NoteId, dbMission.Action.NoteId);
            Assert.AreEqual(mission.Paragraph.Id, dbMission.ContextId);
            Assert.AreEqual(mission.Name, dbMission.Action.Note.Name);
            Assert.AreEqual(mission.Text, dbMission.Action.Note.Text);
            Assert.AreEqual(mission.Created, dbMission.Action.Note.Created);
        }
Esempio n. 14
0
        public void CreateNewParagraphMissionTest(string name, string text, int day, int month, int year)
        {
            ParagraphMission paragraphMission = new ParagraphMission(name, text, new DateTime(year, month, day));

            int[] ids = helper.CreateParagraphMission(paragraphMission);
            Thread.Sleep(500);

            Assert.IsTrue(ids.Length == 4);
            Assert.IsTrue(DBContext.Notes.Where(x => x.Id == ids[0]).Count() == 1);
            Assert.IsTrue(DBContext.Actions.Where(x => x.Id == ids[1]).Count() == 1);
            Assert.IsTrue(DBContext.Missions.Where(x => x.Id == ids[2]).Count() == 1);
            Assert.IsTrue(DBContext.Collections.Where(x => x.Id == ids[3]).Count() == 1);

            ServerRealization.Database.Context.Mission mission = DBContext.Missions.Where(x => x.Id == ids[2]).First();
            Assert.AreEqual(mission.Action.NoteId, ids[0]);
            Assert.AreEqual(mission.Action.Id, ids[1]);
            Assert.AreEqual(mission.ContextId, ids[3]);

            Assert.AreEqual(name, mission.Action.Note.Name);
            Assert.AreEqual(text, mission.Action.Note.Text);
            Assert.AreEqual(new DateTime(year, month, day), mission.Action.Note.Created);
        }
Esempio n. 15
0
        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);
            }
        }
Esempio n. 16
0
        public void RemovePointTest(string[] points, int id)
        {
            ParagraphMission paragraphMission = new ParagraphMission("", "", DateTime.Now, true);

            int dbId = -1;

            for (int i = 0; i < points.Length; ++i)
            {
                Point point = new Point(points[i], true);
                point.Id = helper.AddPointToParagraphMission(paragraphMission, point);
                paragraphMission.Paragraph.Items.Add(point);
                if (id == i)
                {
                    dbId = point.Id;
                }
            }

            Assert.AreEqual(1, DBContext.Points.Where(x => x.Id == dbId).Count());
            Assert.AreEqual(points.Length, paragraphMission.Paragraph.Count);
            Assert.AreEqual(points.Length, DBContext.Collections.Where(x => x.Id == paragraphMission.Paragraph.Id).First().Count);
            Assert.IsTrue(DBHelper.RemovePointStatic(paragraphMission.Paragraph.Items.Where(x => x.Id == dbId).First()));
            Assert.AreEqual(0, DBContext.Points.Where(x => x.Id == dbId).Count());
            Assert.AreEqual(points.Length - 1, DBContext.Collections.Where(x => x.Id == paragraphMission.Paragraph.Id).First().Count);
        }
Esempio n. 17
0
 public static ParagraphMission DuplicateParagraphMissionStatic(ParagraphMission paragraphMission, DateTime dateNewCreated)
 => new DBHelper(lastSettings).DuplicateParagraphMission(paragraphMission, dateNewCreated);
Esempio n. 18
0
 public static int AddPointToParagraphMissionStatic(ParagraphMission paragraphMission, Point point)
 => new DBHelper(lastSettings).AddPointToParagraphMission(paragraphMission, point);
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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);
            }
        }
Esempio n. 21
0
        public void GetDayTest(string login, string password, int day, int month, int year)
        {
            GenerateTestNotes();
            string expectedResultString = server.ExecuteCommand("gd", new string[] { login, password, day.ToString(), month.ToString(), year.ToString() });

            try
            {
                List <Note> result = helper.GetDay(login, password, day, month, year);

                List <Note> expectedResult = new List <Note>();
                string[]    erss           = StringsHelper.Split("\b<sgd>\b", expectedResultString);
                for (int i = 0; i < erss.Length; ++i)
                {
                    if (Mission.IsStringMission(erss[i]))
                    {
                        expectedResult.Add((ParagraphMission)Mission.CreateNew(erss[i]));
                    }
                    else
                    {
                        expectedResult.Add(new Note(erss[i]));
                    }
                }

                Assert.AreEqual(expectedResult.Count, result.Count);
                for (int i = 0; i < result.Count; ++i)
                {
                    if (expectedResult[i] is ParagraphMission)
                    {
                        Assert.IsTrue(result[i] is ParagraphMission);
                        ParagraphMission expectedMission = (ParagraphMission)expectedResult[i],
                                         mission         = (ParagraphMission)result[i];

                        Assert.AreEqual(expectedMission.Context.Count, mission.Context.Count);
                        Assert.AreEqual(expectedMission.ContextId, mission.ContextId);
                        for (int j = 0; j < mission.Context.Count; ++j)
                        {
                            Assert.AreEqual(expectedMission.Paragraph.Items[j].Id, mission.Paragraph.Items[j].Id);
                            Assert.AreEqual(expectedMission.Paragraph.Items[j].Text, mission.Paragraph.Items[j].Text);
                            Assert.AreEqual(expectedMission.Paragraph.Items[j].IsChecked, mission.Paragraph.Items[j].IsChecked);
                        }

                        Assert.AreEqual(expectedMission.Id, mission.Id);
                        Assert.AreEqual(expectedMission.ActionId, mission.ActionId);
                        Assert.AreEqual(expectedMission.Start, expectedMission.Start);
                        Assert.AreEqual(expectedMission.End, expectedMission.End);
                    }
                    Assert.AreEqual(expectedResult[i].Id, result[i].Id);
                    Assert.AreEqual(expectedResult[i].Name, result[i].Name);
                    Assert.AreEqual(expectedResult[i].Text, result[i].Text);
                    Assert.AreEqual(expectedResult[i].LastChanged, result[i].LastChanged);
                    Assert.AreEqual(expectedResult[i].Created, result[i].Created);
                    Assert.AreEqual(expectedResult[i].StereotypeId, result[i].StereotypeId);
                }
            }
            catch (ArgumentException)
            {
                Assert.IsTrue(expectedResultString == "ae");
            }
            finally
            {
                server.Stop();
            }
        }
Esempio n. 22
0
        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);
            }
        }