public AlternatorDetail GetAlternatorDetail(Alternator alternator) { _skvaMultiplier = GetSKVAMultiplier(); return(new AlternatorDetail { Alternator = alternator, AlternatorID = alternator.ID, SubtransientReactance1000 = GetSubtransientReactance1000(alternator), SubtransientReactanceCorrected = GetSubtransientReactanceCorrected(alternator), KWDerated = GetKWDerated(alternator), TransientKWVDip_10 = TransientKWVdip(alternator, 0.1m), TransientKWVDip_125 = TransientKWVdip(alternator, 0.125m), TransientKWVDip_15 = TransientKWVdip(alternator, 0.15m), TransientKWVDip_175 = TransientKWVdip(alternator, 0.175m), TransientKWVDip_20 = TransientKWVdip(alternator, 0.2m), TransientKWVDip_225 = TransientKWVdip(alternator, 0.225m), TransientKWVDip_25 = TransientKWVdip(alternator, 0.25m), TransientKWVDip_275 = TransientKWVdip(alternator, 0.275m), TransientKWVDip_30 = TransientKWVdip(alternator, 0.3m), TransientKWVDip_325 = TransientKWVdip(alternator, 0.325m), TransientKWVDip_35 = TransientKWVdip(alternator, 0.35m), SKVAMultiplier = _skvaMultiplier }); }
private decimal TransientKWVdip(Alternator alternator, decimal vDip) { var multiplier = _skvaMultiplier; int rounded; if (vDip <= 0.15m) { rounded = Convert.ToInt32((vDip / 0.15m * alternator.Percent15 * (decimal)multiplier) * 10); return(rounded / 10); } else if (vDip <= 0.25m) { decimal[] firstSeries = { 0.25m, 0.15m }; double[] secondSeries = { alternator.Percent25, alternator.Percent15 }; rounded = Convert.ToInt32(Statistics.lRegression(firstSeries, secondSeries, (double)vDip) * multiplier * 10); return(rounded / 10); } else { decimal[] firstSeries = { 0.35m, 0.25m }; double[] secondSeries = { alternator.Percent35, alternator.Percent25 }; rounded = Convert.ToInt32(Statistics.lRegression(firstSeries, secondSeries, (double)vDip) * multiplier * 10); return(rounded / 10); } }
private decimal GetKWDerated(Alternator alternator) { decimal frequencyMultiplier = 1; if (int.Parse(_solutionSetup.Frequency.Value) == 50) { frequencyMultiplier = 5 / 6; } return(alternator.KWRating); }
private IQueryable <Alternator> LoadAlternatorList() { var list = new List <Alternator>(); for (int i = 1; i <= 5; i++) { var alternator = new Alternator { ID = i, ModifiedDateTime = DateTime.UtcNow, Active = true }; list.Add(alternator); } return(list.AsQueryable()); }
public void AddAlternatorDetail_Successfully(int ID, string descriptionAdd) { var alternatorDto = new AlternatorDto { ID = ID, ModelDescription = descriptionAdd, }; var addedAlternator = new Alternator { ID = 1, ModelDescription = descriptionAdd }; _alternatorRepository.Add(Arg.Any <Alternator>()).Returns(addedAlternator); var actualResult = _adminProcessor.SaveAlternatorDetail(alternatorDto); Assert.AreEqual(addedAlternator.ID, actualResult.ID); }
public void UpdateAlternatorDetail_Successfully(int ID, string descriptionAdd) { var alternatorDto = new AlternatorDto { ID = ID, ModelDescription = descriptionAdd, }; var updatedAlternator = new Alternator { ID = ID, ModelDescription = descriptionAdd }; _alternatorRepository.Find(ID).ReturnsForAnyArgs(LoadAlternatorList().FirstOrDefault(x => x.ID == alternatorDto.ID)); _alternatorRepository.Update(Arg.Any <Alternator>()).Returns(updatedAlternator); var actualResult = _adminProcessor.SaveAlternatorDetail(alternatorDto); Assert.AreEqual(updatedAlternator.ID, actualResult.ID); }
public void DeleteAlternator_Successfully(int ID, string userID) { var alternatorDto = new AlternatorDto { ID = ID }; var updatedAlternator = new Alternator { ID = ID, Active = false }; _alternatorRepository. GetSingle(x => x.ID == alternatorDto.ID). ReturnsForAnyArgs(LoadAlternatorList().FirstOrDefault(x => x.ID == alternatorDto.ID)); _alternatorRepository.Update(Arg.Any <Alternator>()).Returns(updatedAlternator); var actualResult = _adminProcessor.DeleteAlternator(alternatorDto.ID, userID); Assert.AreEqual(actualResult, true); }
private static IWeapon CreateFromRecognizedString(string recognizedName, IWeapon currentWeapon, int offsetX, int offsetY, float sensitivityScale) { var weaponName = recognizedName.FindMostSimilar(WeaponNamesToTypes.Keys); WeaponNamesToTypes.TryGetValue(weaponName, out var weaponType); var inGameName = weaponType.GetWeaponName(); IWeapon result; if (currentWeapon?.IsTheSameWeapon(inGameName) ?? weaponType == WeaponAL.Unknown) { return(currentWeapon); } var numOfMods = WeaponTypesToNumOfMods[weaponType]; switch (weaponType) { case WeaponAL.Wingman: case WeaponAL.MASTIFF: case WeaponAL.KRABER: case WeaponAL.Longbow: case WeaponAL.Peacekeeper: case WeaponAL.TripleTake: result = new NonAdjustableWeapon(inGameName, 0, recognizedName, numOfMods); break; case WeaponAL.Havoc: result = new Havoc(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Devotion: result = new Devotion(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.LStar: result = new LStar(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Flatline: result = new Flatline(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Hemlok: result = new Hemlok(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Prowler: result = new Prowler(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.RE45: result = new RE45(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.R301: result = new R301(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.R99: result = new R99(inGameName, 1.5, recognizedName, numOfMods); break; case WeaponAL.Alternator: result = new Alternator(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.G7Scout: result = new G7Scout(inGameName, 2, recognizedName, numOfMods); break; case WeaponAL.Unknown: case WeaponAL.Spitfire: case WeaponAL.EVA8Auto: case WeaponAL.Mozambique: case WeaponAL.P2020: result = new RegularAdjustmentWeapon(inGameName, 2, recognizedName, numOfMods); break; default: throw new ArgumentOutOfRangeException(); } result.SetOffsets(offsetX, offsetY); result.SetSensitivityScale(sensitivityScale); return(result); }
private decimal GetSubtransientReactance1000(Alternator alternator) { return(1000 * alternator.SubTransientReactance / (decimal)(alternator.KVABase * _skvaMultiplier)); }
private decimal GetSubtransientReactanceCorrected(Alternator alternator) { return(alternator.SubTransientReactance / (decimal)_skvaMultiplier); }