Exemplo n.º 1
0
        public StringCompareResult ValidateInputString(string inputText, string subText)
        {
            var returnResult = new StringCompareResult()
            {
                IsValid = true, Description = new List <string>()
            };

            //Validate inputs
            if (string.IsNullOrEmpty(inputText))
            {
                returnResult.IsValid = false;
                returnResult.Description.Add("Input text should not be empty");
            }

            if (string.IsNullOrEmpty(subText))
            {
                returnResult.IsValid = false;
                returnResult.Description.Add("Sub text should not be empty");
            }
            if (subText.Length > inputText.Length)
            {
                returnResult.IsValid = false;
                returnResult.Description.Add("Sub text is longer than the input text.");
            }
            return(returnResult);
        }
        public StringCompareResult Get(string inputText, string subText)
        {
            var returnResult = new StringCompareResult()
            {
                IsValid = true, Description = new List <string>()
            };

            returnResult = _stringComparerService.ValidateInputString(inputText, subText);

            if (returnResult.IsValid)
            {
                var indices = _stringComparerService.GetAllIndicesOf(subText, inputText);
                if (indices.Any())
                {
                    returnResult.Description.AddRange(indices);
                }
                else
                {
                    returnResult.IsValid = false;
                    returnResult.Description.Add("No matching text found.");
                }
            }

            return(returnResult);
        }