Exemplo n.º 1
0
        public void IntersectionTest()
        {
            var gw = new graphWindow();
            var mw = new MainWindow();
            int LengthDB = 0;
            int x1 = 6, x2 = 9, y1 = 9, y2 = 1,
                x3 = 6, x4 = 9, y3 = 1, y4 = 9;

            mw.ClearDB();
            LengthDB = 0;
            foreach (var p in mw.db.segments)
            {
                LengthDB++;
            }
            Assert.IsTrue(LengthDB == 0);
            LengthDB = 0;
            mw.AddVector(x1, x2, y1, y2);
            mw.AddVector(x3, x4, y3, y4);
            var seg1 = mw.db.segments.Where(s => s.x1 == 6 && s.x2 == 9 && s.y1 == 9 && s.y2 == 1).First <segments>();
            var seg2 = mw.db.segments.Where(s => s.x1 == 6 && s.x2 == 9 && s.y1 == 1 && s.y2 == 9).First <segments>();

            Assert.IsTrue(gw.Intersection(seg1, seg2));



            LengthDB = 0;
            mw.AddVector(1, 9, 1, 1);
            mw.AddVector(1, 9, 2, 2);
            seg1 = mw.db.segments.Where(s => s.x1 == 1 && s.x2 == 9 && s.y1 == 1 && s.y2 == 1).First <segments>();
            seg2 = mw.db.segments.Where(s => s.x1 == 1 && s.x2 == 9 && s.y1 == 2 && s.y2 == 2).First <segments>();

            Assert.IsFalse(gw.Intersection(seg1, seg2));
        }
Exemplo n.º 2
0
        public void ReletionTest()
        {
            var gw = new graphWindow();
            var mw = new MainWindow();
            int LengthDB = 0;
            int x1 = 6, x2 = 9, y1 = 9, y2 = 1,
                x3 = 6, x4 = 9, y3 = 1, y4 = 9;

            mw.ClearDB();
            LengthDB = 0;
            foreach (var p in mw.db.segments)
            {
                LengthDB++;
            }
            Assert.IsTrue(LengthDB == 0);
            LengthDB = 0;

            mw.AddVector(x1, x2, y1, y2);

            var seg1 = mw.db.segments.Where(s => s.x1 == 6 && s.x2 == 9 && s.y1 == 9 && s.y2 == 1).First <segments>();

            int rel1 = 3, rel2 = 7;

            mw.AddRelation(seg1.Name, rel1, rel2);
            var rel = mw.db.Relations.Where(w => w.segment_ID == seg1.id && w.relation1 == rel1 && w.relation2 == rel2).First <Relations>();

            Assert.IsFalse(gw.Reletion(rel, "") != 0);
            Assert.IsTrue(gw.Reletion(rel, "x") != 0);
            Assert.IsTrue(gw.Reletion(rel, "y") != 0);
        }
Exemplo n.º 3
0
        private void SaveGraph(string filename, graphWindow gW)
        {
            var canvProp = gW.canvasProps;

            dispatch.Invoke((ThreadStart) delegate
            {
                canvProp.WindowLeft = gW.Left;
                canvProp.WindowTop  = gW.Top;
            });
            if (string.IsNullOrEmpty(filename) && (!string.IsNullOrEmpty(gW.filename)))
            {
                filename = gW.filename;
            }
            SaveGraph(filename, gW.graph, gW.canvasProps);
        }