Code Duplication    Length = 22-24 lines in 4 locations

tests/WSDL/Lexer/TokenizerTest.php 4 locations

@@ 184-207 (lines=24) @@
181
    /**
182
     * @test
183
     */
184
    public function shouldTokenizeClassWrapper()
185
    {
186
        //given
187
        $param = 'object $name { 
188
            className \Foo\Bar\Baz
189
        }';
190
        $tokenizer = new Tokenizer();
191
192
        //when
193
        $tokens = $tokenizer->lex($param);
194
195
        //then
196
        Assert::thatArray($tokens)
197
            ->extracting('getName()', 'getValue()')
198
            ->containsExactly(
199
                [Token::TYPE, 'object'],
200
                [Token::NAME, '$name'],
201
                [Token::OPEN_OBJECT, '{'],
202
                [Token::TYPE, 'className'],
203
                [Token::CLASS_NAME, '\Foo\Bar\Baz'],
204
                [Token::CLOSE_OBJECT, '}'],
205
                [Token::EOF, 'eof']
206
            );
207
    }
208
209
    /**
210
     * @test
@@ 212-233 (lines=22) @@
209
    /**
210
     * @test
211
     */
212
    public function shouldTokenizeClassWrapperOneLine()
213
    {
214
        //given
215
        $param = 'object $name { className \Foo\Bar\Baz }';
216
        $tokenizer = new Tokenizer();
217
218
        //when
219
        $tokens = $tokenizer->lex($param);
220
221
        //then
222
        Assert::thatArray($tokens)
223
            ->extracting('getName()', 'getValue()')
224
            ->containsExactly(
225
                [Token::TYPE, 'object'],
226
                [Token::NAME, '$name'],
227
                [Token::OPEN_OBJECT, '{'],
228
                [Token::TYPE, 'className'],
229
                [Token::CLASS_NAME, '\Foo\Bar\Baz'],
230
                [Token::CLOSE_OBJECT, '}'],
231
                [Token::EOF, 'eof']
232
            );
233
    }
234
235
    /**
236
     * @test
@@ 238-259 (lines=22) @@
235
    /**
236
     * @test
237
     */
238
    public function shouldTokenizeClassWrapperWithDuplicatedBackSlash()
239
    {
240
        //given
241
        $param = 'object $name { className \\Foo\\Bar\\Baz }';
242
        $tokenizer = new Tokenizer();
243
244
        //when
245
        $tokens = $tokenizer->lex($param);
246
247
        //then
248
        Assert::thatArray($tokens)
249
            ->extracting('getName()', 'getValue()')
250
            ->containsExactly(
251
                [Token::TYPE, 'object'],
252
                [Token::NAME, '$name'],
253
                [Token::OPEN_OBJECT, '{'],
254
                [Token::TYPE, 'className'],
255
                [Token::CLASS_NAME, '\\Foo\\Bar\\Baz'],
256
                [Token::CLOSE_OBJECT, '}'],
257
                [Token::EOF, 'eof']
258
            );
259
    }
260
261
    /**
262
     * @test
@@ 264-285 (lines=22) @@
261
    /**
262
     * @test
263
     */
264
    public function shouldTokenizeClassWrapperWithoutFirstBackSlash()
265
    {
266
        //given
267
        $param = 'object $name { className Foo\Bar\Baz }';
268
        $tokenizer = new Tokenizer();
269
270
        //when
271
        $tokens = $tokenizer->lex($param);
272
273
        //then
274
        Assert::thatArray($tokens)
275
            ->extracting('getName()', 'getValue()')
276
            ->containsExactly(
277
                [Token::TYPE, 'object'],
278
                [Token::NAME, '$name'],
279
                [Token::OPEN_OBJECT, '{'],
280
                [Token::TYPE, 'className'],
281
                [Token::CLASS_NAME, 'Foo\Bar\Baz'],
282
                [Token::CLOSE_OBJECT, '}'],
283
                [Token::EOF, 'eof']
284
            );
285
    }
286
287
    /**
288
     * @test