/// <summary> /// Get the combined modifier code for the coding scheme. /// </summary> /// <param name="symbolCode">the symbol code</param> /// <returns>a friendly name for the combined modifier code</returns> public static string GetName(string symbolCode) { if (!SymbolData.Check(ref symbolCode)) { return(string.Empty); } char leadCode = ModifierCode.GetCode(symbolCode); char trailCode = Echelon.GetCode(symbolCode); if (leadCode == ModifierCode.Mobility || leadCode == ModifierCode.Towed) { return(Mobility.GetName(symbolCode)); } if (leadCode == ModifierCode.Installation) { return((trailCode == 'B') ? "Feint Dummy Installation" : "Installation"); } string mod = ModifierCode.GetName(symbolCode); string ech = Echelon.GetName(symbolCode); if (string.IsNullOrEmpty(mod) || string.IsNullOrEmpty(ech)) { return(string.Empty); } if (mod == "None" && ech == "None") { return(string.Empty); } if (mod == "None") { return(ech); } if (ech == "None") { return(mod); } return(mod + "\n" + ech); }
public void MobilityTest() { string gc = Mobility.GetCode(string.Empty); Assert.AreEqual(gc, string.Empty); gc = Mobility.GetCode(null); Assert.AreEqual(gc, string.Empty); gc = Mobility.GetCode("qqqqqqqqqqqqqqq"); Assert.AreEqual(gc, "QQ"); string str = Mobility.GetName(string.Empty); Assert.AreEqual(str, string.Empty); str = Mobility.GetName(null); Assert.AreEqual(str, string.Empty); str = Mobility.GetName("qqqqqqqqqqqqqqq"); Assert.AreEqual(str, string.Empty); str = Mobility.GetName("qqpqqqqqqqmwqqq"); Assert.AreEqual(str, "Pack Animals"); }