public void Should_Return_TIST()
        {
            String str = "this is a test string";
            String pat = "tist";

            String result = item.FindSubString(str, pat);

            Assert.True(result == "t stri");
        }
        // Function to find smallest window containing
        // all characters of 'pat'
        public String FindSubString(String str)
        {
            HashSet <char> found = new HashSet <char>();
            StringBuilder  sb    = new StringBuilder();

            foreach (var c in str)
            {
                if (!found.Contains(c))
                {
                    found.Add(c);
                    sb.Append(c);
                }
            }

            SmallestWindowContainingAllCharsOfString smallest = new SmallestWindowContainingAllCharsOfString();
            String result = smallest.FindSubString(str, sb.ToString());

            return(result);
        }