Пример #1
0
        public static ITupleEnumerable TWize(int tupleSize, IDomainCollection domains)
        {
            CheckDomains(domains);

            IDomainCollection udomains = Domains.Uniformize(domains);

            return(new UniformTWizeProductDomainTupleEnumerable(udomains, tupleSize));
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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)));
            }
        }
Пример #5
0
        public void UniformizeWithNull()
        {
            IDomainCollection domains = null;

            Domains.Uniformize(domains);
        }