Complex classes like RootTest often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use RootTest, and based on these observations, apply Extract Interface, too.
| 1 | <?php  | 
            ||
| 14 | class RootTest extends RESTFunctionalTestCase  | 
            ||
| 15 | { | 
            ||
| 16 | use AssertXmlTagTrait;  | 
            ||
| 17 | |||
| 18 | /**  | 
            ||
| 19 | * Covers GET /.  | 
            ||
| 20 | */  | 
            ||
| 21 | public function testLoadRootResource()  | 
            ||
| 30 | |||
| 31 | /**  | 
            ||
| 32 | * @dataProvider getRandomUriSet  | 
            ||
| 33 | * Covers GET /<wrongUri>  | 
            ||
| 34 | */  | 
            ||
| 35 | public function testCatchAll($uri)  | 
            ||
| 46 | |||
| 47 | /**  | 
            ||
| 48 | * @depends testLoadRootResource  | 
            ||
| 49 | */  | 
            ||
| 50 | public function testResultContainsRootElement($result)  | 
            ||
| 59 | |||
| 60 | /**  | 
            ||
| 61 | * Test if result contains Role element attributes.  | 
            ||
| 62 | *  | 
            ||
| 63 | * @param string $result  | 
            ||
| 64 | *  | 
            ||
| 65 | * @depends testLoadRootResource  | 
            ||
| 66 | */  | 
            ||
| 67 | public function testResultContainsRootAttributes($result)  | 
            ||
| 81 | |||
| 82 | /**  | 
            ||
| 83 | * @depends testLoadRootResource  | 
            ||
| 84 | */  | 
            ||
| 85 | public function testResultContainsContentTag($result)  | 
            ||
| 96 | |||
| 97 | /**  | 
            ||
| 98 | * @depends testLoadRootResource  | 
            ||
| 99 | */  | 
            ||
| 100 | public function testResultContainsContentTagAttributes($result)  | 
            ||
| 115 | |||
| 116 | /**  | 
            ||
| 117 | * @depends testLoadRootResource  | 
            ||
| 118 | */  | 
            ||
| 119 | public function testResultContainsContentByRemoteIdTag($result)  | 
            ||
| 130 | |||
| 131 | /**  | 
            ||
| 132 | * @depends testLoadRootResource  | 
            ||
| 133 | */  | 
            ||
| 134 | public function testResultContainsContentByRemoteIdTagAttributes($result)  | 
            ||
| 149 | |||
| 150 | /**  | 
            ||
| 151 | * @depends testLoadRootResource  | 
            ||
| 152 | */  | 
            ||
| 153 | public function testResultContainsContentTypesTag($result)  | 
            ||
| 164 | |||
| 165 | /**  | 
            ||
| 166 | * @depends testLoadRootResource  | 
            ||
| 167 | */  | 
            ||
| 168 | public function testResultContainsContentTypesTagAttributes($result)  | 
            ||
| 183 | |||
| 184 | /**  | 
            ||
| 185 | * @depends testLoadRootResource  | 
            ||
| 186 | */  | 
            ||
| 187 | public function testResultContainsContentTypeByIdentifierTag($result)  | 
            ||
| 198 | |||
| 199 | /**  | 
            ||
| 200 | * @depends testLoadRootResource  | 
            ||
| 201 | */  | 
            ||
| 202 | public function testResultContainsContentTypeByIdentifierTagAttributes($result)  | 
            ||
| 217 | |||
| 218 | /**  | 
            ||
| 219 | * @depends testLoadRootResource  | 
            ||
| 220 | */  | 
            ||
| 221 | public function testResultContainsContentTypeGroupsTag($result)  | 
            ||
| 232 | |||
| 233 | /**  | 
            ||
| 234 | * @depends testLoadRootResource  | 
            ||
| 235 | */  | 
            ||
| 236 | public function testResultContainsContentTypeGroupsTagAttributes($result)  | 
            ||
| 251 | |||
| 252 | /**  | 
            ||
| 253 | * @depends testLoadRootResource  | 
            ||
| 254 | */  | 
            ||
| 255 | public function testResultContainsContentTypeGroupByIdentifierTag($result)  | 
            ||
| 266 | |||
| 267 | /**  | 
            ||
| 268 | * @depends testLoadRootResource  | 
            ||
| 269 | */  | 
            ||
| 270 | public function testResultContainsContentTypeGroupByIdentifierTagAttributes($result)  | 
            ||
| 285 | |||
| 286 | /**  | 
            ||
| 287 | * @depends testLoadRootResource  | 
            ||
| 288 | */  | 
            ||
| 289 | public function testResultContainsUsersTag($result)  | 
            ||
| 300 | |||
| 301 | /**  | 
            ||
| 302 | * @depends testLoadRootResource  | 
            ||
| 303 | */  | 
            ||
| 304 | public function testResultContainsUsersTagAttributes($result)  | 
            ||
| 319 | |||
| 320 | /**  | 
            ||
| 321 | * @depends testLoadRootResource  | 
            ||
| 322 | */  | 
            ||
| 323 | public function testResultContainsUsersByRoleIdentifierTag($result)  | 
            ||
| 334 | |||
| 335 | /**  | 
            ||
| 336 | * @depends testLoadRootResource  | 
            ||
| 337 | */  | 
            ||
| 338 | public function testResultContainsUsersByRoleIdentifierTagAttributes($result)  | 
            ||
| 353 | |||
| 354 | /**  | 
            ||
| 355 | * @depends testLoadRootResource  | 
            ||
| 356 | */  | 
            ||
| 357 | public function testResultContainsUsersByRemoteIdentifierTag($result)  | 
            ||
| 368 | |||
| 369 | /**  | 
            ||
| 370 | * @depends testLoadRootResource  | 
            ||
| 371 | */  | 
            ||
| 372 | public function testResultContainsUsersByRemoteIdentifierTagAttributes($result)  | 
            ||
| 387 | |||
| 388 | /**  | 
            ||
| 389 | * @depends testLoadRootResource  | 
            ||
| 390 | */  | 
            ||
| 391 | public function testResultContainsUsersByEmailTag($result)  | 
            ||
| 402 | |||
| 403 | /**  | 
            ||
| 404 | * @depends testLoadRootResource  | 
            ||
| 405 | */  | 
            ||
| 406 | public function testResultContainsUsersByEmailTagAttributes($result)  | 
            ||
| 421 | |||
| 422 | /**  | 
            ||
| 423 | * @depends testLoadRootResource  | 
            ||
| 424 | */  | 
            ||
| 425 | public function testResultContainsUsersByLoginTag($result)  | 
            ||
| 436 | |||
| 437 | /**  | 
            ||
| 438 | * @depends testLoadRootResource  | 
            ||
| 439 | */  | 
            ||
| 440 | public function testResultContainsUsersByLoginTagAttributes($result)  | 
            ||
| 455 | |||
| 456 | /**  | 
            ||
| 457 | * @depends testLoadRootResource  | 
            ||
| 458 | */  | 
            ||
| 459 | public function testResultContainsRolesTag($result)  | 
            ||
| 470 | |||
| 471 | /**  | 
            ||
| 472 | * @depends testLoadRootResource  | 
            ||
| 473 | */  | 
            ||
| 474 | public function testResultContainsRolesTagAttributes($result)  | 
            ||
| 489 | |||
| 490 | /**  | 
            ||
| 491 | * @depends testLoadRootResource  | 
            ||
| 492 | */  | 
            ||
| 493 | public function testResultContainsRootLocationTag($result)  | 
            ||
| 504 | |||
| 505 | /**  | 
            ||
| 506 | * @depends testLoadRootResource  | 
            ||
| 507 | */  | 
            ||
| 508 | public function testResultContainsRootLocationTagAttributes($result)  | 
            ||
| 523 | |||
| 524 | /**  | 
            ||
| 525 | * @depends testLoadRootResource  | 
            ||
| 526 | */  | 
            ||
| 527 | public function testResultContainsRootUserGroupTag($result)  | 
            ||
| 538 | |||
| 539 | /**  | 
            ||
| 540 | * @depends testLoadRootResource  | 
            ||
| 541 | */  | 
            ||
| 542 | public function testResultContainsRootUserGroupTagAttributes($result)  | 
            ||
| 557 | |||
| 558 | /**  | 
            ||
| 559 | * @depends testLoadRootResource  | 
            ||
| 560 | */  | 
            ||
| 561 | public function testResultContainsRootMediaFolderTag($result)  | 
            ||
| 572 | |||
| 573 | /**  | 
            ||
| 574 | * @depends testLoadRootResource  | 
            ||
| 575 | */  | 
            ||
| 576 | public function testResultContainsRootMediaFolderTagAttributes($result)  | 
            ||
| 591 | |||
| 592 | /**  | 
            ||
| 593 | * @depends testLoadRootResource  | 
            ||
| 594 | */  | 
            ||
| 595 | public function testResultContainsLocationByRemoteIdTag($result)  | 
            ||
| 606 | |||
| 607 | /**  | 
            ||
| 608 | * @depends testLoadRootResource  | 
            ||
| 609 | */  | 
            ||
| 610 | public function testResultContainsLocationByRemoteIdTagAttributes($result)  | 
            ||
| 625 | |||
| 626 | /**  | 
            ||
| 627 | * @depends testLoadRootResource  | 
            ||
| 628 | */  | 
            ||
| 629 | public function testResultContainsLocationByPathTag($result)  | 
            ||
| 640 | |||
| 641 | /**  | 
            ||
| 642 | * @depends testLoadRootResource  | 
            ||
| 643 | */  | 
            ||
| 644 | public function testResultContainsLocationByPathTagAttributes($result)  | 
            ||
| 659 | |||
| 660 | /**  | 
            ||
| 661 | * @depends testLoadRootResource  | 
            ||
| 662 | */  | 
            ||
| 663 | public function testResultContainsTrashTag($result)  | 
            ||
| 674 | |||
| 675 | /**  | 
            ||
| 676 | * @depends testLoadRootResource  | 
            ||
| 677 | */  | 
            ||
| 678 | public function testResultContainsTrashTagAttributes($result)  | 
            ||
| 693 | |||
| 694 | /**  | 
            ||
| 695 | * @depends testLoadRootResource  | 
            ||
| 696 | */  | 
            ||
| 697 | public function testResultContainsSectionsTag($result)  | 
            ||
| 708 | |||
| 709 | /**  | 
            ||
| 710 | * @depends testLoadRootResource  | 
            ||
| 711 | */  | 
            ||
| 712 | public function testResultContainsSectionTagAttributes($result)  | 
            ||
| 727 | |||
| 728 | /**  | 
            ||
| 729 | * @depends testLoadRootResource  | 
            ||
| 730 | */  | 
            ||
| 731 | public function testResultContainsViewsTag($result)  | 
            ||
| 742 | |||
| 743 | /**  | 
            ||
| 744 | * @depends testLoadRootResource  | 
            ||
| 745 | */  | 
            ||
| 746 | public function testResultContainsViewsTagAttributes($result)  | 
            ||
| 761 | |||
| 762 | /**  | 
            ||
| 763 | * @depends testLoadRootResource  | 
            ||
| 764 | */  | 
            ||
| 765 | public function testResultContainsObjectStateGroupsTag($result)  | 
            ||
| 776 | |||
| 777 | /**  | 
            ||
| 778 | * @depends testLoadRootResource  | 
            ||
| 779 | */  | 
            ||
| 780 | public function testResultContainsObjectStateGroupsTagAttributes($result)  | 
            ||
| 795 | |||
| 796 | /**  | 
            ||
| 797 | * @depends testLoadRootResource  | 
            ||
| 798 | */  | 
            ||
| 799 | public function testResultContainsObjectStatesTag($result)  | 
            ||
| 810 | |||
| 811 | /**  | 
            ||
| 812 | * @depends testLoadRootResource  | 
            ||
| 813 | */  | 
            ||
| 814 | public function testResultContainsObjectStatesTagAttributes($result)  | 
            ||
| 829 | |||
| 830 | /**  | 
            ||
| 831 | * @depends testLoadRootResource  | 
            ||
| 832 | */  | 
            ||
| 833 | public function testResultContainsGlobalUrlAliasesTag($result)  | 
            ||
| 844 | |||
| 845 | /**  | 
            ||
| 846 | * @depends testLoadRootResource  | 
            ||
| 847 | */  | 
            ||
| 848 | public function testResultContainsGlobalUrlAliasesTagAttributes($result)  | 
            ||
| 863 | |||
| 864 | /**  | 
            ||
| 865 | * @depends testLoadRootResource  | 
            ||
| 866 | */  | 
            ||
| 867 | public function testResultContainsUrlWildcardsTag($result)  | 
            ||
| 878 | |||
| 879 | /**  | 
            ||
| 880 | * @depends testLoadRootResource  | 
            ||
| 881 | */  | 
            ||
| 882 | public function testResultContainsUrlWildcardsTagAttributes($result)  | 
            ||
| 897 | |||
| 898 | /**  | 
            ||
| 899 | * @depends testLoadRootResource  | 
            ||
| 900 | */  | 
            ||
| 901 | public function testResultContainsCreateSessionTag($result)  | 
            ||
| 912 | |||
| 913 | /**  | 
            ||
| 914 | * @depends testLoadRootResource  | 
            ||
| 915 | */  | 
            ||
| 916 | public function testResultContainsCreateSessionTagAttributes($result)  | 
            ||
| 931 | |||
| 932 | /**  | 
            ||
| 933 | * @depends testLoadRootResource  | 
            ||
| 934 | */  | 
            ||
| 935 | public function testResultContainsRefreshSessionTag($result)  | 
            ||
| 946 | |||
| 947 | /**  | 
            ||
| 948 | * @depends testLoadRootResource  | 
            ||
| 949 | */  | 
            ||
| 950 | public function testResultContainsRefreshSessionTagAttributes($result)  | 
            ||
| 965 | |||
| 966 | public function getRandomUriSet()  | 
            ||
| 974 | }  | 
            ||
| 975 | 
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.