def test_rand(self): import random import re def smile_sad(): t = random.choice([True, False]) a = random.randint(0, 1) b = random.randint(0, 1) * 2 c = random.randint(0, 1) * 3 if t: return ':;'[a] + '-~o'[b] + 'D)>('[c] return ':;'[a] + 'D)>('[c] def sol(arr): r = re.compile('^[:;][-~]?[)D]$') return len(list(filter(r.match, arr))) def generate_arr(): n = random.randint(5, 15) arr = [] i = 0 while i < n: arr.append(smile_sad()) i += 1 return arr for _ in range(100): arr = generate_arr() self.assertEqual(count_smileys(arr[:]), sol(arr))
def test_3(self): result = count_smileys( [ ":D", ";-(", ":oD", ":oD", ";D", ";D", ":-(", ":D", ";D", ":(", ";(", ";o(", ] ) self.assertEqual(result, 5)
def test(self): self.assertEqual(count_smileys([]), 0) self.assertEqual(count_smileys([':D', ':~)', ';~D', ':)']), 4) self.assertEqual(count_smileys([':)', ':(', ':D', ':O', ':;']), 2) self.assertEqual(count_smileys([';]', ':[', ';*', ':$', ';-D']), 1)
def test_2(self): result = count_smileys([":)", ":(", ":D", ":O", ":;"]) self.assertEqual(result, 2)
def test_1(self): result = count_smileys([":D", ":~)", ";~D", ":)"]) self.assertEqual(result, 4)
def test_count_smileys(): assert count_smileys([]) == 0 assert count_smileys([':D', ':~)', ';~D', ':)']) == 4 assert count_smileys([':)', ':(', ':D', ':O', ':;']) == 2 assert count_smileys([';]', ':[', ';*', ':$', ';-D']) == 1
import sys sys.path.append('D:/Python/coding-exercises/Python3/utility') from edabit_tester import EdabitTester from count_smileys import count_smileys Test = EdabitTester() Test.assert_equals(count_smileys([":)", ";(", ";}", ":-D"]), 2) Test.assert_equals(count_smileys([";D", ":-(", ":-)", ";~)"]), 3) Test.assert_equals(count_smileys([";]", ":[", ";*", ":$", ";-D"]), 1) Test.assert_equals(count_smileys([";(", ":>", ":}", ":]"]), 0) Test.assert_equals( count_smileys([ ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)", ":)" ]), 13) Test.assert_equals(count_smileys([':)', ':(', ':D', ':O', ':;']), 2) Test.assert_equals(count_smileys([':-)', ';~D', ':-D', ':_D']), 3) Test.assert_equals(count_smileys([':---)', '))', ';~~D', ';D']), 1) Test.assert_equals(count_smileys([';~)', ':)', ':-)', ':--)']), 3) Test.assert_equals(count_smileys([':o)', ':--D', ';-~)']), 0) Test.assert_equals(count_smileys([]), 0, "An empty list should return 0") Test.summary()