Beispiel #1
0
        public void CompareToTest()
        {
            // Higher powers of the same prime are greater
            Assert.That((new PrimeFactors(4)).CompareTo(new PrimeFactors(2)) > 0);
            // Higher primes are greater
            Assert.That((new PrimeFactors(3)).CompareTo(new PrimeFactors(2)) > 0);

            // Equality semantics
            for (var i = 1; i < 1000; i++)
            {
                var iFactors = new PrimeFactors(i);
                for (var j = 1; j < 1000; j++)
                {
                    var jFactors = new PrimeFactors(j);
                    if (i == j)
                    {
                        Assert.That(iFactors.CompareTo(jFactors), Is.EqualTo(0), "Prime Factors of equal numbers must compare equal.");
                    }
                    else
                    {
                        Assert.That(iFactors.CompareTo(jFactors), Is.Not.EqualTo(0), "Prime Factors of distinct numbers must compare not-equal.");
                    }
                }
            }
        }