예제 #1
0
        public void CalcFlashHazardBoundaryAC([ValueSource(typeof(CalcNoXNoCAC), "GetCalculationInputSimples")] CalculationInputSimple inputSimple, [ValueSource(typeof(CalcNoXNoCAC), "GetCalculationOutputs")] CalculationOutput output)
        {
            CalculationInput input = Container.Resolve <ICalculationInput>() as CalculationInput;

            MapCalculationInputSimpleToCalculationInput(ref input, ref inputSimple);

            var fhb      = Calc.CalcFlashHazardBoundaryAC(Calc.CalculateArcFaultCurrentAC(input));
            var expected = RoundValue(output.FPB);
            var real     = RoundValue(fhb);

            Assert.AreEqual(expected, real);
        }
예제 #2
0
        public void CalcIncidentEnergyDistanceAC([ValueSource(typeof(CalcNoXNoCAC), "GetCalculationInputSimples")] CalculationInputSimple inputSimple, [ValueSource(typeof(CalcNoXNoCAC), "GetCalculationOutputs")] CalculationOutput output)
        {
            CalculationInput input = Container.Resolve <ICalculationInput>() as CalculationInput;

            MapCalculationInputSimpleToCalculationInput(ref input, ref inputSimple);

            decimal IE       = Calc.CalcIncidentEnergyAC(input.WorkingDistance.Value, Calc.CalculateArcFaultCurrentAC(input)).Value;
            var     expected = RoundValue(output.IncidentEnergy);
            var     real     = RoundValue(IE);

            Assert.AreEqual(expected, real);
        }
예제 #3
0
        public void CalcRiskCategoryAC([ValueSource(typeof(CalcNoXNoCAC), "GetCalculationInputSimples")] CalculationInputSimple inputSimple, [ValueSource(typeof(CalcNoXNoCAC), "GetCalculationOutputs")] CalculationOutput output)
        {
            CalculationInput input = Container.Resolve <ICalculationInput>() as CalculationInput;

            MapCalculationInputSimpleToCalculationInput(ref input, ref inputSimple);

            var riskCat  = Calc.RiskCategoryAC(output);
            var expected = output.HazardCat;
            var real     = riskCat;

            Assert.AreEqual(expected, real);
        }
예제 #4
0
        public void CalcBoltedFaultCurrentAC([ValueSource(typeof(CalcNoXNoCAC), "GetCalculationInputSimples")] CalculationInputSimple inputSimple, [ValueSource(typeof(CalcNoXNoCAC), "GetCalculationOutputs")] CalculationOutput output)
        {
            CalculationInput input = Container.Resolve <ICalculationInput>() as CalculationInput;

            MapCalculationInputSimpleToCalculationInput(ref input, ref inputSimple);

            decimal bfc      = Calc.CalcBoltedFaultCurrentAC(input);
            var     expected = RoundValue(output.BoltedFaultCurrent.Value);
            var     real     = RoundValue(bfc);

            Assert.AreEqual(expected, real);
        }
 public void MapCalculationInputSimpleToCalculationInput(ref CalculationInput input, ref CalculationInputSimple inputSimple)
 {
     input.Id = inputSimple.Id;
     input.IsAlternatingCurrent = inputSimple.IsAlternatingCurrent;
     input.EquipmentTypeId      = inputSimple.EquipmentTypeId;
     input.ArcDurationValue     = inputSimple.ArcDurationValue;
     input.WorkingDistance      = inputSimple.WorkingDistance;
     input.NominalVoltage       = inputSimple.NominalVoltage;
     input.SourceFaultCurrent   = inputSimple.SourceFaultCurrent;
     input.IsSolidGround        = inputSimple.IsSolidGround;
     input.IsOpenAir            = inputSimple.IsOpenAir;
     input.HasCable             = inputSimple.HasCable;
     input.HasTransformer       = inputSimple.HasTransformer;
     input.ConductorSizeId      = inputSimple.ConductorSizeId;
     input.ConductorPerPhase    = inputSimple.ConductorPerPhase;
     input.ConductorLength      = inputSimple.ConductorLength;
     input.PrimaryVoltage       = inputSimple.PrimaryVoltage;
     input.XfmrImpedance        = inputSimple.XfmrImpedance;
     input.XfmrKVA = inputSimple.XfmrKVA;
     input.MaximumShortCircuitAvailable = inputSimple.MaximumShortCircuitAvailable;
     input.InCabinet        = inputSimple.InCabinet;
     input.VoltageOfBattery = inputSimple.VoltageOfBattery;
 }