Move 34 / 37. From green to red in 36 seconds. Comments 0 comment(s). 1 modification(s). Kata Summary
========== prime.py ========== = ========== prime.py ==========
=
# Adapt the code to your code kata prime. = # Adapt the code to your code kata prime.
=
import unittest = import unittest
=
class Prime: = class Prime:
  @staticmethod =   @staticmethod
  def factorize(number): =   def factorize(number):
    primes = [] =     primes = []
    candidate = 2 =     candidate = 2
    while number > 1: |     for candidate in range(2, number / 2):
      while number % candidate == 0: =       while number % candidate == 0:
        primes.append(candidate) =         primes.append(candidate)
        number /= candidate =         number /= candidate
      candidate += 1 =       candidate += 1
    return tuple(primes) =     return tuple(primes)
=
  class TestPrime(unittest.TestCase): =   class TestPrime(unittest.TestCase):
=
    def test_one(self): =     def test_one(self):
      self.assertEqual((), Prime.factorize(1)) =       self.assertEqual((), Prime.factorize(1))
    def test_two(self): =     def test_two(self):
      self.assertEqual((2, ), Prime.factorize(2)) =       self.assertEqual((2, ), Prime.factorize(2))
    def test_three(self): =     def test_three(self):
      self.assertEqual((3, ), Prime.factorize(3)) =       self.assertEqual((3, ), Prime.factorize(3))
    def test_four(self): =     def test_four(self):
      self.assertEqual((2, 2), Prime.factorize(4)) =       self.assertEqual((2, 2), Prime.factorize(4))
    def test_six(self): =     def test_six(self):
      self.assertEqual((2, 3), Prime.factorize(6)) =       self.assertEqual((2, 3), Prime.factorize(6))
    def test_eight(self): =     def test_eight(self):
      self.assertEqual((2, 2, 2), Prime.factorize(8)) =       self.assertEqual((2, 2, 2), Prime.factorize(8))
    def test_nine(self): =     def test_nine(self):
      self.assertEqual((3, 3), Prime.factorize(9)) =       self.assertEqual((3, 3), Prime.factorize(9))
=
    if __name__ == '__main__': =     if __name__ == '__main__':
      unittest.main() =       unittest.main()
.......
----------------------------------------------------------------------
Ran 7 tests in 0.000s

OK
.F..FFF
======================================================================
FAIL: test_four (__main__.TestPrime)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "prime.py", line 26, in test_four
    self.assertEqual((2, 2), Prime.factorize(4))
AssertionError: Tuples differ: (2, 2) != ()

First tuple contains 2 additional elements.
First extra element 0:
2

- (2, 2)
+ ()

======================================================================
FAIL: test_six (__main__.TestPrime)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "prime.py", line 28, in test_six
    self.assertEqual((2, 3), Prime.factorize(6))
AssertionError: Tuples differ: (2, 3) != (2,)

First tuple contains 1 additional elements.
First extra element 1:
3

- (2, 3)
?    --

+ (2,)

======================================================================
FAIL: test_three (__main__.TestPrime)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "prime.py", line 24, in test_three
    self.assertEqual((3, ), Prime.factorize(3))
AssertionError: Tuples differ: (3,) != ()

First tuple contains 1 additional elements.
First extra element 0:
3

- (3,)
+ ()

======================================================================
FAIL: test_two (__main__.TestPrime)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "prime.py", line 22, in test_two
    self.assertEqual((2, ), Prime.factorize(2))
AssertionError: Tuples differ: (2,) != ()

First tuple contains 1 additional elements.
First extra element 0:
2

- (2,)
+ ()

----------------------------------------------------------------------
Ran 7 tests in 0.001s

FAILED (failures=4)