public void DeconstructIntoPrimeFactors_Twenty_ReturnsTwoTwoFive()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(20),
         2, 2, 5);
 }
 public void DeconstructIntoPrimeFactors_One_ReturnsOne()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(1),
         1);
 }
 public void DeconstructIntoPrimeFactors_Three_ReturnsThree()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(3),
         3);
 }
 public void DeconstructIntoPrimeFactors_MinusTwo_ReturnsMinusTwo()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(-2),
         -2);
 }
 public void DeconstructIntoPrimeFactors_MinusFour_ReturnsMinusOneMinusTwoMinusTwo()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(-4),
         -2, -2, -1);
 }
 public void DeconstructIntoPrimeFactors_Four_ReturnsTwoTwo()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(4),
         2, 2);
 }
        public void DeconstructIntoPrimeFactors__MultipliesToOriginal(int number)
        {
            var mul = Integer.DeconstructIntoPrimeFactors(number).Aggregate((x, y) => x * y);

            Assert.AreEqual(number, mul);
        }
 public void DeconstructIntoPrimeFactors_Zero_ReturnsZero()
 {
     TestHelper.AssertSequence(
         Integer.DeconstructIntoPrimeFactors(0),
         0);
 }