private CfiGroup InferGroup(string cfi, CfiCategory cfiCategory)
        {
            if (string.IsNullOrWhiteSpace(cfi) || cfiCategory == CfiCategory.None)
            {
                return(CfiGroup.None);
            }

            switch (cfiCategory)
            {
            case CfiCategory.Equities:
                return(this.InferEquityGroup(cfi));

            case CfiCategory.DebtInstrument:
                return(this.InferDebtGroup(cfi));

            case CfiCategory.Entitlements:
                return(this.InferEntitlementsGroup(cfi));

            case CfiCategory.Options:
                return(this.InferOptionsGroup(cfi));

            case CfiCategory.Futures:
                return(this.InferFuturesGroup(cfi));

            case CfiCategory.Others:
                return(this.InferOthersGroup(cfi));

            default:
                return(CfiGroup.None);
            }
        }
        public void Cfi_Correct_Result(string cfi, CfiCategory category, CfiGroup group)
        {
            var cfiItem = new Cfi(cfi);

            Assert.AreEqual(cfiItem.Value, cfi);
            Assert.AreEqual(cfiItem.CfiCategory, category);
            Assert.AreEqual(cfiItem.CfiGroup, group);
        }