示例#1
0
        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);
            }
        }
示例#2
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);
            }
        }
示例#3
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);
            }
        }