示例#1
0
        // unlimited source  connected via 1 pipe to tank
        public void SourceToPipeTOFillTank()
        {
            Source source = new Source("test source");
            Pipe   pipe   = new Pipe("test pipe", 5); // 500
            Tank   tank   = new Tank("test tank", 1500);

            source.AddConnection(pipe);
            pipe.AddConnection(tank);

            Factory fac = new Factory();

            fac.AddEquipment(source);
            fac.AddEquipment(pipe);
            fac.AddEquipment(tank);

            Assert.AreEqual(0, tank.Content);
            Assert.AreEqual(0, pipe.Content);

            // P500,T0
            // P0,T500
            fac.BalanceContents();
            Assert.AreEqual(0, pipe.Content);   // pipe.Volume / EquipmentCst.BalanceFactor);
            Assert.AreEqual(500, tank.Content); // pipe.Volume / EquipmentCst.BalanceFactor);

            int count = 0;

            do
            {
                fac.BalanceContents();
                count++;
            } while (tank.Content != tank.Volume);
            //(pipe.Content !=pipe.Volume);

            Assert.GreaterOrEqual(tank.Content, tank.Volume);
        }
示例#2
0
        // unlimited source direct connected to tank = instant filled
        public void SourceToFillTank()
        {
            Source source = new Source("test source");
            Tank   tank   = new Tank("test tank", 1000);

            source.AddConnection(tank);
            tank.AddConnection(source);

            Factory fac = new Factory();

            fac.AddEquipment(source);
            fac.AddEquipment(tank);

            Assert.AreEqual(tank.Content, 0);

            fac.BalanceContents();
            Assert.AreEqual(tank.Content, tank.Volume);
        }