/// <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");
        }