예제 #1
0
        public void Constructor1ShouldStoreAndPrintValueAndSymbol()
        {
            GasVolume gv            = new GasVolume(10, VolumeUnits.CubicCentimeters);
            String    correctAnswer = "V_g = 10 cc";

            Assert.AreEqual("V_g", gv.Symbol);
            Assert.AreEqual(gv.NumericValue, 10);
            Assert.AreEqual(gv.UnitOfMeasure, VolumeUnits.CubicCentimeters);
            Assert.AreEqual(correctAnswer, gv.ToString());
        }
예제 #2
0
        public GasVolume removeDirect(GasVolume second, out float amount)
        {
            float newMetersCubed = metersCubed;
            float oldTotal       = mixture.totalPressure;
            var   expanded       = second.ExpandInto(newMetersCubed).mixture;
            var   newMixture     = mixture - expanded;

            amount = (oldTotal - newMixture.totalPressure) / expanded.totalPressure;

            return(new GasVolume(newMixture, newMetersCubed));
        }
예제 #3
0
        public void Constructor2ShouldStoreAndPrintValueAndSymbolWithPounds()
        {
            VolumeOfVoids vv            = new VolumeOfVoids(20, VolumeUnits.CubicCentimeters);
            WaterVolume   wv            = new WaterVolume(10, VolumeUnits.CubicCentimeters);
            GasVolume     gv            = new GasVolume(vv, wv, VolumeUnits.CubicFeet);
            String        correctAnswer = "V_g = 0 ft^3";

            Assert.AreEqual("V_g", gv.Symbol);
            Assert.AreEqual(Math.Round(gv.NumericValue, 6), 0.000353);
            Assert.AreEqual(gv.UnitOfMeasure, VolumeUnits.CubicFeet);
            Assert.AreEqual(correctAnswer, gv.ToString());
        }
예제 #4
0
        public void Constructor2ShouldStoreAndPrintValueAndSymbolWithM3()
        {
            WaterVolume   wv            = new WaterVolume(10, VolumeUnits.CubicCentimeters);
            GasVolume     gv            = new GasVolume(10, VolumeUnits.CubicCentimeters);
            VolumeOfVoids vv            = new VolumeOfVoids(wv, gv, VolumeUnits.CubicMeters);
            String        correctAnswer = "V_v = 0 m^3";

            Assert.AreEqual("V_v", vv.Symbol);
            Assert.AreEqual(Math.Round(vv.NumericValue, 6), 2e-5);
            Assert.AreEqual(vv.UnitOfMeasure, VolumeUnits.CubicMeters);
            Assert.AreEqual(correctAnswer, vv.ToString());
        }
예제 #5
0
        public void Constructor2ShouldStoreAndPrintValueAndSymbolWithM3()
        {
            VolumeOfVoids vv            = new VolumeOfVoids(20, VolumeUnits.CubicCentimeters);
            GasVolume     gv            = new GasVolume(10, VolumeUnits.CubicCentimeters);
            WaterVolume   wv            = new WaterVolume(vv, gv, VolumeUnits.CubicMeters);
            String        correctAnswer = "V_w = 0 m^3";

            Assert.AreEqual("V_w", wv.Symbol);
            Assert.AreEqual(wv.NumericValue, 1e-5);
            Assert.AreEqual(wv.UnitOfMeasure, VolumeUnits.CubicMeters);
            Assert.AreEqual(correctAnswer, wv.ToString());
        }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="WaterVolume"/> class.
 /// </summary>
 /// <param name="voidVolume">V_v in V_v=V_w+V_g.</param>
 /// <param name="gasVolume">V_g in V_v=V_w+V_g.</param>
 /// <param name="units">Measurement units to hold value after initial calculation (ie cc).</param>
 public WaterVolume(VolumeOfVoids voidVolume, GasVolume gasVolume, VolumeUnits units)
     : this(ConvertToUnits(voidVolume, units).NumericValue - ConvertToUnits(gasVolume, units).NumericValue, units)
 {
 }
예제 #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VolumeOfVoids"/> class.
 /// </summary>
 /// <param name="waterVolume">V_w in V_v=V_w+V_g.</param>
 /// <param name="gasVolume">V_g in V_v=V_w+V_g.</param>
 /// <param name="units">Measurement units to hold value after initial calculation (ie cc).</param>
 public VolumeOfVoids(WaterVolume waterVolume, GasVolume gasVolume, VolumeUnits units)
     : this(ConvertToUnits(waterVolume, units).NumericValue + ConvertToUnits(gasVolume, units).NumericValue, units)
 {
 }
예제 #8
0
        public GasVolume addDirect(GasVolume second)
        {
            float newMetersCubed = metersCubed;

            return(new GasVolume(mixture + second.ExpandInto(newMetersCubed).mixture, newMetersCubed));
        }