public void UnrankStringLenTwo() { string s = "xy"; int n = s.Length; Console.WriteLine(string.Format("s:{0}", s)); for (int r = 0; r < n; r++) { int[] pi = RankUnrank.InitIndexArray(n); RankUnrank.Unrank(n, r, pi); string ps = GetPermString(s, pi); Console.WriteLine(string.Format("r:{0} p:{1}", r, ps)); int[] inv = RankUnrank.GetInverseArray(pi); long rank = RankUnrank.Rank(n, pi, inv); Assert.AreEqual(r, rank); } }