File tree 3 files changed +33
-2
lines changed
nodestream/pipeline/normalizers
tests/unit/pipeline/normalizers
3 files changed +33
-2
lines changed Original file line number Diff line number Diff line change 2
2
from .normalizer import InvalidFlagError , Normalizer
3
3
from .remove_trailing_dots import RemoveTrailingDots
4
4
from .trim_whitespace import TrimWhitespace
5
+ from .uppercase_strings import UppercaseStrings
5
6
6
7
__all__ = (
7
- "Normalizer " ,
8
+ "InvalidFlagError " ,
8
9
"LowercaseStrings" ,
10
+ "Normalizer" ,
9
11
"RemoveTrailingDots" ,
10
- "InvalidFlagError" ,
11
12
"TrimWhitespace" ,
13
+ "UppercaseStrings" ,
12
14
)
Original file line number Diff line number Diff line change
1
+ from typing import Any
2
+
3
+ from .normalizer import Normalizer
4
+
5
+
6
+ class UppercaseStrings (Normalizer , alias = "uppercase_strings" ):
7
+ def normalize_value (self , value : Any ) -> Any :
8
+ return value .upper () if isinstance (value , str ) else value
Original file line number Diff line number Diff line change
1
+ import pytest
2
+ from hamcrest import assert_that , equal_to
3
+
4
+ from nodestream .pipeline .normalizers import UppercaseStrings
5
+
6
+
7
+ @pytest .mark .parametrize (
8
+ "input_value,expected_value" ,
9
+ [
10
+ ("SomERandomCaps" , "SOMERANDOMCAPS" ),
11
+ ("ALL_CAPS" , "ALL_CAPS" ),
12
+ ("all_lower" , "ALL_LOWER" ),
13
+ ("123456" , "123456" ),
14
+ ("" , "" ),
15
+ (None , None ),
16
+ ([1 , 2 , 3 ], [1 , 2 , 3 ]),
17
+ ],
18
+ )
19
+ def test_uppercase_strings_normalization (input_value , expected_value ):
20
+ subject = UppercaseStrings ()
21
+ assert_that (subject .normalize (input_value ), equal_to (expected_value ))
You can’t perform that action at this time.
0 commit comments