Exemplo n.º 1
0
        public void ProcessCompareTestFalse()
        {
            // Arrange
            Process process1 = new Process();

            TracingProcedure       procedure1 = new TracingProcedure();
            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            process1.Blocks.Add(procedure1);
            process1.Blocks.Add(procedure2);

            process1.Connections.Connect(procedure1, 0, procedure2, 0);

            process1.StartBlock = procedure1;
            process1.EndBlock   = procedure2;

            Process process2 = new Process();

            SampleTestingProcedure procedure21 = new SampleTestingProcedure();
            SampleTestingProcedure procedure22 = new SampleTestingProcedure();

            process2.Blocks.Add(procedure21);
            process2.Blocks.Add(procedure22);

            process2.Connections.Connect(procedure21, 0, procedure22, 0);

            process2.StartBlock = procedure21;
            process2.EndBlock   = procedure22;

            Assert.AreNotEqual(process1, process2);
        }
Exemplo n.º 2
0
        public void UpdateWithResTest()
        {
            // arrange
            SampleTestingProcedure procedure = new SampleTestingProcedure();

            procedure.AddToken(new Token(bornTime: 0, complexity: 1), 0);
            Token token = null;

            // act
            ModelingTime modelingTime = new ModelingTime()
            {
                Delta = 1, Now = 0
            };

            for (modelingTime.Now = 0; modelingTime.Now < 1000 && token == null; modelingTime.Now += modelingTime.Delta)
            {
                procedure.Update(modelingTime);
                token = procedure.GetOutputToken(0);
                procedure.ClearOutputs();
            }

            // Asserts
            Assert.AreNotEqual(token, null);
            if (modelingTime.Now < 99 || modelingTime.Now > 100)
            {
                Assert.Fail();                                                 //ровно 100 для сложности 1
            }
        }
Exemplo n.º 3
0
        public void ProcessCompareTestTrue()
        {
            // Arrange
            Process process1 = new Process();

            SampleTestingProcedure procedure1 = new SampleTestingProcedure();
            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            process1.Blocks.Add(procedure1);
            process1.Blocks.Add(procedure2);

            process1.Connections.Connect(procedure1, 0, procedure2, 0);

            process1.StartBlock = procedure1;
            process1.EndBlock   = procedure2;

            Process process2 = new Process();

            SampleTestingProcedure procedure21 = new SampleTestingProcedure();
            SampleTestingProcedure procedure22 = new SampleTestingProcedure();

            process2.Blocks.Add(procedure21);
            process2.Blocks.Add(procedure22);

            process2.Connections.Connect(procedure21, 0, procedure22, 0);

            process2.StartBlock = procedure21;
            process2.EndBlock   = procedure22;
        }
Exemplo n.º 4
0
        public void CreateProcessWithResTest()
        {
            // Arrange
            Process process1 = new Process();

            SampleTestingProcedure procedure1 = new SampleTestingProcedure();

            procedure1.AddResorce(new CadResource());
            procedure1.AddResorce(new WorkerResource());
            procedure1.AddResorce(new TechincalSupportResource());

            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            process1.Blocks.Add(procedure1);
            process1.Blocks.Add(procedure2);

            process1.Connections.Connect(procedure1, 0, procedure2, 0);

            process1.StartBlock = procedure1;
            process1.EndBlock   = procedure2;

            // act
            Process process2 = SaveTester <Process> .StartSaveTest(process1);

            // Asserts
            Assert.AreEqual(process1, process2);
        }
Exemplo n.º 5
0
        public void CreateAndUpdateProcedure()
        {
            // Arrange
            Token temp = new Token(10, 15);

            SampleTestingProcedure procedure1 = new SampleTestingProcedure();

            procedure1.AddToken(temp, 0);
            procedure1.AddResorce(new WorkerResource());
            procedure1.AddResorce(new CadResource());
            procedure1.AddResorce(new TechincalSupportResource());
            procedure1.Update(new ModelingTime());

            SampleTestingProcedure procedure2;

            // Act
            procedure2 = SaveTester <SampleTestingProcedure> .StartSaveTest(procedure1);

            // Asserts
            Assert.AreEqual((procedure1).Description, (procedure2).Description);
            Assert.AreEqual((procedure1).InputQuantity, (procedure2).InputQuantity);
            Assert.AreEqual((procedure1).OutputQuantity, (procedure2).OutputQuantity);
            Assert.AreEqual((procedure1).ResourceCount, (procedure2).ResourceCount);
            Assert.AreEqual((procedure1).TokenCollector, (procedure2).TokenCollector);
        }
Exemplo n.º 6
0
        public void CreateEmptyProcedureAsIBlock()
        {
            // Arrange
            IBlock procedure1 = new SampleTestingProcedure();
            IBlock procedure2;

            // Act
            procedure2 = SaveTester <IBlock> .StartSaveTest(procedure1);

            // Asserts
            Assert.AreEqual((procedure1 as SampleTestingProcedure).Description, (procedure2 as SampleTestingProcedure).Description);
            Assert.AreEqual((procedure1 as SampleTestingProcedure).InputQuantity, (procedure2 as SampleTestingProcedure).InputQuantity);
            Assert.AreEqual((procedure1 as SampleTestingProcedure).OutputQuantity, (procedure2 as SampleTestingProcedure).OutputQuantity);
            Assert.AreEqual((procedure1 as SampleTestingProcedure).ResourceCount, (procedure2 as SampleTestingProcedure).ResourceCount);
            Assert.AreEqual((procedure1 as SampleTestingProcedure).TokenCollector, (procedure2 as SampleTestingProcedure).TokenCollector);
        }
Exemplo n.º 7
0
        public void SubprocessTest()
        {
            //arrange
            Process process    = new Process();
            Process subprocess = new Process();

            SampleTestingProcedure procedure  = new SampleTestingProcedure();
            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            subprocess.Blocks.Add(procedure);
            subprocess.StartBlock = procedure;
            subprocess.EndBlock   = procedure;

            process.Blocks.Add(subprocess);
            process.Blocks.Add(procedure2);
            process.Connections.Connect(subprocess, 0, procedure2, 0);
            process.StartBlock = subprocess;
            process.EndBlock   = procedure2;



            //act

            //добавляем на стартовый блок токен
            process.AddToken(new Token(0, complexity: 1), 0);
            //double i = 0;
            ModelingTime modelingTime = new ModelingTime()
            {
                Delta = 1, Now = 0
            };

            //цикл до тех пор, пока на выходе не появится токен
            for (modelingTime.Now = 0; modelingTime.Now < 1000 && !process.EndBlockHasOutputToken; modelingTime.Now += modelingTime.Delta)
            {
                process.Update(modelingTime);
            }

            // Asserts
            if (modelingTime.Now < 197 || modelingTime.Now > 200)
            {
                Assert.Fail();
            }
        }
Exemplo n.º 8
0
        public void StartProcess()
        {
            // Arrange
            Process process1 = new Process();

            SampleTestingProcedure procedure1 = new SampleTestingProcedure();

            procedure1.AddResorce(new CadResource());
            procedure1.AddResorce(new WorkerResource());
            procedure1.AddResorce(new TechincalSupportResource());

            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            process1.Blocks.Add(procedure1);
            process1.Blocks.Add(procedure2);

            process1.Connections.Connect(procedure1, 0, procedure2, 0);

            process1.StartBlock = procedure1;
            process1.EndBlock   = procedure2;

            //добавляем на стартовый блок токен
            process1.AddToken(new Token(0, complexity: 1), 0);
            //double i = 0;
            ModelingTime modelingTime = new ModelingTime()
            {
                Delta = 1, Now = 0
            };

            //цикл до тех пор, пока на выходе не появится токен
            for (modelingTime.Now = 0; modelingTime.Now < 1000 && !process1.EndBlockHasOutputToken; modelingTime.Now += modelingTime.Delta)
            {
                process1.Update(modelingTime);
            }

            // act
            Process process2 = SaveTester <Process> .StartSaveTest(process1);

            // Asserts
            Assert.AreEqual(process1, process2);
        }
Exemplo n.º 9
0
        public void CreateProcessTest()
        {
            // Arrange
            Process process1 = new Process();

            SampleTestingProcedure procedure1 = new SampleTestingProcedure();
            SampleTestingProcedure procedure2 = new SampleTestingProcedure();

            process1.Blocks.Add(procedure1);
            process1.Blocks.Add(procedure2);

            process1.Connections.Connect(procedure1, 0, procedure2, 0);

            process1.StartBlock = procedure1;
            process1.EndBlock   = procedure2;

            // act
            Process process2 = SaveTester <Process> .StartSaveTest(process1);

            // Asserts
            Assert.AreEqual(process1, process2);
        }