Пример #1
0
        private static Tuple <double, double, double, double> TestLifeSupport(double dayLengthModifier)
        {
            var basegameSettings = new BaseGameSettings
            {
                DayLengthMultiplier = dayLengthModifier
            };

            var lifesupportSettings = new LifeSupportSettings();

            var crewedVessel = new CrewedVehicle(basegameSettings, lifesupportSettings)
            {
                NumberOfCrew = 1
            };

            var lifeSupportSystem = crewedVessel.LifeSupportSystem;

            lifeSupportSystem.ProvisionsStorage.TotalFoodStored        = 1.10;
            lifeSupportSystem.ProvisionsStorage.TotalWaterStored       = 0.73;
            lifeSupportSystem.ProvisionsStorage.TotalOxygenStored      = 111.04;
            lifeSupportSystem.ProvisionsStorage.TotalElectricityStored = 50;

            var food  = lifeSupportSystem.DaysOfFood;
            var water = lifeSupportSystem.DaysOfWater;
            var oxy   = lifeSupportSystem.DaysOfOxygen;
            var elec  = lifeSupportSystem.DaysOfElectricity;

            var eatenPerSecond       = crewedVessel.LifeSupportSystem.LifeSupportSettings.FoodPerDay / 21600;
            var foodTotalTimeSeconds = lifeSupportSystem.ProvisionsStorage.TotalFoodStored / eatenPerSecond;

            Write(foodTotalTimeSeconds);

            Write(DeltaVCalculator.CalulateDeltaV(10470, 19357, 312));

            return(new Tuple <double, double, double, double>(food, water, oxy, elec));
        }
Пример #2
0
        /// <summary>
        /// Calculates this vehicle's total delta-v.
        /// </summary>
        /// <returns>This Vehicle's DeltaV.</returns>
        public virtual double CalculateDeltaV()
        {
            // Assign the value to the "DeltaV" property.
            DeltaV = DeltaVCalculator.CalculateVehicleDeltaV(this);

            return(DeltaV);
        }
        public void CalulateDeltaVOverloadTwo()
        {
            //Arrange
            var expected = 2648.29183066939;

            //Act
            var actual = DeltaVCalculator.CalulateDeltaV(6540, 14540, 338);

            //Assert
            Assert.AreEqual(expected, actual, 0.0000000001);
        }
        public void CalulateVehicleDeltaVStageNullException()
        {
            //Arrange
            Vehicle vehicle = null;

            //Act
            var actual = DeltaVCalculator.CalculateVehicleDeltaV(vehicle);

            //Assert
            Assert.Fail($"{nameof(vehicle)} was null.");
        }
        public void CalulateDeltaVStageNullException()
        {
            //Arrange
            Stage stage = null;

            //Act
            var actual = DeltaVCalculator.CalulateDeltaV(stage);

            //Assert
            Assert.Fail($"{nameof(stage.SpecificImpulse)} was null.");
        }
        public void CalulateDeltaVOverloadOne()
        {
            //Arrange
            var stage = new Stage()
            {
                SpecificImpulse = 293.0,
                DryMass         = 100,
                WetMass         = 160
            };

            var expected = 1350.48419958761;

            //Act
            var actual = DeltaVCalculator.CalulateDeltaV(stage);

            //Assert
            Assert.AreEqual(expected, actual, 0.0000000001);
        }
        public void CalulateDeltaVISPNull()
        {
            //Arrange
            var stage = new Stage()
            {
                SpecificImpulse = 0,
                DryMass         = 1271,
                WetMass         = 4159
            };

            var expected = 0;

            //Act
            var actualStage     = DeltaVCalculator.CalulateDeltaV(stage);
            var actualArguments = DeltaVCalculator.CalulateDeltaV(600, 4756, -5);

            //Assert
            Assert.AreEqual(expected, actualStage);
            Assert.AreEqual(expected, actualArguments);
        }
        public void CalulateVehicleDeltaV()
        {
            //Arrange
            var vehicle = new Vehicle("DeltaV Testing");

            #region Stages

            var stageOne = new Stage()
            {
                DryMass         = 250,
                WetMass         = 650,
                SpecificImpulse = 302
            };

            var stageTwo = new Stage()
            {
                DryMass         = 500,
                WetMass         = 1200,
                SpecificImpulse = 332
            };

            var stageThree = new Stage()
            {
                DryMass         = 2200,
                WetMass         = 7000,
                SpecificImpulse = 348
            };

            #endregion

            vehicle.StageInfo.Add(1, stageOne);
            vehicle.StageInfo.Add(2, stageTwo);
            vehicle.StageInfo.Add(3, stageThree);

            var expected = 7045.45946876031;
            //Act
            var actual = DeltaVCalculator.CalculateVehicleDeltaV(vehicle);

            //Assert
            Assert.AreEqual(expected, actual, 0.0000000001);
        }
Пример #9
0
        private void buttonDVCalc_Click(object sender, RoutedEventArgs e)
        {
            DeltaVCalculator Stage = new DeltaVCalculator();

            Stage.Show();
        }
Пример #10
0
 /// <summary>
 /// Calculates the stage's total delta-v.
 /// </summary>
 /// <returns>System.Double.</returns>
 public double CalculateDeltaV()
 {
     return(DeltaVCalculator.CalulateDeltaV(this));
 }