public void GivenString_GeneratePermutations_ReturnsListOfPermutations() { //Arrange var str = "abc"; var expectedPermutations = new List <string> { "abc", "acb", "bac", "bca", "cba", "cab" }; var stringPermutation = new StringPermutationsV1(); //Act var actualPermutations = stringPermutation.GeneratePermutations(str); //Assert Assert.AreEqual(expectedPermutations.Count, actualPermutations.Count); for (var i = 0; i < expectedPermutations.Count; i++) { Assert.AreEqual(expectedPermutations[i], actualPermutations[i]); } }
public void GivenString_Generate_ReturnsPermutationsOfString() { //Arrange var str = "abc"; var stringPermutations = new StringPermutationsV1(); var expectedPermutations = new HashSet <string>(); expectedPermutations.Add("abc"); expectedPermutations.Add("acb"); expectedPermutations.Add("bac"); expectedPermutations.Add("bca"); expectedPermutations.Add("cab"); expectedPermutations.Add("cba"); //Act var actualPermutations = stringPermutations.Permutations(str); //Assert expectedPermutations.ExceptWith(actualPermutations); Assert.AreEqual(0, expectedPermutations.Count); }