예제 #1
0
        public void CreateAndUpdateProcedure()
        {
            // Arrange
            Token temp = new Token(10, 15);

            ElectricalSchemeSimulation procedure1 = new ElectricalSchemeSimulation();

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

            ElectricalSchemeSimulation procedure2;

            // Act
            procedure2 = SaveTester <ElectricalSchemeSimulation> .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);
        }
예제 #2
0
        public void CreateEmptyProcedureAsIBlock()
        {
            // Arrange
            IBlock procedure1 = new ElectricalSchemeSimulation();
            IBlock procedure2;

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

            // Asserts
            Assert.AreEqual((procedure1 as ElectricalSchemeSimulation).Description, (procedure2 as ElectricalSchemeSimulation).Description);
            Assert.AreEqual((procedure1 as ElectricalSchemeSimulation).InputQuantity, (procedure2 as ElectricalSchemeSimulation).InputQuantity);
            Assert.AreEqual((procedure1 as ElectricalSchemeSimulation).OutputQuantity, (procedure2 as ElectricalSchemeSimulation).OutputQuantity);
            Assert.AreEqual((procedure1 as ElectricalSchemeSimulation).ResourceCount, (procedure2 as ElectricalSchemeSimulation).ResourceCount);
            Assert.AreEqual((procedure1 as ElectricalSchemeSimulation).TokenCollector, (procedure2 as ElectricalSchemeSimulation).TokenCollector);
        }
        public void TestWithRes()
        {
            // arrange
            ElectricalSchemeSimulation electricalScheme = new ElectricalSchemeSimulation();

            electricalScheme.AddToken(new Token(bornTime: 0, complexity: 100), 0);

            electricalScheme.AddResorce(new WorkerResource()
            {
                //Name = "Alleshka",
                //Position = "Работяга",
                WorkerQualification = Qualification.SecondCategory
            });


            electricalScheme.AddResorce(new TechincalSupportResource()
            {
                Frequency = 1.5,
                Ram       = 2,
                Vram      = 1
            });

            electricalScheme.AddResorce(new CadResource());

            Token token = null;

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

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

            // Asserts
            Assert.AreNotEqual(token, null);
            if (modelingTime.Now < 9.99 || modelingTime.Now > 10.01)//для образцовых моделей со сложностью 100 ремя долнжо быть 10
            {
                Assert.Fail();
            }
        }