def test_medium_abundant_number_is_classified_correctly(self): self.assertIs(classify(30), "abundant")
def test_large_abundant_number(self): self.assertIs(classify(33550335), "abundant")
def test_medium_deficient_number(self): self.assertIs(classify(32), "deficient")
def test_medium_perfect_number(self): self.assertIs(classify(28), "perfect")
def test_smallest_abundant_number(self): self.assertIs(classify(12), "abundant")
def test_zero(self): with self.assertRaisesWithMessage(ValueError): classify(0)
def test_smallest_perfect_number(self): self.assertIs(classify(6), "perfect")
def test_zero_is_rejected_not_a_natural_number(self): with self.assertRaisesWithMessage(ValueError): classify(0)
def test_negative_integer_is_rejected_not_a_natural_number(self): with self.assertRaisesWithMessage(ValueError): classify(-1)
def test_large_deficient_number_is_classified_correctly(self): self.assertIs(classify(33550337), "deficient")
def test_edge_case_no_factors_other_than_itself_is_classified_correctly( self): self.assertIs(classify(1), "deficient")
def test_medium_deficient_number_is_classified_correctly(self): self.assertIs(classify(32), "deficient")
def test_smallest_non_prime_deficient_number_is_classified_correctly(self): self.assertIs(classify(4), "deficient")
def test_large_abundant_number_is_classified_correctly(self): self.assertIs(classify(33550335), "abundant")
def test_even_abundant(self): self.assertIs(classify(20), "abundant")
def test_smallest_perfect_number_is_classified_correctly(self): self.assertIs(classify(6), "perfect")
def test_edge_case(self): self.assertIs(classify(1), "deficient")
def test_third_perfect_number(self): self.assertIs(classify(496), "perfect")
def test_negative(self): with self.assertRaisesWithMessage(ValueError): classify(-1)
def test_fourth_perfect_number(self): self.assertIs(classify(8128), "perfect")
def classify_number(number): return jsonify(number=number, classification=classify(number))
def test_sixth_perfect_number(self): self.assertIs(classify(8589869056), "perfect")
def test_large_perfect_number(self): self.assertIs(classify(33550336), "perfect")
def test_seventh_perfect_number(self): self.assertIs(classify(137438691328), "perfect")
def test_medium_abundant_number(self): self.assertIs(classify(30), "abundant")
def test_answer_to_the_ultimate_question_of_life(self): self.assertIs(classify(42), "abundant")
def test_smallest_nonprime_deficient_number(self): self.assertIs(classify(4), "deficient")
def test_odd_abundant(self): self.assertIs(classify(945), "abundant")
def test_large_deficient_number(self): self.assertIs(classify(33550337), "deficient")
def test_smallest_abundant_number_is_classified_correctly(self): self.assertIs(classify(12), "abundant")