Пример #1
0
    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)
Пример #3
0
 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)
Пример #6
0
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
Пример #7
0
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()