public void Repl_TernaryTuple_Empty() { var expected = Enumerable.Empty <Tuple <char, char, char> >(); char[] iterable = "AB".ToCharArray(); List <Tuple <char, char, char> > actual = Nitre.CombinationsTernary(iterable).ToList(); Assert.Equal(expected, actual); }
public void Repl_TernaryTuple_Long() { var expected = new string[] { "ABC", "ABD", "ABE", "ABF", "ACD", "ACE", "ACF", "ADE", "ADF", "AEF", "BCD", "BCE", "BCF", "BDE", "BDF", "BEF", "CDE", "CDF", "CEF", "DEF" }; char[] iterable = "ABCDEF".ToCharArray(); var actual = Nitre.CombinationsTernary(iterable).Select(item => new string(new char[] { item.Item1, item.Item2, item.Item3 })).ToList(); Assert.Equal(expected, actual); }
public void Repl_TernaryTuple() { List <Tuple <char, char, char> > expected = new List <Tuple <char, char, char> > { Tuple.Create('A', 'B', 'C'), Tuple.Create('A', 'B', 'D'), Tuple.Create('A', 'C', 'D'), Tuple.Create('B', 'C', 'D') }; char[] iterable = "ABCD".ToCharArray(); List <Tuple <char, char, char> > actual = Nitre.CombinationsTernary(iterable).ToList(); Assert.Equal(expected, actual); }
public void Repl_TernaryTuple_VeryLong() { var expected = new string[] { "IJK", "IJL", "IJM", "IJN", "IJO", "IJP", "IKL", "IKM", "IKN", "IKO", "IKP", "ILM", "ILN", "ILO", "ILP", "IMN", "IMO", "IMP", "INO", "INP", "IOP", "JKL", "JKM", "JKN", "JKO", "JKP", "JLM", "JLN", "JLO", "JLP", "JMN", "JMO", "JMP", "JNO", "JNP", "JOP", "KLM", "KLN", "KLO", "KLP", "KMN", "KMO", "KMP", "KNO", "KNP", "KOP", "LMN", "LMO", "LMP", "LNO", "LNP", "LOP", "MNO", "MNP", "MOP", "NOP" }; char[] iterable = "IJKLMNOP".ToCharArray(); var actual = Nitre.CombinationsTernary(iterable).Select(item => new string(new char[] { item.Item1, item.Item2, item.Item3 })).ToList(); Assert.Equal(expected, actual); }