Ejemplo n.º 1
0
        public void ActiveTab()
        {
            bool success = controller.LoadInitialFile(TestUtil.GetTestFile("selectionmgr\\sampleevent1.coursescribe"), true);

            Assert.IsTrue(success);

            Assert.AreEqual(7, selectionMgr.TabCount);
            Assert.AreEqual(0, selectionMgr.ActiveTab);

            selectionMgr.ActiveTab = 5;
            Assert.AreEqual(5, selectionMgr.ActiveTab);

            UndoMgr undoMgr = controller.GetUndoMgr();
            EventDB eventDB = controller.GetEventDB();

            undoMgr.BeginCommand(197, "Add course");
            eventDB.AddCourse(new Course(CourseKind.Normal, "AAA", 15000, 1));
            undoMgr.EndCommand(197);

            Assert.AreEqual(6, selectionMgr.ActiveTab);

            undoMgr.BeginCommand(198, "Remove courses");
            eventDB.RemoveCourse(CourseId(1));
            undoMgr.EndCommand(198);

            Assert.AreEqual(0, selectionMgr.ActiveTab);
        }
Ejemplo n.º 2
0
        public void AddRemoveTabs()
        {
            bool success = controller.LoadInitialFile(TestUtil.GetTestFile("selectionmgr\\sampleevent1.coursescribe"), true);

            Assert.IsTrue(success);

            Assert.AreEqual(7, selectionMgr.TabCount);
            Assert.AreEqual(0, selectionMgr.ActiveTab);

            string[] expected = { "All controls", "Green Y", "Rambo", "SampleCourse4", "Score 4", "White", "Yellow" };

            for (int i = 0; i < expected.Length; ++i)
            {
                Assert.AreEqual(expected[i], selectionMgr.TabName(i));
            }


            UndoMgr undoMgr = controller.GetUndoMgr();
            EventDB eventDB = controller.GetEventDB();

            undoMgr.BeginCommand(197, "Add course");
            eventDB.AddCourse(new Course(CourseKind.Normal, "AAA", 15000, 10));
            undoMgr.EndCommand(197);
            undoMgr.BeginCommand(198, "Remove courses");
            eventDB.RemoveCourse(CourseId(1));
            eventDB.RemoveCourse(CourseId(4));
            undoMgr.EndCommand(198);

            expected = new string[] { "All controls", "Green Y", "Rambo", "Score 4", "Yellow", "AAA" };

            Assert.AreEqual(6, selectionMgr.TabCount);
            Assert.AreEqual(0, selectionMgr.ActiveTab);
            for (int i = 0; i < expected.Length; ++i)
            {
                Assert.AreEqual(expected[i], selectionMgr.TabName(i));
            }
        }
Ejemplo n.º 3
0
        public void RoundTripCourses()
        {
            UndoMgr    undomgr   = new UndoMgr(5);
            EventDB    eventDB   = new EventDB(undomgr);
            RectangleF mapBounds = new RectangleF(0, 0, 200, 300);

            Course course1, course2, course3, course4, course5;

            undomgr.BeginCommand(61, "Command1");

            course1                    = new Course(CourseKind.Normal, "White", 15000, 1);
            course1.descKind           = DescriptionKind.Symbols;
            course1.secondaryTitle     = "White is right";
            course1.load               = 0;
            course1.firstCourseControl = CourseControlId(1);
            course1.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course1);

            course2 = new Course(CourseKind.Normal, "Yellow", 15000, 2);
            course2.hideVariationsOnMap = true;
            course2.descKind            = DescriptionKind.SymbolsAndText;
            course2.climb              = 95;
            course2.labelKind          = ControlLabelKind.Code;
            course2.firstCourseControl = CourseControlId(0);
            course2.printArea          = new PrintArea(false, true, new RectangleF(50, 70, 200, 100));
            course2.partPrintAreas[1]  = new PrintArea(false, false, new RectangleF(10, 20, 30, 40), 1.1F);
            course2.partPrintAreas[0]  = new PrintArea(true, false, new RectangleF(70, 10, 130, 140));
            course2.partOptions[1]     = new PartOptions()
            {
                ShowFinish = true
            };
            course2.partOptions[0] = new PartOptions()
            {
                ShowFinish = false
            };
            course2.relaySettings = new RelaySettings(6, 43, 3);
            course2.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course2);

            course3 = new Course(CourseKind.Score, "Rambo", 10000, 3);
            course3.secondaryTitle     = "";
            course3.firstCourseControl = CourseControlId(2);
            course3.load  = 125;
            course3.climb = 0;
            course3.firstControlOrdinal = 7;
            course3.labelKind           = ControlLabelKind.SequenceAndCode;
            course3.descKind            = DescriptionKind.Text;
            course3.partPrintAreas[1]   = new PrintArea(true, true, new RectangleF(-10, -20, 90, 80), 0.9F);
            course3.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course3);

            course4 = new Course(CourseKind.Score, "Silly1", 10000, 3);
            course4.secondaryTitle     = "";
            course4.firstCourseControl = CourseControlId(2);
            course4.load  = 0;
            course4.climb = 25;
            course4.overrideCourseLength = 4243;
            course4.firstControlOrdinal  = 3;
            course4.labelKind            = ControlLabelKind.SequenceAndScore;
            course4.descKind             = DescriptionKind.SymbolsAndText;
            course4.partPrintAreas[1]    = new PrintArea(false, false, new RectangleF(-10, -20, 90, 80));
            course4.partOptions[1]       = new PartOptions()
            {
                ShowFinish = false
            };
            course4.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course4);

            course5 = new Course(CourseKind.Score, "Silly2", 10000, 3);
            course5.secondaryTitle     = "";
            course5.firstCourseControl = CourseControlId(2);
            course5.load  = 125;
            course5.climb = 0;
            course5.firstControlOrdinal = 1;
            course5.labelKind           = ControlLabelKind.CodeAndScore;
            course5.descKind            = DescriptionKind.Symbols;
            course5.partPrintAreas[1]   = new PrintArea(false, false, new RectangleF(-10, -20, 90, 80), 1.25F);
            FixedBranchAssignments relayBranchAssignments = new FixedBranchAssignments();

            relayBranchAssignments.AddBranchAssignment('B', 1);
            relayBranchAssignments.AddBranchAssignment('A', 2);
            relayBranchAssignments.AddBranchAssignment('A', 3);
            relayBranchAssignments.AddBranchAssignment('C', 4);
            course5.relaySettings = new RelaySettings(10, 5, 6, relayBranchAssignments);
            course5.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course5);

            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"));

            Assert.AreEqual(eventDB.GetCourse(CourseId(1)), course1);
            Assert.AreEqual(eventDB.GetCourse(CourseId(2)), course2);
            Assert.AreEqual(eventDB.GetCourse(CourseId(3)), course3);
            Assert.AreEqual(eventDB.GetCourse(CourseId(4)), course4);
            Assert.AreEqual(eventDB.GetCourse(CourseId(5)), course5);

            TestUtil.TestEnumerableAnyOrder(eventDB.AllCoursePairs,
                                            new KeyValuePair <Id <Course>, Course>[] {
                new KeyValuePair <Id <Course>, Course>(CourseId(1), course1),
                new KeyValuePair <Id <Course>, Course>(CourseId(2), course2),
                new KeyValuePair <Id <Course>, Course>(CourseId(3), course3),
                new KeyValuePair <Id <Course>, Course>(CourseId(4), course4),
                new KeyValuePair <Id <Course>, Course>(CourseId(5), course5),
            }
                                            );
        }
Ejemplo n.º 4
0
        public void RoundTripCourses()
        {
            UndoMgr undomgr = new UndoMgr(5);
            EventDB eventDB = new EventDB(undomgr);
            RectangleF mapBounds = new RectangleF(0, 0, 200, 300);

            Course course1, course2, course3, course4, course5;

            undomgr.BeginCommand(61, "Command1");

            course1 = new Course(CourseKind.Normal, "White", 15000, 1);
            course1.descKind = DescriptionKind.Symbols;
            course1.secondaryTitle = "White is right";
            course1.load = 0;
            course1.firstCourseControl = CourseControlId(1);
            course1.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course1);

            course2 = new Course(CourseKind.Normal, "Yellow", 15000, 2);
            course2.descKind = DescriptionKind.SymbolsAndText;
            course2.climb = 95;
            course2.labelKind = ControlLabelKind.Code;
            course2.firstCourseControl = CourseControlId(0);
            course2.printArea = new PrintArea(false, true, new RectangleF(50, 70, 200, 100));
            course2.partPrintAreas[1] = new PrintArea(false, false, new RectangleF(10, 20, 30, 40), 1.1F);
            course2.partPrintAreas[0] = new PrintArea(true, false, new RectangleF(70, 10, 130, 140));
            course2.partOptions[1] = new PartOptions() { ShowFinish = true };
            course2.partOptions[0] = new PartOptions() { ShowFinish = false };
            course2.relayTeams = 43;
            course2.relayLegs = 3;
            course2.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course2);

            course3 = new Course(CourseKind.Score, "Rambo", 10000, 3);
            course3.secondaryTitle = "";
            course3.firstCourseControl = CourseControlId(2);
            course3.load = 125;
            course3.climb = 0;
            course3.firstControlOrdinal = 7;
            course3.labelKind = ControlLabelKind.SequenceAndCode;
            course3.descKind = DescriptionKind.Text;
            course3.partPrintAreas[1] = new PrintArea(true, true, new RectangleF(-10, -20, 90, 80), 0.9F);
            course3.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course3);

            course4 = new Course(CourseKind.Score, "Silly1", 10000, 3);
            course4.secondaryTitle = "";
            course4.firstCourseControl = CourseControlId(2);
            course4.load = 0;
            course4.climb = 25;
            course4.overrideCourseLength = 4243;
            course4.firstControlOrdinal = 3;
            course4.labelKind = ControlLabelKind.SequenceAndScore;
            course4.descKind = DescriptionKind.SymbolsAndText;
            course4.partPrintAreas[1] = new PrintArea(false, false, new RectangleF(-10, -20, 90, 80));
            course4.partOptions[1] = new PartOptions() { ShowFinish = false };
            course4.relayTeams = 0;
            course4.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course4);

            course5 = new Course(CourseKind.Score, "Silly2", 10000, 3);
            course5.secondaryTitle = "";
            course5.firstCourseControl = CourseControlId(2);
            course5.load = 125;
            course5.climb = 0;
            course5.firstControlOrdinal = 1;
            course5.labelKind = ControlLabelKind.CodeAndScore;
            course5.descKind = DescriptionKind.Symbols;
            course5.partPrintAreas[1] = new PrintArea(false, false, new RectangleF(-10, -20, 90, 80), 1.25F);
            course5.relayTeams = 5;
            course5.relayLegs = 6;
            course5.UpdateUnknownPageSizes(mapBounds, 15000);
            eventDB.AddCourse(course5);

            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"));

            Assert.AreEqual(eventDB.GetCourse(CourseId(1)), course1);
            Assert.AreEqual(eventDB.GetCourse(CourseId(2)), course2);
            Assert.AreEqual(eventDB.GetCourse(CourseId(3)), course3);
            Assert.AreEqual(eventDB.GetCourse(CourseId(4)), course4);
            Assert.AreEqual(eventDB.GetCourse(CourseId(5)), course5);

            TestUtil.TestEnumerableAnyOrder(eventDB.AllCoursePairs,
                new KeyValuePair<Id<Course>, Course>[] {
                    new KeyValuePair<Id<Course>,Course>(CourseId(1), course1),
                    new KeyValuePair<Id<Course>,Course>(CourseId(2), course2),
                    new KeyValuePair<Id<Course>,Course>(CourseId(3), course3),
                    new KeyValuePair<Id<Course>,Course>(CourseId(4), course4),
                    new KeyValuePair<Id<Course>,Course>(CourseId(5), course5),
                }
            );
        }