// 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); }
// 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); }