Ejemplo n.º 1
0
        public void RoundTripCourseControls()
        {
            UndoMgr undomgr = new UndoMgr(5);
            EventDB eventDB = new EventDB(undomgr);

            CourseControl ctl1, ctl2, ctl3, ctl4, ctl5, ctl6, ctl7, ctl8;

            undomgr.BeginCommand(61, "Command1");

            ctl1 = new CourseControl(ControlId(1), CourseControlId(2));
            eventDB.AddCourseControl(ctl1);

            ctl2                     = new CourseControl(ControlId(2), Id <CourseControl> .None);
            ctl2.split               = true;
            ctl2.splitEnd            = CourseControlId(5);
            ctl2.splitCourseControls = new Id <CourseControl>[3] {
                CourseControlId(2), CourseControlId(3), CourseControlId(4)
            };
            Id <CourseControl> ctl2id = eventDB.AddCourseControl(ctl2);

            ctl3        = new CourseControl(ControlId(5), CourseControlId(5));
            ctl3.points = 10;
            eventDB.AddCourseControl(ctl3);

            ctl4        = new CourseControl(ControlId(6), CourseControlId(5));
            ctl4.points = 20;
            ctl4.customNumberPlacement = true;
            ctl4.numberDeltaX          = -6.3F;
            ctl4.numberDeltaY          = 7.41F;
            eventDB.AddCourseControl(ctl4);

            ctl5 = new CourseControl(ControlId(7), CourseControlId(6));
            Id <CourseControl> ctl5Id = eventDB.AddCourseControl(ctl5);

            ctl2.splitEnd = ctl5Id;
            eventDB.ReplaceCourseControl(ctl2id, ctl2);

            ctl6 = new CourseControl(ControlId(8), Id <CourseControl> .None);
            eventDB.AddCourseControl(ctl6);

            ctl7 = new CourseControl(ControlId(6), CourseControlId(5));
            ctl7.descTextBefore = "hello";
            ctl7.descTextAfter  = "goodbye";
            eventDB.AddCourseControl(ctl7);

            ctl8          = new CourseControl(ControlId(5), CourseControlId(7));
            ctl8.exchange = true;
            eventDB.AddCourseControl(ctl8);

            undomgr.EndCommand(61);

            eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput_temp.xml"));

            undomgr.Clear();
            eventDB = new EventDB(undomgr);

            eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput_temp.xml"));

            CollectionAssert.AreEquivalent(new List <KeyValuePair <Id <CourseControl>, CourseControl> >(eventDB.AllCourseControlPairs),
                                           new KeyValuePair <Id <CourseControl>, CourseControl>[] {
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(1), ctl1),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(2), ctl2),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(3), ctl3),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(4), ctl4),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(5), ctl5),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(6), ctl6),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(7), ctl7),
                new KeyValuePair <Id <CourseControl>, CourseControl>(CourseControlId(8), ctl8),
            }
                                           );
        }
Ejemplo n.º 2
0
        public void RoundTripCourseControls()
        {
            UndoMgr undomgr = new UndoMgr(5);
            EventDB eventDB = new EventDB(undomgr);

            CourseControl ctl1, ctl2, ctl3, ctl4, ctl5, ctl6, ctl7, ctl8;

            undomgr.BeginCommand(61, "Command1");

            ctl1 = new CourseControl(ControlId(1), CourseControlId(2));
            eventDB.AddCourseControl(ctl1);

            ctl2 = new CourseControl(ControlId(2), Id<CourseControl>.None);
            ctl2.split = true;
            ctl2.splitEnd = CourseControlId(5);
            ctl2.splitCourseControls = new Id<CourseControl>[3] { CourseControlId(2), CourseControlId(3), CourseControlId(4) };
            Id<CourseControl> ctl2id = eventDB.AddCourseControl(ctl2);

            ctl3 = new CourseControl(ControlId(5), CourseControlId(5));
            ctl3.points = 10;
            eventDB.AddCourseControl(ctl3);

            ctl4 = new CourseControl(ControlId(6), CourseControlId(5));
            ctl4.points = 20;
            ctl4.customNumberPlacement = true;
            ctl4.numberDeltaX = -6.3F;
            ctl4.numberDeltaY = 7.41F;
            eventDB.AddCourseControl(ctl4);

            ctl5 = new CourseControl(ControlId(7), CourseControlId(6));
            Id<CourseControl> ctl5Id = eventDB.AddCourseControl(ctl5);

            ctl2.splitEnd = ctl5Id;
            eventDB.ReplaceCourseControl(ctl2id, ctl2);

            ctl6 = new CourseControl(ControlId(8), Id<CourseControl>.None);
            eventDB.AddCourseControl(ctl6);

            ctl7 = new CourseControl(ControlId(6), CourseControlId(5));
            ctl7.descTextBefore = "hello";
            ctl7.descTextAfter = "goodbye";
            eventDB.AddCourseControl(ctl7);

            ctl8 = new CourseControl(ControlId(5), CourseControlId(7));
            ctl8.exchange = true;
            eventDB.AddCourseControl(ctl8);

            undomgr.EndCommand(61);

            eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput_temp.xml"));

            undomgr.Clear();
            eventDB = new EventDB(undomgr);

            eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput_temp.xml"));

            CollectionAssert.AreEquivalent(new List<KeyValuePair<Id<CourseControl>, CourseControl>>(eventDB.AllCourseControlPairs),
                new KeyValuePair<Id<CourseControl>, CourseControl>[] {
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(1), ctl1),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(2), ctl2),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(3), ctl3),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(4), ctl4),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(5), ctl5),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(6), ctl6),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(7), ctl7),
                    new KeyValuePair<Id<CourseControl>,CourseControl>(CourseControlId(8), ctl8),
                }
            );
        }