Skip to content
Open
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
5 changes: 4 additions & 1 deletion src/clean_code/MathHelper.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import sys

class MathHelper:

def find_largest_number_in_list(self, list_with_numbers):
Expand All @@ -6,6 +8,7 @@ def find_largest_number_in_list(self, list_with_numbers):
:param list_with_numbers:
:return: largest number in list, -sys.maxsize -1 for empty list
"""
return 0
max_number = max(list_with_numbers, default=-sys.maxsize-1)
return max_number


10 changes: 7 additions & 3 deletions src/clean_code/StringHelper.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,13 @@ def strings_are_anagrams(self, first_word, second_word):
:param second_word:
:return: True if the words are an Anagram, False otherwise
"""
if type(first_word) is not str or type(second_word) is not str:
raise TypeError('Not a string')

if len(first_word) != len(second_word):
return False
for letter in first_word:
if letter not in second_word:

for letter in first_word.lower():
if letter not in second_word.lower():
return False
return True
return True
34 changes: 33 additions & 1 deletion src/clean_code/test_StringHelper.py
Original file line number Diff line number Diff line change
@@ -1 +1,33 @@
#TODO: Please write a test for my Anagram function
#TODO: Please write a test for my Anagram function

import unittest
from src.clean_code.StringHelper import StringHelper

class Test(unittest.TestCase):

def setUp(self):
self.string_helper = StringHelper()
self.anagram1 = "mary"
self.anagram2 = "amry"

def test_strings_are_anagrams_random_anagram(self):
result = self.string_helper.strings_are_anagrams(self.anagram1, self.anagram2)
self.assertTrue(result)

def test_strings_are_anagrams_empty_string(self):
example_string_1 = "Here comes dots"
example_string_2 = ""
result = self.string_helper.strings_are_anagrams(example_string_1, example_string_2)
self.assertFalse(result)

def test_strings_are_anagrams_anagram_capitalized(self):
anagram_capitalized = "Amry"
result = self.string_helper.strings_are_anagrams(self.anagram1, anagram_capitalized)
self.assertTrue(result)

def test_strings_are_anagrams_integer(self):
example_int = 2
self.assertRaises(TypeError, self.string_helper.strings_are_anagrams, self.anagram1, example_int )