Coverage for intelligence_toolkit/tests/unit/helpers/test_texts.py: 100%

59 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-16 13:41 -0300

1# Copyright (c) 2024 Microsoft Corporation. All rights reserved. 

2# Licensed under the MIT license. See LICENSE file in the project. 

3# 

4 

5 

6from intelligence_toolkit.helpers.texts import clean_for_column_name, clean_text_for_csv 

7 

8 

9class TestCleanTextForColumnName: 

10 def test_clean_text_for_csv_empty(self) -> None: 

11 assert clean_for_column_name("") == "" 

12 

13 def test_clean_text_for_csv_alpha_numeric(self) -> None: 

14 assert clean_for_column_name("Hello123") == "Hello123" 

15 

16 def test_clean_text_for_csv_with_spaces(self) -> None: 

17 assert clean_for_column_name("Hello World 123") == "Hello World 123" 

18 

19 def test_clean_text_for_csv_special_characters(self) -> None: 

20 assert clean_for_column_name("Hello, World! 123") == "Hello World 123" 

21 

22 def test_clean_text_for_csv_email(self) -> None: 

23 assert clean_for_column_name("user@example.com") == "userexamplecom" 

24 

25 def test_clean_text_for_csv_ampersand(self) -> None: 

26 assert clean_for_column_name("R&D") == "R&D" 

27 

28 def test_clean_text_for_csv_plus_sign(self) -> None: 

29 assert clean_for_column_name("C++") == "C++" 

30 

31 def test_clean_text_for_csv_at_symbol(self) -> None: 

32 assert clean_for_column_name("user@domain") == "userdomain" 

33 

34 def test_clean_text_for_csv_numbers(self) -> None: 

35 assert clean_for_column_name(123456) == "123456" 

36 

37 def test_clean_text_for_csv_mixed_characters(self) -> None: 

38 assert clean_for_column_name("Hello@World&123+") == "HelloWorld&123+" 

39 

40 def test_clean_text_for_csv_only_special_characters(self) -> None: 

41 assert clean_for_column_name("!@#$%^&*()_+={}-[]:\";'<>?,./") == "&()_+-" 

42 

43 def test_clean_text_for_csv_unicode_characters(self) -> None: 

44 assert clean_for_column_name("你好,世界") == "你好世界" 

45 

46 def test_clean_text_for_csv_underscore(self) -> None: 

47 assert clean_for_column_name("file_name") == "file_name" 

48 

49 def test_clean_text_for_csv_dash(self) -> None: 

50 assert clean_for_column_name("file-name") == "file-name" 

51 

52 

53class TestCleanTextForCsv: 

54 def test_clean_text_for_csv_empty(self) -> None: 

55 assert clean_text_for_csv("") == "" 

56 

57 def test_clean_text_for_csv_alpha_numeric(self) -> None: 

58 assert clean_text_for_csv("Hello123") == "Hello123" 

59 

60 def test_clean_text_for_csv_with_spaces(self) -> None: 

61 assert clean_text_for_csv("Hello World 123") == "Hello World 123" 

62 

63 def test_clean_text_for_csv_special_characters(self) -> None: 

64 assert clean_text_for_csv("Hello, World! 123") == "Hello World 123" 

65 

66 def test_clean_text_for_csv_email(self) -> None: 

67 assert clean_text_for_csv("user@example.com") == "user@examplecom" 

68 

69 def test_clean_text_for_csv_ampersand(self) -> None: 

70 assert clean_text_for_csv("R&D") == "R&D" 

71 

72 def test_clean_text_for_csv_plus_sign(self) -> None: 

73 assert clean_text_for_csv("C++") == "C++" 

74 

75 def test_clean_text_for_csv_at_symbol(self) -> None: 

76 assert clean_text_for_csv("user@domain") == "user@domain" 

77 

78 def test_clean_text_for_csv_numbers(self) -> None: 

79 assert clean_text_for_csv(123456) == "123456" 

80 

81 def test_clean_text_for_csv_mixed_characters(self) -> None: 

82 assert clean_text_for_csv("Hello@World&123+") == "Hello@World&123+" 

83 

84 def test_clean_text_for_csv_only_special_characters(self) -> None: 

85 assert clean_text_for_csv("!@#$%^&*()_+={}[]:\";'<>?,./") == "@&_+" 

86 

87 def test_clean_text_for_csv_unicode_characters(self) -> None: 

88 assert clean_text_for_csv("你好,世界") == "你好世界" 

89 

90 def test_clean_text_for_csv_underscore(self) -> None: 

91 assert clean_text_for_csv("file_name") == "file_name" 

92 

93 def test_clean_text_for_csv_dash(self) -> None: 

94 assert clean_text_for_csv("file-name") == "filename"