def test_encode_lowercase_characters(self): self.assertMultiLineEqual(encode('aabbbcccc'), '2a3b4c')
def test_encode_single_characters_only_are_encoded_without_count(self): self.assertMultiLineEqual(encode('XYZ'), 'XYZ')
def test_encode_single_characters_mixed_with_repeated_characters(self): self.assertMultiLineEqual( encode('WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'), '12WB12W3B24WB')
def test_encode_lowercase_characters(self): assert encode("aabbbcccc") == "2a3b4c"
def test_encode_followed_by_decode_gives_original_string(self): assert decode(encode("zzz ZZ zZ")) == "zzz ZZ zZ"
def test_encode_single_characters_mixed_with_repeated_characters(self): self.assertMultiLineEqual( encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"), "12WB12W3B24WB", )
def test_encode_unicode_s(self): self.assertMultiLineEqual('⏰3⚽2⭐⏰', encode('⏰⚽⚽⚽⭐⭐⏰'))
def test_encode_string_with_no_single_characters(self): self.assertEqual(encode('AABBBCCCC'), '2A3B4C')
def test_encode_single_characters_mixed_with_repeated_characters(self): self.assertEqual( encode('WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'), '12WB12W3B24WB')
def test_encode_empty_string(self): self.assertMultiLineEqual('', encode(''))
def test_encode_single_characters_only_are_encoded_without_count(self): self.assertEqual(encode('XYZ'), 'XYZ')
def test_encode_multiple_whitespace_mixed_in_string(self): self.assertMultiLineEqual('2 hs2q q2w2 ', encode(' hsqq qww '))
def test_encode_string_with_no_single_characters(self): self.assertMultiLineEqual('2A3B4C', encode('AABBBCCCC'))
def test_encode(self): self.assertMultiLineEqual('2A3B4C', encode('AABBBCCCC'))
def test_encode_empty_string(self): self.assertMultiLineEqual(encode(''), '')
def test_encode_multiple_whitespace_mixed_in_string(self): self.assertEqual(encode(' hsqq qww '), '2 hs2q q2w2 ')
def test_encode_single_characters_only_are_encoded_without_count(self): self.assertMultiLineEqual(encode("XYZ"), "XYZ")
def test_encode_empty_string(self): self.assertEqual(encode(''), '')
def test_encode_lowercase_characters(self): self.assertMultiLineEqual(encode("aabbbcccc"), "2a3b4c")
def test_A_should_return_A1(): entrada = "A" saida_desejada = "A1" assert saida_desejada == encode(entrada)
def test_encode_multiple_whitespace_mixed_in_string(self): assert encode(" hsqq qww ") == "2 hs2q q2w2 "
def test_AAAAAABBC_should_return_A6B2C1(): entrada = "AAAAAABBC" saida_desejada = "A6B2C1" assert saida_desejada == encode(entrada)
def test_encode_empty_string(self): assert encode("") == ""
def test_AABBCC_should_return_A2B2C2(): entrada = "AABBCC" saida_desejada = "A2B2C2" assert saida_desejada == encode(entrada)
def test_encode_single_characters_only_are_encoded_without_count(self): assert encode("XYZ") == "XYZ"
def test_encode_single_character(self): self.assertMultiLineEqual(encode('a'), 'a')
def test_encode_string_with_no_single_characters(self): self.assertMultiLineEqual(encode('AABBBCCCC'), '2A3B4C')
def test_encoding_string_with_a_broken_run(self): self.assertMultiLineEqual(encode('AABBBCCCCA'), '2A3B4CA')
def test_encode_multiple_whitespace_mixed_in_string(self): self.assertMultiLineEqual(encode(' hsqq qww '), '2 hs2q q2w2 ')
def test_combination(self): self.assertMultiLineEqual(decode(encode('zzz ZZ zZ')), 'zzz ZZ zZ')
def test_encode_empty_string(self): self.assertMultiLineEqual(encode(""), "")
def test_encode_none(self): self.assertEqual(encode(None), '')
def test_encode_string_with_no_single_characters(self): self.assertMultiLineEqual(encode("AABBBCCCC"), "2A3B4C")
def test_encode_string_with_no_single_characters(self): assert encode("AABBBCCCC") == "2A3B4C"
def test_encode_multiple_whitespace_mixed_in_string(self): self.assertMultiLineEqual(encode(" hsqq qww "), "2 hs2q q2w2 ")
def test_encode_single_characters_mixed_with_repeated_characters(self): assert ( encode("WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB") == "12WB12W3B24WB" )
def test_encode_followed_by_decode_gives_original_string(self): self.assertMultiLineEqual(decode(encode("zzz ZZ zZ")), "zzz ZZ zZ")
def test_encode_with_single(self): self.assertMultiLineEqual( '12WB12W3B24WB', encode('WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB'))