Ejemplo n.º 1
0
        public void TestSynchroFinishPersistence()
        {
            TestGraph1 tg1 = new TestGraph1();
            TestGraph1 tg2 = new TestGraph1();
            // Synchronize ta and tc
            VertexSynchronizer vs1 = new VertexSynchronizer(tg1.model.Executive, new Vertex[] { tg1.ta.PostVertex, tg1.tc.PostVertex }, ExecEventType.Detachable);
            // Synchronize tc and ta
            VertexSynchronizer vs2 = new VertexSynchronizer(tg2.model.Executive, new Vertex[] { tg2.tc.PostVertex, tg2.ta.PostVertex }, ExecEventType.Detachable);

            storeXML(tg1);
            tg1 = null;
            loadXML(ref tg1);

            storeXML(tg2);
            tg2 = null;
            loadXML(ref tg2);

            // Test graph 1
            Assert.AreEqual(tg1.ta.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task A did not finish at 4AM 1/1/1");

            Assert.AreEqual(tg1.tc.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task C did not finish at 4AM 1/1/1");

            Assert.AreEqual(tg1.td.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task D did not start at 4AM 1/1/1");

            tg1.model.Start();
            _Debug.WriteLine("Test 2");
            tg2.model.Start();

            // Test graph 2
            Assert.AreEqual(tg2.ta.GetFinishTime(tg2.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task A did not finish at 4AM 1/1/1");

            Assert.AreEqual(tg2.tc.GetFinishTime(tg2.GraphContext), new DateTime(1, 1, 1, 1, 0, 0), "Task C did not finish at 1AM 1/1/1");

            Assert.AreEqual(tg2.td.GetStartTime(tg2.GraphContext), new DateTime(1, 1, 1, 1, 0, 0), "Task D did not start at 1AM 1/1/1");
        }
Ejemplo n.º 2
0
        public void TestPlainGraphPersistence()
        {
            TestGraph1 tg1 = new TestGraph1();

            storeXML(tg1);
            tg1 = null;
            loadXML(ref tg1);

            tg1.model.Start();

            Assert.AreEqual(tg1.ta.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 0, 0, 0), "Task A did not start at 12AM 1/1/1");
            Assert.AreEqual(tg1.ta.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task A did not finish at 4AM 1/1/1");

            Assert.AreEqual(tg1.tb.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task B did not start at 4AM 1/1/1");
            Assert.AreEqual(tg1.tb.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 5, 0, 0), "Task B did not finish at 5AM 1/1/1");

            Assert.AreEqual(tg1.tc.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 0, 0, 0), "Task C did not start at 12AM 1/1/1");
            Assert.AreEqual(tg1.tc.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 1, 0, 0), "Task C did not finish at 1AM 1/1/1");

            Assert.AreEqual(tg1.td.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 1, 0, 0), "Task D did not start at 1AM 1/1/1");
            Assert.AreEqual(tg1.td.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 2, 0, 0), "Task D did not start at 1AM 1/1/1");

            Assert.AreEqual(tg1.parent.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 0, 0, 0), "Task parent did not start at 12AM 1/1/1");
            // AEL, bug \"Set finish time on a task\" submitted
            //Assert.AreEqual(tg1.parent.GetFinishTime(tg1.GraphContext), new DateTime(1,1,1,5,0,0), "Task parent did not finish at 5AM 1/1/1");
        }
Ejemplo n.º 3
0
        private void storeXML(TestGraph1 tg1)
        {
            XmlSerializationContext xmlsc = new XmlSerializationContext();

            xmlsc.StoreObject("TG", tg1);
            xmlsc.Save(System.Environment.GetEnvironmentVariable("TEMP") + "\\TestGraphPersistence.xml");
        }
Ejemplo n.º 4
0
        public void TestSynchroStart()
        {
            TestGraph1 tg1 = new TestGraph1();
            TestGraph1 tg2 = new TestGraph1();
            // Synchronize tb and td
            VertexSynchronizer vs1 = new VertexSynchronizer(tg1.model.Executive, new Vertex[] { tg1.tb.PreVertex, tg1.td.PreVertex }, ExecEventType.Detachable);
            // Synchronize tb and tc
            VertexSynchronizer vs2 = new VertexSynchronizer(tg2.model.Executive, new Vertex[] { tg2.tb.PreVertex, tg2.tc.PreVertex }, ExecEventType.Detachable);

            tg1.model.Start();
            Debug.WriteLine("Test 2");
            tg2.model.Start();

            // Test graph 1
            Assert.IsTrue(tg1.tb.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task B did not start at 4AM 1/1/1");

            Assert.IsTrue(tg1.td.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task D did not start at 4AM 1/1/1");

            Assert.IsTrue(tg1.parent.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 5, 0, 0)), "Task parent did not finish at 5AM 1/1/1");

            // Test graph 2
            Assert.IsTrue(tg2.tb.GetStartTime(tg2.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task B did not start at 4AM 1/1/1");

            Assert.IsTrue(tg2.tc.GetStartTime(tg2.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task C did not start at 4AM 1/1/1");

            Assert.IsTrue(tg2.parent.GetFinishTime(tg2.GraphContext).Equals(new DateTime(1, 1, 1, 6, 0, 0)), "Task parent did not finish at 6AM 1/1/1");
        }
Ejemplo n.º 5
0
        private void loadXML(ref TestGraph1 tg1)
        {
            XmlSerializationContext xmlsc = new XmlSerializationContext();

            xmlsc.Load(System.Environment.GetEnvironmentVariable("TEMP") + "\\TestGraphPersistence.xml");
            xmlsc.ContextEntities.Add("Model", new Model("Reconstituted Model"));
            tg1 = (TestGraph1)xmlsc.LoadObject("TG");
        }
Ejemplo n.º 6
0
        public void TestCoFinish()
        {
            TestGraph1 tg1 = new TestGraph1();

            tg1.ta.AddCofinish(tg1.tc);

            tg1.model.Start();

            Assert.IsTrue(tg1.ta.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task A did not finish at 4AM 1/1/1");

            Assert.IsTrue(tg1.tc.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task C did not finish at 4AM 1/1/1");
        }
Ejemplo n.º 7
0
        public void TestCoStart()
        {
            TestGraph1 tg1 = new TestGraph1();

            tg1.tb.AddCostart(tg1.td);

            tg1.model.Start();

            Assert.IsTrue(tg1.tb.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task B did not start at 4AM 1/1/1");

            Assert.IsTrue(tg1.td.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task D did not start at 4AM 1/1/1");
        }
Ejemplo n.º 8
0
        public void TestCoFinishPersistence()
        {
            TestGraph1 tg1 = new TestGraph1();

            tg1.ta.AddCofinish(tg1.tc);

            storeXML(tg1);
            tg1 = null;
            loadXML(ref tg1);

            tg1.model.Start();

            Assert.AreEqual(tg1.ta.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task A did not finish at 4AM 1/1/1");

            Assert.AreEqual(tg1.tc.GetFinishTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task C did not finish at 4AM 1/1/1");
        }
Ejemplo n.º 9
0
        public void TestCoStartPersistance()
        {
            TestGraph1 tg1 = new TestGraph1();

            tg1.tb.AddCostart(tg1.td);

            storeXML(tg1);
            tg1 = null;
            loadXML(ref tg1);

            tg1.model.Start();

            Assert.AreEqual(tg1.tb.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task B did not start at 4AM 1/1/1");

            Assert.AreEqual(tg1.td.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task D did not start at 4AM 1/1/1");
        }
Ejemplo n.º 10
0
        public void TestSynchroStartPersistence()
        {
            TestGraph1 tg1 = new TestGraph1();
            TestGraph1 tg2 = new TestGraph1();
            // Synchronize tb and td
            VertexSynchronizer vs1 = new VertexSynchronizer(tg1.model.Executive, new Vertex[] { tg1.tb.PreVertex, tg1.td.PreVertex }, ExecEventType.Detachable);
            // Synchronize tb and tc
            VertexSynchronizer vs2 = new VertexSynchronizer(tg2.model.Executive, new Vertex[] { tg2.tb.PreVertex, tg2.tc.PreVertex }, ExecEventType.Detachable);

            storeXML(tg1);
            tg1 = null;
            loadXML(ref tg1);

            storeXML(tg2);
            tg2 = null;
            loadXML(ref tg2);

            tg1.model.Start();
            _Debug.WriteLine("Test 2");
            tg2.model.Start();

            // Test graph 1
            Assert.AreEqual(tg1.tb.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task B did not start at 4AM 1/1/1");

            Assert.AreEqual(tg1.td.GetStartTime(tg1.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task D did not start at 4AM 1/1/1");

            // AEL, bug \"Set finish time on a task\" submitted
            //Assert.AreEqual(tg1.parent.GetFinishTime(tg1.GraphContext), new DateTime(1,1,1,5,0,0), "Task parent did not finish at 5AM 1/1/1");

            // Test graph 2
            Assert.AreEqual(tg2.tb.GetStartTime(tg2.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task B did not start at 4AM 1/1/1");

            Assert.AreEqual(tg2.tc.GetStartTime(tg2.GraphContext), new DateTime(1, 1, 1, 4, 0, 0), "Task C did not start at 4AM 1/1/1");

            // AEL, bug \"Set finish time on a task\" submitted
            //Assert.AreEqual(tg2.parent.GetFinishTime(tg2.GraphContext), new DateTime(1,1,1,6,0,0), "Task parent did not finish at 6AM 1/1/1");
        }
Ejemplo n.º 11
0
        public void TestPlainGraph()
        {
            TestGraph1 tg1 = new TestGraph1();

            tg1.model.Start();

            Assert.IsTrue(tg1.ta.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 0, 0, 0)), "Task A did not start at 12AM 1/1/1");
            Assert.IsTrue(tg1.ta.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task A did not finish at 4AM 1/1/1");

            Assert.IsTrue(tg1.tb.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 4, 0, 0)), "Task B did not start at 4AM 1/1/1");
            Assert.IsTrue(tg1.tb.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 5, 0, 0)), "Task B did not finish at 5AM 1/1/1");

            Assert.IsTrue(tg1.tc.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 0, 0, 0)), "Task C did not start at 12AM 1/1/1");
            Assert.IsTrue(tg1.tc.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 1, 0, 0)), "Task C did not finish at 1AM 1/1/1");

            Assert.IsTrue(tg1.td.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 1, 0, 0)), "Task D did not start at 1AM 1/1/1");
            Assert.IsTrue(tg1.td.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 2, 0, 0)), "Task D did not start at 1AM 1/1/1");

            Assert.IsTrue(tg1.parent.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 0, 0, 0)), "Task parent did not start at 12AM 1/1/1");
            Assert.IsTrue(tg1.parent.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 5, 0, 0)), "Task parent did not finish at 5AM 1/1/1");

            Assert.IsTrue(tg1.follow.GetStartTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 5, 0, 0)), "Task follow did not start at 5AM 1/1/1");
            Assert.IsTrue(tg1.follow.GetFinishTime(tg1.GraphContext).Equals(new DateTime(1, 1, 1, 5, 0, 0)), "Task follow did not finish at 5AM 1/1/1");
        }