1
- using Xunit ;
1
+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2
+
3
+ using Xunit ;
4
+ using System ;
2
5
3
6
public class OcrNumbersTest
4
7
{
5
8
[ Fact ]
6
- public void Recognizes_zero ( )
9
+ public void Recognizes_0 ( )
7
10
{
8
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
9
- "| |" + "\n " +
10
- "|_|" + "\n " +
11
- " " ) ;
12
- Assert . Equal ( "0" , converted ) ;
11
+ var input = " _ " + "\n " +
12
+ "| |" + "\n " +
13
+ "|_|" + "\n " +
14
+ " " ;
15
+ var actual = OcrNumbers . Convert ( input ) ;
16
+ Assert . Equal ( "0" , actual ) ;
13
17
}
14
18
15
19
[ Fact ( Skip = "Remove to run test" ) ]
16
- public void Recognizes_one ( )
20
+ public void Recognizes_1 ( )
17
21
{
18
- var converted = OcrNumbers . Convert ( " " + "\n " +
19
- " |" + "\n " +
20
- " |" + "\n " +
21
- " " ) ;
22
- Assert . Equal ( "1" , converted ) ;
22
+ var input = " " + "\n " +
23
+ " |" + "\n " +
24
+ " |" + "\n " +
25
+ " " ;
26
+ var actual = OcrNumbers . Convert ( input ) ;
27
+ Assert . Equal ( "1" , actual ) ;
23
28
}
24
29
25
30
[ Fact ( Skip = "Remove to run test" ) ]
26
- public void Recognizes_two ( )
31
+ public void Unreadable_but_correctly_sized_inputs_return_ ( )
27
32
{
28
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
29
- " _|" + "\n " +
30
- "|_ " + "\n " +
31
- " " ) ;
32
- Assert . Equal ( "2" , converted ) ;
33
+ var input = " " + "\n " +
34
+ " _" + "\n " +
35
+ " |" + "\n " +
36
+ " " ;
37
+ var actual = OcrNumbers . Convert ( input ) ;
38
+ Assert . Equal ( "?" , actual ) ;
33
39
}
34
40
35
41
[ Fact ( Skip = "Remove to run test" ) ]
36
- public void Recognizes_three ( )
42
+ public void Input_with_a_number_of_lines_that_is_not_a_multiple_of_four_raises_an_error ( )
37
43
{
38
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
39
- " _|" + "\n " +
40
- " _|" + "\n " +
41
- " " ) ;
42
- Assert . Equal ( "3" , converted ) ;
44
+ var input = " _ " + "\n " +
45
+ "| |" + "\n " +
46
+ " " ;
47
+ Assert . Throws < ArgumentException > ( ( ) => OcrNumbers . Convert ( input ) ) ;
43
48
}
44
49
45
50
[ Fact ( Skip = "Remove to run test" ) ]
46
- public void Recognizes_four ( )
51
+ public void Input_with_a_number_of_columns_that_is_not_a_multiple_of_three_raises_an_error ( )
47
52
{
48
- var converted = OcrNumbers . Convert ( " " + "\n " +
49
- "|_ |" + "\n " +
50
- " |" + "\n " +
51
- " " ) ;
52
- Assert . Equal ( "4" , converted ) ;
53
+ var input = " " + "\n " +
54
+ " |" + "\n " +
55
+ " |" + "\n " +
56
+ " " ;
57
+ Assert . Throws < ArgumentException > ( ( ) => OcrNumbers . Convert ( input ) ) ;
53
58
}
54
59
55
60
[ Fact ( Skip = "Remove to run test" ) ]
56
- public void Recognizes_five ( )
61
+ public void Recognizes_110101100 ( )
57
62
{
58
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
59
- "|_ " + "\n " +
60
- " _|" + "\n " +
61
- " " ) ;
62
- Assert . Equal ( "5" , converted ) ;
63
+ var input = " _ _ _ _ " + "\n " +
64
+ " | || | || | | || || |" + "\n " +
65
+ " | ||_| ||_| | ||_||_|" + "\n " +
66
+ " " ;
67
+ var actual = OcrNumbers . Convert ( input ) ;
68
+ Assert . Equal ( "110101100" , actual ) ;
63
69
}
64
70
65
71
[ Fact ( Skip = "Remove to run test" ) ]
66
- public void Recognizes_six ( )
72
+ public void Garbled_numbers_in_a_string_are_replaced_with_ ( )
67
73
{
68
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
69
- "|_ " + "\n " +
70
- "|_|" + "\n " +
71
- " " ) ;
72
- Assert . Equal ( "6" , converted ) ;
74
+ var input = " _ _ _ " + "\n " +
75
+ " | || | || | || || |" + "\n " +
76
+ " | | _| ||_| | ||_||_|" + "\n " +
77
+ " " ;
78
+ var actual = OcrNumbers . Convert ( input ) ;
79
+ Assert . Equal ( "11?10?1?0" , actual ) ;
73
80
}
74
81
75
82
[ Fact ( Skip = "Remove to run test" ) ]
76
- public void Recognizes_seven ( )
83
+ public void Recognizes_2 ( )
77
84
{
78
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
79
- " |" + "\n " +
80
- " |" + "\n " +
81
- " " ) ;
82
- Assert . Equal ( "7" , converted ) ;
85
+ var input = " _ " + "\n " +
86
+ " _|" + "\n " +
87
+ "|_ " + "\n " +
88
+ " " ;
89
+ var actual = OcrNumbers . Convert ( input ) ;
90
+ Assert . Equal ( "2" , actual ) ;
83
91
}
84
92
85
93
[ Fact ( Skip = "Remove to run test" ) ]
86
- public void Recognizes_eight ( )
94
+ public void Recognizes_3 ( )
87
95
{
88
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
89
- "|_|" + "\n " +
90
- "|_|" + "\n " +
91
- " " ) ;
92
- Assert . Equal ( "8" , converted ) ;
96
+ var input = " _ " + "\n " +
97
+ " _|" + "\n " +
98
+ " _|" + "\n " +
99
+ " " ;
100
+ var actual = OcrNumbers . Convert ( input ) ;
101
+ Assert . Equal ( "3" , actual ) ;
93
102
}
94
103
95
104
[ Fact ( Skip = "Remove to run test" ) ]
96
- public void Recognizes_nine ( )
105
+ public void Recognizes_4 ( )
97
106
{
98
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
99
- "|_|" + "\n " +
100
- " _|" + "\n " +
101
- " " ) ;
102
- Assert . Equal ( "9" , converted ) ;
107
+ var input = " " + "\n " +
108
+ "|_|" + "\n " +
109
+ " |" + "\n " +
110
+ " " ;
111
+ var actual = OcrNumbers . Convert ( input ) ;
112
+ Assert . Equal ( "4" , actual ) ;
103
113
}
104
114
105
115
[ Fact ( Skip = "Remove to run test" ) ]
106
- public void Recognizes_garble ( )
116
+ public void Recognizes_5 ( )
107
117
{
108
- var converted = OcrNumbers . Convert ( " " + "\n " +
109
- "| |" + "\n " +
110
- "| |" + "\n " +
111
- " " ) ;
112
- Assert . Equal ( "?" , converted ) ;
118
+ var input = " _ " + "\n " +
119
+ "|_ " + "\n " +
120
+ " _|" + "\n " +
121
+ " " ;
122
+ var actual = OcrNumbers . Convert ( input ) ;
123
+ Assert . Equal ( "5" , actual ) ;
113
124
}
114
125
115
126
[ Fact ( Skip = "Remove to run test" ) ]
116
- public void Recognizes_ten ( )
127
+ public void Recognizes_6 ( )
117
128
{
118
- var converted = OcrNumbers . Convert ( " _ " + "\n " +
119
- " || |" + "\n " +
120
- " ||_|" + "\n " +
121
- " " ) ;
122
- Assert . Equal ( "10" , converted ) ;
129
+ var input = " _ " + "\n " +
130
+ "|_ " + "\n " +
131
+ "|_|" + "\n " +
132
+ " " ;
133
+ var actual = OcrNumbers . Convert ( input ) ;
134
+ Assert . Equal ( "6" , actual ) ;
123
135
}
124
136
125
137
[ Fact ( Skip = "Remove to run test" ) ]
126
- public void Recognizes_110101100 ( )
138
+ public void Recognizes_7 ( )
139
+ {
140
+ var input = " _ " + "\n " +
141
+ " |" + "\n " +
142
+ " |" + "\n " +
143
+ " " ;
144
+ var actual = OcrNumbers . Convert ( input ) ;
145
+ Assert . Equal ( "7" , actual ) ;
146
+ }
147
+
148
+ [ Fact ( Skip = "Remove to run test" ) ]
149
+ public void Recognizes_8 ( )
150
+ {
151
+ var input = " _ " + "\n " +
152
+ "|_|" + "\n " +
153
+ "|_|" + "\n " +
154
+ " " ;
155
+ var actual = OcrNumbers . Convert ( input ) ;
156
+ Assert . Equal ( "8" , actual ) ;
157
+ }
158
+
159
+ [ Fact ( Skip = "Remove to run test" ) ]
160
+ public void Recognizes_9 ( )
127
161
{
128
- var converted = OcrNumbers . Convert ( " _ _ _ _ " + "\n " +
129
- " | || | || | | || || |" + "\n " +
130
- " | ||_| ||_| | ||_||_|" + "\n " +
131
- " " ) ;
132
- Assert . Equal ( "110101100" , converted ) ;
162
+ var input = " _ " + "\n " +
163
+ "|_|" + "\n " +
164
+ " _|" + "\n " +
165
+ " " ;
166
+ var actual = OcrNumbers . Convert ( input ) ;
167
+ Assert . Equal ( "9" , actual ) ;
133
168
}
134
169
135
170
[ Fact ( Skip = "Remove to run test" ) ]
136
- public void Recognizes_numbers_and_garble ( )
171
+ public void Recognizes_string_of_decimal_numbers ( )
137
172
{
138
- var converted = OcrNumbers . Convert ( " _ _ _ " + "\n " +
139
- " | || | || | || || |" + "\n " +
140
- " | | _| ||_| | ||_||_|" + "\n " +
141
- " " ) ;
142
- Assert . Equal ( "11?10?1?0" , converted ) ;
173
+ var input = " _ _ _ _ _ _ _ _ " + "\n " +
174
+ " | _| _||_||_ |_ ||_||_|| |" + "\n " +
175
+ " ||_ _| | _||_| ||_| _||_|" + "\n " +
176
+ " " ;
177
+ var actual = OcrNumbers . Convert ( input ) ;
178
+ Assert . Equal ( "1234567890" , actual ) ;
143
179
}
144
180
145
181
[ Fact ( Skip = "Remove to run test" ) ]
146
- public void Recognizes_1234567890 ( )
182
+ public void Numbers_separated_by_empty_lines_are_recognized_lines_are_joined_by_commas_ ( )
147
183
{
148
- var converted = OcrNumbers . Convert ( " _ _ _ _ _ _ _ _ " + "\n " +
149
- " | _| _||_||_ |_ ||_||_|| |" + "\n " +
150
- " ||_ _| | _||_| ||_| _||_|" + "\n " +
151
- " " ) ;
152
- Assert . Equal ( "1234567890" , converted ) ;
184
+ var input = " _ _ " + "\n " +
185
+ " | _| _|" + "\n " +
186
+ " ||_ _|" + "\n " +
187
+ " " + "\n " +
188
+ " _ _ " + "\n " +
189
+ "|_||_ |_ " + "\n " +
190
+ " | _||_|" + "\n " +
191
+ " " + "\n " +
192
+ " _ _ _ " + "\n " +
193
+ " ||_||_|" + "\n " +
194
+ " ||_| _|" + "\n " +
195
+ " " ;
196
+ var actual = OcrNumbers . Convert ( input ) ;
197
+ Assert . Equal ( "123,456,789" , actual ) ;
153
198
}
154
199
}
0 commit comments