public void ComplexVariationsOnePath()
        {
            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            CourseDesignator courseDesignator = new CourseDesignator(CourseId(1), variationInfo);
            CheckCourse("topologyformatter\\variations.ppen", courseDesignator, "complexvariations_onepath");
        }
Пример #2
0
        public void ComplexVariationsOnePath()
        {
            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            CourseDesignator courseDesignator = new CourseDesignator(CourseId(1), variationInfo);

            CheckCourse("topologyformatter\\variations.ppen", courseDesignator, "complexvariations_onepath");
        }
Пример #3
0
        public void SingleVariation()
        {
            SymbolDB symbolDB = new SymbolDB(Util.GetFileInAppDirectory("symbols.xml"));
            UndoMgr  undomgr  = new UndoMgr(5);
            EventDB  eventDB  = new EventDB(undomgr);

            eventDB.Load(TestUtil.GetTestFile("queryevent\\variations.ppen"));
            eventDB.Validate();

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            CourseDesignator courseDesignator = new CourseDesignator(CourseId(1), variationInfo);

            CheckCourseBothAppearances("queryevent\\variations.ppen", courseDesignator, false, "singlevariation", new RectangleF(-15, -100, 230, 230));
        }
Пример #4
0
        public void SingleVariation()
        {
            SymbolDB symbolDB = new SymbolDB(Util.GetFileInAppDirectory("symbols.xml"));
            UndoMgr undomgr = new UndoMgr(5);
            EventDB eventDB = new EventDB(undomgr);

            eventDB.Load(TestUtil.GetTestFile("queryevent\\variations.ppen"));
            eventDB.Validate();

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            CourseDesignator courseDesignator = new CourseDesignator(CourseId(1), variationInfo);

            CheckCourseBothAppearances("queryevent\\variations.ppen", courseDesignator, false, "singlevariation", new RectangleF(-15, -100, 230, 230));
        }
Пример #5
0
        public void CanAddVariation()
        {
            Setup("queryevent\\variations.ppen");

            bool result = QueryEvent.CanAddVariation(eventDB, CourseDesignator.AllControls, CourseControlId(2));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(3));
            Assert.IsTrue(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(2));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(11));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(4));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(25));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(19));
            Assert.IsTrue(result);

            result = QueryEvent.CanAddVariation(eventDB, Designator(1), CourseControlId(1));
            Assert.IsTrue(result);

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            CourseDesignator designator = new CourseDesignator(CourseId(1), variationInfo);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(3));
            Assert.IsTrue(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(2));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(11));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(4));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(25));
            Assert.IsFalse(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(19));
            Assert.IsTrue(result);

            result = QueryEvent.CanAddVariation(eventDB, designator, CourseControlId(1));
            Assert.IsTrue(result);
        }
Пример #6
0
        public void EnumLegsVariations()
        {
            Setup("queryevent\\variations.ppen");

            List<QueryEvent.LegInfo> result;

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = new VariationInfo("AEFDCI", variationPath);

            result = QueryEvent.EnumLegs(eventDB, new CourseDesignator(CourseId(1), variationInfo)).ToList();

            CollectionAssert.AreEqual(result, new[] {
                new QueryEvent.LegInfo(CourseControlId(1), CourseControlId(2)),
                new QueryEvent.LegInfo(CourseControlId(2), CourseControlId(3)),
                new QueryEvent.LegInfo(CourseControlId(3), CourseControlId(27)),
                new QueryEvent.LegInfo(CourseControlId(27), CourseControlId(19)),
                new QueryEvent.LegInfo(CourseControlId(19), CourseControlId(30)),
                new QueryEvent.LegInfo(CourseControlId(30), CourseControlId(20)),
                new QueryEvent.LegInfo(CourseControlId(20), CourseControlId(23)),
                new QueryEvent.LegInfo(CourseControlId(23), CourseControlId(26)),
                new QueryEvent.LegInfo(CourseControlId(26), CourseControlId(17)),
                new QueryEvent.LegInfo(CourseControlId(17), CourseControlId(18)),
                new QueryEvent.LegInfo(CourseControlId(18), CourseControlId(25)),
                new QueryEvent.LegInfo(CourseControlId(25), CourseControlId(15)),
                new QueryEvent.LegInfo(CourseControlId(15), CourseControlId(16)),
                new QueryEvent.LegInfo(CourseControlId(16), CourseControlId(4)),
                new QueryEvent.LegInfo(CourseControlId(4), CourseControlId(5)),
                new QueryEvent.LegInfo(CourseControlId(5), CourseControlId(6)),
                new QueryEvent.LegInfo(CourseControlId(6), CourseControlId(7)),
                new QueryEvent.LegInfo(CourseControlId(7), CourseControlId(8)),
                new QueryEvent.LegInfo(CourseControlId(8), CourseControlId(28)),
                new QueryEvent.LegInfo(CourseControlId(28), CourseControlId(13)),
                new QueryEvent.LegInfo(CourseControlId(13), CourseControlId(10)),
                new QueryEvent.LegInfo(CourseControlId(10), CourseControlId(11))
            });
        }
Пример #7
0
        public void EnumCourseControlIdsVariation()
        {
            Setup("queryevent\\variations.ppen");
            List<Id<CourseControl>> result;

            result = QueryEvent.EnumCourseControlIds(eventDB, Designator(1)).ToList();
            CollectionAssert.AreEquivalent(result, new[] {
                CourseControlId(1), CourseControlId(2), CourseControlId(3), CourseControlId(4), CourseControlId(5),
                CourseControlId(6), CourseControlId(7), CourseControlId(8), CourseControlId(9), CourseControlId(10),
                CourseControlId(11), CourseControlId(12), CourseControlId(13), CourseControlId(14), CourseControlId(15),
                CourseControlId(16), CourseControlId(17), CourseControlId(18), CourseControlId(19), CourseControlId(20),
                CourseControlId(21), CourseControlId(22), CourseControlId(23), CourseControlId(24), CourseControlId(25),
                CourseControlId(26), CourseControlId(27), CourseControlId(28), CourseControlId(29), CourseControlId(30),
            });

            /////////////////////////////////////////////////////////////////

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(24)
            });
            VariationInfo variationInfo = new VariationInfo("B", variationPath);

            result = QueryEvent.EnumCourseControlIds(eventDB, new CourseDesignator(CourseId(1), variationInfo)).ToList();
            CollectionAssert.AreEqual(result, new[] {
                CourseControlId(1), CourseControlId(24), CourseControlId(12), CourseControlId(10), CourseControlId(11)
            });

            /////////////////////////////////////////////////////////////////

            variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            variationInfo = new VariationInfo("AEFDCI", variationPath);

            // TODO VARIATIONS
            result = QueryEvent.EnumCourseControlIds(eventDB, new CourseDesignator(CourseId(1), variationInfo)).ToList();
            CollectionAssert.AreEqual(result, new[] {
                CourseControlId(1), CourseControlId(2), CourseControlId(3), CourseControlId(27), CourseControlId(19),
                CourseControlId(30), CourseControlId(20), CourseControlId(23), CourseControlId(26), CourseControlId(17),
                CourseControlId(18), CourseControlId(25), CourseControlId(15), CourseControlId(16), CourseControlId(4),
                CourseControlId(5), CourseControlId(6), CourseControlId(7), CourseControlId(8), CourseControlId(28),
                CourseControlId(13), CourseControlId(10), CourseControlId(11)
            });
        }
Пример #8
0
        public void GetVariationString()
        {
            Setup("queryevent\\variations.ppen");

            string result;

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });

            result = QueryEvent.GetVariationString(eventDB, new Id<Course>(1), variationPath);
            Assert.AreEqual("AEFDCI", result);
        }
Пример #9
0
        public void AddVariation2()
        {
            Setup("queryevent\\variations.ppen");

            VariationInfo.VariationPath variationPath = new VariationInfo.VariationPath(new[] {
                CourseControlId(2),
                CourseControlId(27),
                CourseControlId(30),
                CourseControlId(26),
                CourseControlId(25),
                CourseControlId(4),
                CourseControlId(28),
            });
            VariationInfo variationInfo = (from vi in QueryEvent.GetAllVariations(eventDB, CourseId(1)) where vi.Path.Equals(variationPath) select vi).First();

            CourseDesignator designator = new CourseDesignator(CourseId(1), variationInfo);

            undomgr.BeginCommand(3413, "Add Variation");

            bool result = ChangeEvent.AddVariation(eventDB, designator, CourseControlId(3), true, 2);
            Assert.IsTrue(result);

            undomgr.EndCommand(3413);

            eventDB.Validate();

            CourseControl cc = eventDB.GetCourseControl(CourseControlId(3));
            Assert.IsTrue(cc.split);
            Assert.IsTrue(cc.loop);
            Assert.AreEqual(3, cc.splitCourseControls.Length);

            undomgr.Undo();
            eventDB.Validate();
        }