예제 #1
0
        public void Permute(string input, string[] expected)
        {
            var sut    = new LetterCasePermutation();
            var actual = sut.ComputeLetterCasePermutation(input);

            Assert.AreEqual(0, expected.Except(actual).Count());
        }
예제 #2
0
        public void TestLetterCasePermutation()
        {
            int testNum = 100000;

            int randNum = 5;

            Random random = new Random();

            LetterCasePermutation demo = new LetterCasePermutation();

            for (int i = 0; i < testNum; i++)
            {
                char[] arr = new char[randNum];

                for (int j = 0; j < arr.Length; j++)
                {
                    int num = random.Next(3);
                    if (num == 0)
                    {
                        arr[j] = (char)(random.Next(26) + 65);
                    }
                    else if (num == 1)
                    {
                        arr[j] = (char)(random.Next(26) + 97);
                    }
                    else
                    {
                        arr[j] = (char)(random.Next(10) + 48);
                    }
                }

                string str = new string(arr);

                IList <string> bfsSolution = demo.BFSSolution(str);

                List <string> dfsSolution = (List <string>)demo.DFSSolution(str);

                _output.WriteLine($@"

str:{str}
bfs:{JsonConvert.SerializeObject(bfsSolution)}
dfs:{JsonConvert.SerializeObject(dfsSolution)}

");

                for (int k = 0; k < dfsSolution.Count; k++)
                {
                    var item = dfsSolution[k];

                    var contains = bfsSolution.Contains(item);

                    var indexOf = dfsSolution.IndexOf(item, k + 1);

                    Assert.Equal(indexOf, -1);

                    Assert.Equal(contains, true);
                }
            }
        }
        public void LetterCasePermutationTest(string s, string[] expected)
        {
            var letterCasePermutation = new LetterCasePermutation();

            var actual = letterCasePermutation.GetLetterCasePermutation(s);

            Assert.That(actual, Is.EqualTo(expected));
        }
        public void LetterCasePermutationTestMethod()
        {
            LetterCasePermutation lcp      = new LetterCasePermutation();
            List <string>         expected = new List <string> {
                "a1b2", "a1B2", "A1b2", "A1B2"
            };
            var            input  = "a1b2";
            IList <string> actual = lcp.LetterCasePermutationSln(input);

            for (int i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }
        }