public static ITupleEnumerable TWize(int tupleSize, IDomainCollection domains) { CheckDomains(domains); IDomainCollection udomains = Domains.Uniformize(domains); return(new UniformTWizeProductDomainTupleEnumerable(udomains, tupleSize)); }
public void UniformizeUniform() { int[] array1 = new int[] { 1, 2 }; int[] array2 = new int[] { 1, 2 }; IDomainCollection domains = Domains.Uniformize(array1, array2); foreach (IDomain domain in domains) { Assert.AreEqual(domain.Count, 2); } }
public void UniformizeNonUniform() { int[] array1 = new int[] { 1, 2 }; int[] array2 = new int[] { 1, 2, 3, 4 }; int[] array3 = new int[] { 1, 2, 3, 4, 5, 6, 7 }; IDomainCollection domains = Domains.Uniformize(array1, array2, array3); foreach (IDomain domain in domains) { Assert.AreEqual(domain.Count, 7); } }
public static ITupleEnumerable PairWize(IDomainCollection domains) { CheckDomains(domains); if (domains.Count <= 2) { return(Cartesian(domains)); } if (Domains.IsUniform(domains)) { return(new UniformPairWizeProductDomainTupleEnumerable(domains)); } else { IDomainCollection udomains = Domains.Uniformize(domains); return(Greedy(new UniformPairWizeProductDomainTupleEnumerable(udomains))); } }
public void UniformizeWithNull() { IDomainCollection domains = null; Domains.Uniformize(domains); }