Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion exercises/collatz-conjecture/collatz_conjecture.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
def collatz_steps(number):
def steps(number):
pass
22 changes: 11 additions & 11 deletions exercises/collatz-conjecture/collatz_conjecture_test.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
import unittest

from collatz_conjecture import collatz_steps
from collatz_conjecture import steps


# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.1

class CollatzConjectureTest(unittest.TestCase):

class CollatzConjectureTest(unittest.TestCase):
def test_zero_steps_for_one(self):
self.assertEqual(collatz_steps(1), 0)
self.assertEqual(steps(1), 0)

def test_divide_if_even(self):
self.assertEqual(collatz_steps(16), 4)
self.assertEqual(steps(16), 4)

def test_even_and_odd_steps(self):
self.assertEqual(collatz_steps(12), 9)
self.assertEqual(steps(12), 9)

def test_large_number_of_even_and_odd_steps(self):
self.assertEqual(collatz_steps(1000000), 152)
self.assertEqual(steps(1000000), 152)

def test_zero_is_invalid_input(self):
def test_zero_is_an_error(self):
with self.assertRaisesWithMessage(ValueError):
collatz_steps(0)
steps(0)

def test_negative_number_is_invalid_input(self):
def test_negative_value_is_an_error(self):
with self.assertRaisesWithMessage(ValueError):
collatz_steps(-15)
steps(-15)

# Utility functions
def setUp(self):
Expand All @@ -38,5 +38,5 @@ def assertRaisesWithMessage(self, exception):
return self.assertRaisesRegex(exception, r".+")


if __name__ == '__main__':
if __name__ == "__main__":
unittest.main()
2 changes: 1 addition & 1 deletion exercises/collatz-conjecture/example.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
def collatz_steps(n):
def steps(n):
if n <= 0:
raise ValueError("input should be positive")

Expand Down