コード例 #1
0
ファイル: test_Stattext.py プロジェクト: reclaro/castel_old
class TestAvgLetterForWord(TestCase):
    def setUp(self):
        self.stattext = Stattext()

    def do_count_letters(self, text):
        file_content = io.StringIO(text)
        return self.stattext._count_letters(file_content)

    def do_avg_letters(self, text, precision=1):
        file_content = io.StringIO(text)
        return self.stattext._avg_letters(file_content, precision)

    def test_count_letters(self):
        text =  "This is a good test"
        result = self.do_count_letters(text)
        expected = 15
        self.assertEqual(result, expected)

    def test_count_letters_multi_line(self):
        text =  "This\n is \na good test\n\n\n"
        result = self.do_count_letters(text)        
        expected = 15
        self.assertEqual(result, expected)        

    def test_count_letters_ignoring_signs(self):
        text = "  Hello, World!! ...\n Is a ''good day''"
        result = self.do_count_letters(text)        
        expected = 20
        self.assertEqual(result, expected)

    def test_count_letters_empty_line(self):
        text = ""
        result = self.do_count_letters(text)        
        expected = 0
        self.assertEqual(result, expected)

    def test_count_letters_ignore_single_quote(self):
        text = "I'm"
        result = self.do_count_letters(text)
        expected = 2
        self.assertEqual(result, expected)

    def test_count_digit_as_letters(self):
        text ="123"
        result = self.do_count_letters(text)
        expected = 3
        self.assertEqual(result, expected)
        
    def test_avg_letter_single_line(self):
        text =  "This is a good test"
        result = self.do_avg_letters(text)        
        expected = 3.0
        self.assertEqual(result, expected)
        
    def test_avg_letter_multi_line(self):
        text =  "This is a good\n test\n\n"
        result = self.do_avg_letters(text)
        expected = 3.0
        self.assertEqual(result, expected)

    def test_avg_unicode(self):
        text = "Thíś íś ṕŕéttӳ fúń.\n "
        expected = 3.8
        result = self.do_avg_letters(text)
        self.assertEqual(result, expected)

    def test_avg_no_decimal(self):
        text = "Thíś íś ṕŕéttӳ fúń.\n "
        expected = 3
        result = self.do_avg_letters(text, precision=0)
        self.assertEqual(result, expected)

    def test_avg_emtpy_file(self):
        text = ""
        expected = 0
        result = self.do_avg_letters(text)
        self.assertEqual(result, expected)