17
17
testTransforms = {
18
18
"http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" : [
19
19
# [format,value,expected]
20
- ['booleanfalse' , 'no' , 'false' ],
20
+ ['booleanfalse' , 'nope' , 'false' ],
21
+
21
22
['booleantrue' , 'yeah' , 'true' ],
22
23
23
24
['datedaymonth' , '2.12' , '--12-02' ],
25
+ ['datedaymonth' , '1.1' , '--01-01' ],
26
+ ['datedaymonth' , '12.11' , '--11-12' ],
27
+
24
28
['datedaymonthen' , '2. December' , '--12-02' ],
29
+ ['datedaymonthen' , '2 Sept.' , '--09-02' ],
30
+ ['datedaymonthen' , '14. april' , '--04-14' ],
31
+
25
32
['datedaymonthyear' , '2.12.2021' , '2021-12-02' ],
33
+ ['datedaymonthyear' , '1.1.99' , '1999-01-01' ],
34
+ ['datedaymonthyear' , '18. 02 2022' , '2022-02-18' ],
35
+
26
36
['datedaymonthyearen' , '02. December 2021' , '2021-12-02' ],
37
+ ['datedaymonthyearen' , '13. Dec. 21' , '2021-12-13' ],
38
+ ['datedaymonthyearen' , '1 Feb 99' , '1999-02-01' ],
39
+
27
40
['datemonthday' , '1.2' , '--01-02' ],
41
+ ['datemonthday' , '12-1' , '--12-01' ],
42
+ ['datemonthday' , '1.30' , '--01-30' ],
43
+
28
44
['datemonthdayen' , 'Jan 02' , '--01-02' ],
45
+ ['datemonthdayen' , 'February 13' , '--02-13' ],
46
+ ['datemonthdayen' , 'sept. 1' , '--09-01' ],
47
+
29
48
['datemonthdayyear' , '12-30-2021' , '2021-12-30' ],
49
+ ['datemonthdayyear' , '2-16-22' , '2022-02-16' ],
50
+ ['datemonthdayyear' , '2-1-2019' , '2019-02-01' ],
51
+
30
52
['datemonthdayyearen' , 'March 31, 2021' , '2021-03-31' ],
31
- ['dateyearmonthday' , '2021.12.31' , '2021-12-31' ],
53
+ ['datemonthdayyearen' , 'Dec. 31, 22' , '2022-12-31' ],
54
+ ['datemonthdayyearen' , 'april 12 2021' , '2021-04-12' ],
32
55
33
56
['datemonthyear' , '12 2021' , '2021-12' ],
57
+ ['datemonthyear' , '1 22' , '2022-01' ],
58
+ ['datemonthyear' , '02-1999' , '1999-02' ],
59
+
34
60
['datemonthyearen' , 'December 2021' , '2021-12' ],
61
+ ['datemonthyearen' , 'apr. 22' , '2022-04' ],
62
+ ['datemonthyearen' , 'Sept. 2000' , '2000-09' ],
63
+
64
+ ['dateyearmonthday' , '2021.12.31' , '2021-12-31' ],
65
+ ['dateyearmonthday' , '2021 1 31' , '2021-01-31' ],
66
+ ['dateyearmonthday' , '22-1-1' , '2022-01-01' ],
67
+
35
68
['dateyearmonthen' , '2021 December' , '2021-12' ],
69
+ ['dateyearmonthen' , '22 sept.' , '2022-09' ],
70
+ ['dateyearmonthen' , '21.apr.' , '2021-04' ],
36
71
37
72
['nocontent' , 'Bla bla' , '' ],
73
+
38
74
['numcommadecimal' , '1.499,99' , '1499.99' ],
75
+ ['numcommadecimal' , '100*499,999' , '100499.999' ],
76
+ ['numcommadecimal' , '0,5' , '0.5' ],
77
+
39
78
['numdotdecimal' , '1,499.99' , '1499.99' ],
79
+ ['numdotdecimal' , '1*499' , '1499' ],
80
+ ['numdotdecimal' , '1,000,000.5' , '1000000.5' ],
40
81
41
- ['zerodash' , '-' , '0' ],
82
+ ['zerodash' , '-- ' , '0' ],
42
83
],
43
84
"http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" : [
44
85
# [format,value,expected]
86
+ ['date-day-month' , '1.1' , '--01-01' ],
87
+ ['date-day-month' , '31-12' , '--12-31' ],
88
+ ['date-day-month' , '27*2' , '--02-27' ],
89
+
90
+ ['date-day-month-year' , '1-2-20' , '2020-02-01' ],
91
+ ['date-day-month-year' , '1-02-20' , '2020-02-01' ],
92
+ ['date-day-month-year' , '01 02 2020' , '2020-02-01' ],
93
+
94
+ ['date-day-monthname-en' , '1. sept.' , '--09-01' ],
95
+ ['date-day-monthname-en' , '01. sep.' , '--09-01' ],
96
+ ['date-day-monthname-en' , '30 August' , '--08-30' ],
97
+
98
+ ['date-day-monthname-year-en' , '30 August 22' , '2022-08-30' ],
99
+ ['date-day-monthname-year-en' , '01 Aug 22' , '2022-08-01' ],
100
+ ['date-day-monthname-year-en' , '1 Aug 2022' , '2022-08-01' ],
101
+
102
+ ['date-month-day' , '1 31' , '--01-31' ],
103
+ ['date-month-day' , '01-31' , '--01-31' ],
104
+ ['date-month-day' , '12.1' , '--12-01' ],
105
+
106
+ ['date-month-day-year' , '12. 1 22' , '2022-12-01' ],
107
+ ['date-month-day-year' , '01/12/2022' , '2022-01-12' ],
108
+ ['date-month-day-year' , '01.12.2022' , '2022-01-12' ],
109
+
110
+ ['date-month-year' , '1*22' , '2022-01' ],
111
+ ['date-month-year' , '01 22' , '2022-01' ],
112
+ ['date-month-year' , '12.2022' , '2022-12' ],
113
+
114
+ ['date-monthname-day-en' , 'April/1' , '--04-01' ],
115
+ ['date-monthname-day-en' , 'Sept./20' , '--09-20' ],
116
+ ['date-monthname-day-en' , 'december 31' , '--12-31' ],
117
+
118
+ ['date-monthname-day-year-en' , 'december 31, 22' , '2022-12-31' ],
119
+ ['date-monthname-day-year-en' , 'dec. 31, 2022' , '2022-12-31' ],
120
+ ['date-monthname-day-year-en' , 'dec. 1, 2022' , '2022-12-01' ],
121
+
122
+ ['date-year-month' , '99/1' , '1999-01' ],
123
+ ['date-year-month' , '2022 - 12' , '2022-12' ],
124
+ ['date-year-month' , '2022 -/ 1' , '2022-01' ],
125
+
126
+ ['date-year-month-day' , ' 22-1-2 ' , '2022-01-02' ],
127
+ ['date-year-month-day' , ' 2022/1/2 ' , '2022-01-02' ],
128
+ ['date-year-month-day' , ' 22/01/02 ' , '2022-01-02' ],
129
+
130
+ ['date-year-monthname-en' , '22/december' , '2022-12' ],
131
+ ['date-year-monthname-en' , '22/dec.' , '2022-12' ],
132
+ ['date-year-monthname-en' , '2022-dec' , '2022-12' ],
133
+
134
+ ['fixed-empty' , 'some text' , '' ],
135
+ ['fixed-false' , 'some text' , 'false' ],
136
+ ['fixed-true' , 'some text' , 'true' ],
137
+ ['fixed-zero' , 'some text' , '0' ],
138
+
139
+ ['num-comma-decimal' , '1.499,99' , '1499.99' ],
140
+ ['num-comma-decimal' , '100*499,999' , '100499.999' ],
141
+ ['num-comma-decimal' , '0,5' , '0.5' ],
142
+
143
+ ['num-dot-decimal' , '1,499.99' , '1499.99' ],
144
+ ['num-dot-decimal' , '1*499' , '1499' ],
145
+ ['num-dot-decimal' , '1,000,000.5' , '1000000.5' ],
146
+
45
147
],
46
148
"http://www.sec.gov/inlineXBRL/transformation/2015-08-31" : [
47
149
# [format,value,expected]
150
+ ['durwordsen' , 'Five years, two months' , 'P5Y2M0D' ],
151
+ ['durwordsen' , '9 years, 2 months' , 'P9Y2M0D' ],
152
+ ['durwordsen' , '12 days' , 'P0Y0M12D' ],
153
+ ['durwordsen' , 'ONE MONTH AND THREE DAYS' , 'P0Y1M3D' ],
154
+
48
155
['numwordsen' , 'no' , '0' ],
49
156
['numwordsen' , 'None' , '0' ],
50
157
['numwordsen' , 'nineteen hundred forty-four' , '1944' ],
51
158
['numwordsen' , 'Seventy Thousand and one' , '70001' ],
159
+
52
160
['boolballotbox' , '☐' , 'false' ],
161
+ ['boolballotbox' , '☐' , 'false' ],
53
162
['boolballotbox' , '☑' , 'true' ],
163
+ ['boolballotbox' , '☑' , 'true' ],
54
164
['boolballotbox' , '☒' , 'true' ],
55
- ['durwordsen' , 'Five years, two months' , 'P5Y2M0D' ],
56
- ['durwordsen' , '9 years, 2 months' , 'P9Y2M0D' ],
57
- ['durwordsen' , '12 days' , 'P0Y0M12D' ]
165
+ ['boolballotbox' , '☒' , 'true' ],
166
+
58
167
]
59
168
}
60
169
@@ -69,7 +178,7 @@ def test_normalize(self):
69
178
for i , testCase in enumerate (testTransforms [namespace ]):
70
179
formatCode , testInput , expected = testCase
71
180
testOutput = normalize (namespace , formatCode , testInput )
72
- self .assertEqual (expected , testOutput , msg = f'Failed at test elem { i } ' )
181
+ self .assertEqual (expected , testOutput , msg = f'Failed at test elem { i } of registry { namespace } ' )
73
182
74
183
75
184
if __name__ == '__main__' :
0 commit comments