1
1
<?php namespace text \unittest ;
2
2
3
+ use unittest \Assert ;
3
4
use unittest \{Ignore , Test , TestCase };
4
5
5
6
/**
9
10
* @see xp://net.xp_framework.unittest.text.StringTokenizerTest
10
11
* @see xp://net.xp_framework.unittest.text.StreamTokenizerTest
11
12
*/
12
- abstract class AbstractTokenizerTest extends TestCase {
13
+ abstract class AbstractTokenizerTest {
13
14
14
15
/**
15
16
* Retrieve a tokenizer instance
@@ -49,49 +50,49 @@ protected function allTokens($input, $delim) {
49
50
#[Test]
50
51
public function testSimpleString () {
51
52
$ t = $ this ->tokenizerInstance ("Hello World! \nThis is an example " , " \n" );
52
- $ this -> assertEquals ('Hello ' , $ t ->nextToken ());
53
- $ this -> assertEquals ('World! ' , $ t ->nextToken ());
54
- $ this -> assertEquals ('This ' , $ t ->nextToken ());
55
- $ this -> assertEquals ('is ' , $ t ->nextToken ());
56
- $ this -> assertEquals ('an ' , $ t ->nextToken ());
57
- $ this -> assertEquals ('example ' , $ t ->nextToken ());
58
- $ this -> assertFalse ($ t ->hasMoreTokens ());
53
+ Assert:: equals ('Hello ' , $ t ->nextToken ());
54
+ Assert:: equals ('World! ' , $ t ->nextToken ());
55
+ Assert:: equals ('This ' , $ t ->nextToken ());
56
+ Assert:: equals ('is ' , $ t ->nextToken ());
57
+ Assert:: equals ('an ' , $ t ->nextToken ());
58
+ Assert:: equals ('example ' , $ t ->nextToken ());
59
+ Assert:: false ($ t ->hasMoreTokens ());
59
60
}
60
61
61
62
#[Test]
62
63
public function testSimpleStringWithDelims () {
63
64
$ t = $ this ->tokenizerInstance ("Hello World! \nThis is an example " , " \n" , true );
64
- $ this -> assertEquals ('Hello ' , $ t ->nextToken ());
65
- $ this -> assertEquals (' ' , $ t ->nextToken ());
66
- $ this -> assertEquals ('World! ' , $ t ->nextToken ());
67
- $ this -> assertEquals ("\n" , $ t ->nextToken ());
68
- $ this -> assertEquals ('This ' , $ t ->nextToken ());
69
- $ this -> assertEquals (' ' , $ t ->nextToken ());
70
- $ this -> assertEquals ('is ' , $ t ->nextToken ());
71
- $ this -> assertEquals (' ' , $ t ->nextToken ());
72
- $ this -> assertEquals ('an ' , $ t ->nextToken ());
73
- $ this -> assertEquals (' ' , $ t ->nextToken ());
74
- $ this -> assertEquals ('example ' , $ t ->nextToken ());
75
- $ this -> assertFalse ($ t ->hasMoreTokens ());
65
+ Assert:: equals ('Hello ' , $ t ->nextToken ());
66
+ Assert:: equals (' ' , $ t ->nextToken ());
67
+ Assert:: equals ('World! ' , $ t ->nextToken ());
68
+ Assert:: equals ("\n" , $ t ->nextToken ());
69
+ Assert:: equals ('This ' , $ t ->nextToken ());
70
+ Assert:: equals (' ' , $ t ->nextToken ());
71
+ Assert:: equals ('is ' , $ t ->nextToken ());
72
+ Assert:: equals (' ' , $ t ->nextToken ());
73
+ Assert:: equals ('an ' , $ t ->nextToken ());
74
+ Assert:: equals (' ' , $ t ->nextToken ());
75
+ Assert:: equals ('example ' , $ t ->nextToken ());
76
+ Assert:: false ($ t ->hasMoreTokens ());
76
77
}
77
78
78
79
#[Test]
79
80
public function repetetiveDelimiters () {
80
81
$ t = $ this ->tokenizerInstance ("Hello \nWorld! " , " \n" );
81
- $ this -> assertEquals ('Hello ' , $ t ->nextToken ());
82
- $ this -> assertEquals ('' , $ t ->nextToken ());
83
- $ this -> assertEquals ('World! ' , $ t ->nextToken ());
84
- $ this -> assertFalse ($ t ->hasMoreTokens ());
82
+ Assert:: equals ('Hello ' , $ t ->nextToken ());
83
+ Assert:: equals ('' , $ t ->nextToken ());
84
+ Assert:: equals ('World! ' , $ t ->nextToken ());
85
+ Assert:: false ($ t ->hasMoreTokens ());
85
86
}
86
87
87
88
#[Test]
88
89
public function repetetiveDelimitersWithDelims () {
89
90
$ t = $ this ->tokenizerInstance ("Hello \nWorld! " , " \n" , true );
90
- $ this -> assertEquals ('Hello ' , $ t ->nextToken ());
91
- $ this -> assertEquals (' ' , $ t ->nextToken ());
92
- $ this -> assertEquals ("\n" , $ t ->nextToken ());
93
- $ this -> assertEquals ('World! ' , $ t ->nextToken ());
94
- $ this -> assertFalse ($ t ->hasMoreTokens ());
91
+ Assert:: equals ('Hello ' , $ t ->nextToken ());
92
+ Assert:: equals (' ' , $ t ->nextToken ());
93
+ Assert:: equals ("\n" , $ t ->nextToken ());
94
+ Assert:: equals ('World! ' , $ t ->nextToken ());
95
+ Assert:: false ($ t ->hasMoreTokens ());
95
96
}
96
97
97
98
#[Test]
@@ -100,7 +101,7 @@ public function forIteration() {
100
101
for ($ t = $ this ->tokenizerInstance ('A B C ' , ' ' ); $ t ->hasMoreTokens (); ) {
101
102
$ r []= $ t ->nextToken ();
102
103
}
103
- $ this -> assertEquals (range ('A ' , 'C ' ), $ r );
104
+ Assert:: equals (range ('A ' , 'C ' ), $ r );
104
105
}
105
106
106
107
#[Test]
@@ -110,7 +111,7 @@ public function whileIteration() {
110
111
while ($ t ->hasMoreTokens ()) {
111
112
$ r []= $ t ->nextToken ();
112
113
}
113
- $ this -> assertEquals (range ('A ' , 'C ' ), $ r );
114
+ Assert:: equals (range ('A ' , 'C ' ), $ r );
114
115
}
115
116
116
117
#[Test]
@@ -119,62 +120,62 @@ public function foreachIteration() {
119
120
foreach ($ this ->tokenizerInstance ('A B C ' , ' ' ) as $ token ) {
120
121
$ r []= $ token ;
121
122
}
122
- $ this -> assertEquals (range ('A ' , 'C ' ), $ r );
123
+ Assert:: equals (range ('A ' , 'C ' ), $ r );
123
124
}
124
125
125
126
#[Test]
126
127
public function reset () {
127
128
$ t = $ this ->tokenizerInstance ('A B C ' , ' ' );
128
- $ this -> assertTrue ($ t ->hasMoreTokens ());
129
- $ this -> assertEquals ('A ' , $ t ->nextToken ());
129
+ Assert:: true ($ t ->hasMoreTokens ());
130
+ Assert:: equals ('A ' , $ t ->nextToken ());
130
131
$ t ->reset ();
131
- $ this -> assertTrue ($ t ->hasMoreTokens ());
132
- $ this -> assertEquals ('A ' , $ t ->nextToken ());
132
+ Assert:: true ($ t ->hasMoreTokens ());
133
+ Assert:: equals ('A ' , $ t ->nextToken ());
133
134
}
134
135
135
136
#[Test]
136
137
public function pushBackTokens () {
137
138
$ t = $ this ->tokenizerInstance ('1,2,5 ' , ', ' );
138
- $ this -> assertEquals ('1 ' , $ t ->nextToken ());
139
- $ this -> assertEquals ('2 ' , $ t ->nextToken ());
139
+ Assert:: equals ('1 ' , $ t ->nextToken ());
140
+ Assert:: equals ('2 ' , $ t ->nextToken ());
140
141
$ t ->pushBack ('3,4, ' );
141
- $ this -> assertEquals ('3 ' , $ t ->nextToken ());
142
- $ this -> assertEquals ('4 ' , $ t ->nextToken ());
143
- $ this -> assertEquals ('5 ' , $ t ->nextToken ());
142
+ Assert:: equals ('3 ' , $ t ->nextToken ());
143
+ Assert:: equals ('4 ' , $ t ->nextToken ());
144
+ Assert:: equals ('5 ' , $ t ->nextToken ());
144
145
}
145
146
146
147
#[Test]
147
148
public function pushBackOrder () {
148
149
$ t = $ this ->tokenizerInstance ('1,2,5 ' , ', ' );
149
- $ this -> assertEquals ('1 ' , $ t ->nextToken ());
150
- $ this -> assertEquals ('2 ' , $ t ->nextToken ());
150
+ Assert:: equals ('1 ' , $ t ->nextToken ());
151
+ Assert:: equals ('2 ' , $ t ->nextToken ());
151
152
$ t ->pushBack ('4, ' );
152
153
$ t ->pushBack ('3, ' );
153
- $ this -> assertEquals ('3 ' , $ t ->nextToken ());
154
- $ this -> assertEquals ('4 ' , $ t ->nextToken ());
155
- $ this -> assertEquals ('5 ' , $ t ->nextToken ());
154
+ Assert:: equals ('3 ' , $ t ->nextToken ());
155
+ Assert:: equals ('4 ' , $ t ->nextToken ());
156
+ Assert:: equals ('5 ' , $ t ->nextToken ());
156
157
}
157
158
158
159
#[Test]
159
160
public function pushBackDelimiterAtEnd () {
160
161
$ t = $ this ->tokenizerInstance ("One \nTwo " , "\n" );
161
- $ this -> assertEquals ('One ' , $ t ->nextToken ());
162
- $ this -> assertEquals ('Two ' , $ t ->nextToken ());
162
+ Assert:: equals ('One ' , $ t ->nextToken ());
163
+ Assert:: equals ('Two ' , $ t ->nextToken ());
163
164
$ t ->pushBack ("Two \n" );
164
- $ this -> assertEquals ('Two ' , $ t ->nextToken ());
165
+ Assert:: equals ('Two ' , $ t ->nextToken ());
165
166
}
166
167
167
168
#[Test]
168
169
public function pushBackDelimiter () {
169
- $ this -> assertEquals (
170
+ Assert:: equals (
170
171
['// This is a one-line comment ' , "\n" , 'a ' , '= ' , ' ' , 'b ' , ' ' , '/ ' , ' ' , 'c ' , '; ' ],
171
172
$ this ->allTokens ("// This is a one-line comment \na= b / c; " , "/ \n =; " , "/ \n =; " )
172
173
);
173
174
}
174
175
175
176
#[Test]
176
177
public function pushBackRegex () {
177
- $ this -> assertEquals (
178
+ Assert:: equals (
178
179
['var ' , ' ' , 'pattern ' , ' ' , '= ' , ' ' , '/ ' , '0?([0-9]+)\.0?([0-9]+)(\.0?([0-9]+))? ' , '/ ' , '; ' ],
179
180
$ this ->allTokens ('var pattern = /0?([0-9]+)\.0?([0-9]+)(\.0?([0-9]+))?/; ' , "/ \n =; " )
180
181
);
@@ -183,30 +184,30 @@ public function pushBackRegex() {
183
184
#[Test]
184
185
public function pushBackAfterHavingReadUntilEnd () {
185
186
$ t = $ this ->tokenizerInstance ('1,2, ' , ', ' );
186
- $ this -> assertEquals ('1 ' , $ t ->nextToken ());
187
- $ this -> assertEquals ('2 ' , $ t ->nextToken ());
188
- $ this -> assertFalse ($ t ->hasMoreTokens (), 'Should be at end ' );
187
+ Assert:: equals ('1 ' , $ t ->nextToken ());
188
+ Assert:: equals ('2 ' , $ t ->nextToken ());
189
+ Assert:: false ($ t ->hasMoreTokens (), 'Should be at end ' );
189
190
$ t ->pushBack ('6,7 ' );
190
- $ this -> assertTrue ($ t ->hasMoreTokens (), 'Should have tokens after pushing back ' );
191
- $ this -> assertEquals ('6 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
192
- $ this -> assertEquals ('7 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
193
- $ this -> assertFalse ($ t ->hasMoreTokens (), 'Should be at end again ' );
191
+ Assert:: true ($ t ->hasMoreTokens (), 'Should have tokens after pushing back ' );
192
+ Assert:: equals ('6 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
193
+ Assert:: equals ('7 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
194
+ Assert:: false ($ t ->hasMoreTokens (), 'Should be at end again ' );
194
195
}
195
196
196
197
#[Test]
197
198
public function pushBackWithDelimitersAfterHavingReadUntilEnd () {
198
199
$ t = $ this ->tokenizerInstance ('1,2, ' , ', ' , true );
199
- $ this -> assertEquals ('1 ' , $ t ->nextToken ());
200
- $ this -> assertEquals (', ' , $ t ->nextToken ());
201
- $ this -> assertEquals ('2 ' , $ t ->nextToken ());
202
- $ this -> assertEquals (', ' , $ t ->nextToken ());
203
- $ this -> assertFalse ($ t ->hasMoreTokens (), 'Should be at end ' );
200
+ Assert:: equals ('1 ' , $ t ->nextToken ());
201
+ Assert:: equals (', ' , $ t ->nextToken ());
202
+ Assert:: equals ('2 ' , $ t ->nextToken ());
203
+ Assert:: equals (', ' , $ t ->nextToken ());
204
+ Assert:: false ($ t ->hasMoreTokens (), 'Should be at end ' );
204
205
$ t ->pushBack ('6,7 ' );
205
- $ this -> assertTrue ($ t ->hasMoreTokens (), 'Should have tokens after pushing back ' );
206
- $ this -> assertEquals ('6 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
207
- $ this -> assertEquals (', ' , $ t ->nextToken ());
208
- $ this -> assertEquals ('7 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
209
- $ this -> assertFalse ($ t ->hasMoreTokens (), 'Should be at end again ' );
206
+ Assert:: true ($ t ->hasMoreTokens (), 'Should have tokens after pushing back ' );
207
+ Assert:: equals ('6 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
208
+ Assert:: equals (', ' , $ t ->nextToken ());
209
+ Assert:: equals ('7 ' , $ t ->nextToken (), 'Should yield token pushed back ' );
210
+ Assert:: false ($ t ->hasMoreTokens (), 'Should be at end again ' );
210
211
}
211
212
212
213
#[Test, Ignore('Remove ignore annotation to test performance ' )]
@@ -231,6 +232,6 @@ public function reading_past_end_returns_null() {
231
232
while ($ t ->hasMoreTokens ()) {
232
233
$ t ->nextToken ();
233
234
}
234
- $ this -> assertEquals ([null , null ], [$ t ->nextToken (), $ t ->nextToken ()]);
235
+ Assert:: equals ([null , null ], [$ t ->nextToken (), $ t ->nextToken ()]);
235
236
}
236
237
}
0 commit comments