From a1186d1485cc52e1e5067fe15d7d303190caf755 Mon Sep 17 00:00:00 2001 From: Ava Gaiety Wroten Date: Tue, 15 Sep 2020 22:12:44 -0500 Subject: [PATCH] By seven --- main.py | 7 +++++++ tests/seven_test.py | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/seven_test.py diff --git a/main.py b/main.py index 9abb35f..a39ccd2 100644 --- a/main.py +++ b/main.py @@ -22,6 +22,13 @@ def divide_by_six(num): # Same rules as dividing by three, and ensure original n num_sum = _sum_digits(num) return num_sum % 3 == 0 and divide_by_two(num) +def divide_by_seven(num): # Multiply last digit by five then add unused digits to result, dividing the result by seven. + if (num <= 100): return num % 7 == 0 + num_as_string = f"{num}" + ones_place = _get_last_digit(num) * 5 + num_to_check = int(f"{num_as_string[:-1]}{ones_place}") + return num_to_check % 7 == 0 + def divide_by_eight(num): # Same rules as dividing by four, but for last three digits if (num <= 100): return num % 8 == 0 hundreds_place = _get_last_digit(num, 3) * 100 diff --git a/tests/seven_test.py b/tests/seven_test.py new file mode 100644 index 0000000..13951cb --- /dev/null +++ b/tests/seven_test.py @@ -0,0 +1,22 @@ +from main import divide_by_seven +import unittest + +class TestDivideBySeven(unittest.TestCase): + def test_by_1(self): + self.assertFalse(divide_by_seven(1)) + def test_by_2(self): + self.assertFalse(divide_by_seven(2)) + def test_by_3(self): + self.assertFalse(divide_by_seven(3)) + def test_by_7(self): + self.assertTrue(divide_by_seven(7)) + def test_by_14(self): + self.assertTrue(divide_by_seven(14)) + def test_by_700(self): + self.assertTrue(divide_by_seven(700)) + def test_by_701(self): + self.assertFalse(divide_by_seven(701)) + def test_by_7000(self): + self.assertTrue(divide_by_seven(7000)) + def test_by_362880(self): + self.assertTrue(divide_by_seven(362880))