| Conditions | 1 |
| Paths | 1 |
| Total Lines | 256 |
| Code Lines | 251 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 46 | public function getTests() |
||
| 47 | { |
||
| 48 | $resource = self::getResource(); |
||
| 49 | |||
| 50 | return array( |
||
| 51 | array('string', array('value'), true), |
||
| 52 | array('string', array(''), true), |
||
| 53 | array('string', array(1234), false), |
||
| 54 | array('stringNotEmpty', array('value'), true), |
||
| 55 | array('stringNotEmpty', array(''), false), |
||
| 56 | array('stringNotEmpty', array(1234), false), |
||
| 57 | array('integer', array(123), true), |
||
| 58 | array('integer', array('123'), false), |
||
| 59 | array('integer', array(1.0), false), |
||
| 60 | array('integer', array(1.23), false), |
||
| 61 | array('integerish', array(1.0), true), |
||
| 62 | array('integerish', array(1.23), false), |
||
| 63 | array('integerish', array(123), true), |
||
| 64 | array('integerish', array('123'), true), |
||
| 65 | array('float', array(1.0), true), |
||
| 66 | array('float', array(1.23), true), |
||
| 67 | array('float', array(123), false), |
||
| 68 | array('float', array('123'), false), |
||
| 69 | array('numeric', array(1.0), true), |
||
| 70 | array('numeric', array(1.23), true), |
||
| 71 | array('numeric', array(123), true), |
||
| 72 | array('numeric', array('123'), true), |
||
| 73 | array('numeric', array('foo'), false), |
||
| 74 | array('boolean', array(true), true), |
||
| 75 | array('boolean', array(false), true), |
||
| 76 | array('boolean', array(1), false), |
||
| 77 | array('boolean', array('1'), false), |
||
| 78 | array('scalar', array('1'), true), |
||
| 79 | array('scalar', array(123), true), |
||
| 80 | array('scalar', array(true), true), |
||
| 81 | array('scalar', array(null), false), |
||
| 82 | array('scalar', array(array()), false), |
||
| 83 | array('scalar', array(new stdClass()), false), |
||
| 84 | array('object', array(new stdClass()), true), |
||
| 85 | array('object', array(new RuntimeException()), true), |
||
| 86 | array('object', array(null), false), |
||
| 87 | array('object', array(true), false), |
||
| 88 | array('object', array(1), false), |
||
| 89 | array('object', array(array()), false), |
||
| 90 | array('resource', array($resource), true), |
||
| 91 | array('resource', array($resource, 'stream'), true), |
||
| 92 | array('resource', array($resource, 'other'), false), |
||
| 93 | array('resource', array(1), false), |
||
| 94 | array('isCallable', array('strlen'), true), |
||
| 95 | array('isCallable', array(array($this, 'getTests')), true), |
||
| 96 | array('isCallable', array(function () {}), true), |
||
| 97 | array('isCallable', array(1234), false), |
||
| 98 | array('isCallable', array('foobar'), false), |
||
| 99 | array('isArray', array(array()), true), |
||
| 100 | array('isArray', array(array(1, 2, 3)), true), |
||
| 101 | array('isArray', array(new ArrayIterator(array())), false), |
||
| 102 | array('isArray', array(123), false), |
||
| 103 | array('isArray', array(new stdClass()), false), |
||
| 104 | array('isTraversable', array(array()), true), |
||
| 105 | array('isTraversable', array(array(1, 2, 3)), true), |
||
| 106 | array('isTraversable', array(new ArrayIterator(array())), true), |
||
| 107 | array('isTraversable', array(123), false), |
||
| 108 | array('isTraversable', array(new stdClass()), false), |
||
| 109 | array('isInstanceOf', array(new stdClass(), 'stdClass'), true), |
||
| 110 | array('isInstanceOf', array(new Exception(), 'stdClass'), false), |
||
| 111 | array('isInstanceOf', array(123, 'stdClass'), false), |
||
| 112 | array('isInstanceOf', array(array(), 'stdClass'), false), |
||
| 113 | array('notInstanceOf', array(new stdClass(), 'stdClass'), false), |
||
| 114 | array('notInstanceOf', array(new Exception(), 'stdClass'), true), |
||
| 115 | array('notInstanceOf', array(123, 'stdClass'), true), |
||
| 116 | array('notInstanceOf', array(array(), 'stdClass'), true), |
||
| 117 | array('true', array(true), true), |
||
| 118 | array('true', array(false), false), |
||
| 119 | array('true', array(1), false), |
||
| 120 | array('true', array(null), false), |
||
| 121 | array('false', array(false), true), |
||
| 122 | array('false', array(true), false), |
||
| 123 | array('false', array(1), false), |
||
| 124 | array('false', array(0), false), |
||
| 125 | array('false', array(null), false), |
||
| 126 | array('null', array(null), true), |
||
| 127 | array('null', array(false), false), |
||
| 128 | array('null', array(0), false), |
||
| 129 | array('notNull', array(false), true), |
||
| 130 | array('notNull', array(0), true), |
||
| 131 | array('notNull', array(null), false), |
||
| 132 | array('isEmpty', array(null), true), |
||
| 133 | array('isEmpty', array(false), true), |
||
| 134 | array('isEmpty', array(0), true), |
||
| 135 | array('isEmpty', array(''), true), |
||
| 136 | array('isEmpty', array(1), false), |
||
| 137 | array('isEmpty', array('a'), false), |
||
| 138 | array('notEmpty', array(1), true), |
||
| 139 | array('notEmpty', array('a'), true), |
||
| 140 | array('notEmpty', array(null), false), |
||
| 141 | array('notEmpty', array(false), false), |
||
| 142 | array('notEmpty', array(0), false), |
||
| 143 | array('notEmpty', array(''), false), |
||
| 144 | array('eq', array(1, 1), true), |
||
| 145 | array('eq', array(1, '1'), true), |
||
| 146 | array('eq', array(1, true), true), |
||
| 147 | array('eq', array(1, 0), false), |
||
| 148 | array('notEq', array(1, 0), true), |
||
| 149 | array('notEq', array(1, 1), false), |
||
| 150 | array('notEq', array(1, '1'), false), |
||
| 151 | array('notEq', array(1, true), false), |
||
| 152 | array('same', array(1, 1), true), |
||
| 153 | array('same', array(1, '1'), false), |
||
| 154 | array('same', array(1, true), false), |
||
| 155 | array('same', array(1, 0), false), |
||
| 156 | array('notSame', array(1, 0), true), |
||
| 157 | array('notSame', array(1, 1), false), |
||
| 158 | array('notSame', array(1, '1'), true), |
||
| 159 | array('notSame', array(1, true), true), |
||
| 160 | array('greaterThan', array(1, 0), true), |
||
| 161 | array('greaterThan', array(0, 0), false), |
||
| 162 | array('greaterThanEq', array(2, 1), true), |
||
| 163 | array('greaterThanEq', array(1, 1), true), |
||
| 164 | array('greaterThanEq', array(0, 1), false), |
||
| 165 | array('lessThan', array(0, 1), true), |
||
| 166 | array('lessThan', array(1, 1), false), |
||
| 167 | array('lessThanEq', array(0, 1), true), |
||
| 168 | array('lessThanEq', array(1, 1), true), |
||
| 169 | array('lessThanEq', array(2, 1), false), |
||
| 170 | array('range', array(1, 1, 2), true), |
||
| 171 | array('range', array(2, 1, 2), true), |
||
| 172 | array('range', array(0, 1, 2), false), |
||
| 173 | array('range', array(3, 1, 2), false), |
||
| 174 | array('oneOf', array(1, array(1, 2, 3)), true), |
||
| 175 | array('oneOf', array(1, array('1', '2', '3')), false), |
||
| 176 | array('contains', array('abcd', 'ab'), true), |
||
| 177 | array('contains', array('abcd', 'bc'), true), |
||
| 178 | array('contains', array('abcd', 'cd'), true), |
||
| 179 | array('contains', array('abcd', 'de'), false), |
||
| 180 | array('contains', array('', 'de'), false), |
||
| 181 | array('startsWith', array('abcd', 'ab'), true), |
||
| 182 | array('startsWith', array('abcd', 'bc'), false), |
||
| 183 | array('startsWith', array('', 'bc'), false), |
||
| 184 | array('startsWithLetter', array('abcd'), true), |
||
| 185 | array('startsWithLetter', array('1abcd'), false), |
||
| 186 | array('startsWithLetter', array(''), false), |
||
| 187 | array('endsWith', array('abcd', 'cd'), true), |
||
| 188 | array('endsWith', array('abcd', 'bc'), false), |
||
| 189 | array('endsWith', array('', 'bc'), false), |
||
| 190 | array('regex', array('abcd', '~^ab~'), true), |
||
| 191 | array('regex', array('abcd', '~^bc~'), false), |
||
| 192 | array('regex', array('', '~^bc~'), false), |
||
| 193 | array('alpha', array('abcd'), true), |
||
| 194 | array('alpha', array('ab1cd'), false), |
||
| 195 | array('alpha', array(''), false), |
||
| 196 | array('digits', array('1234'), true), |
||
| 197 | array('digits', array('12a34'), false), |
||
| 198 | array('digits', array(''), false), |
||
| 199 | array('alnum', array('ab12'), true), |
||
| 200 | array('alnum', array('ab12$'), false), |
||
| 201 | array('alnum', array(''), false), |
||
| 202 | array('lower', array('abcd'), true), |
||
| 203 | array('lower', array('abCd'), false), |
||
| 204 | array('lower', array('ab_d'), false), |
||
| 205 | array('lower', array(''), false), |
||
| 206 | array('upper', array('ABCD'), true), |
||
| 207 | array('upper', array('ABcD'), false), |
||
| 208 | array('upper', array('AB_D'), false), |
||
| 209 | array('upper', array(''), false), |
||
| 210 | array('length', array('abcd', 4), true), |
||
| 211 | array('length', array('abc', 4), false), |
||
| 212 | array('length', array('abcde', 4), false), |
||
| 213 | array('length', array('äbcd', 4), true, true), |
||
| 214 | array('length', array('äbc', 4), false, true), |
||
| 215 | array('length', array('äbcde', 4), false, true), |
||
| 216 | array('minLength', array('abcd', 4), true), |
||
| 217 | array('minLength', array('abcde', 4), true), |
||
| 218 | array('minLength', array('abc', 4), false), |
||
| 219 | array('minLength', array('äbcd', 4), true, true), |
||
| 220 | array('minLength', array('äbcde', 4), true, true), |
||
| 221 | array('minLength', array('äbc', 4), false, true), |
||
| 222 | array('maxLength', array('abcd', 4), true), |
||
| 223 | array('maxLength', array('abc', 4), true), |
||
| 224 | array('maxLength', array('abcde', 4), false), |
||
| 225 | array('maxLength', array('äbcd', 4), true, true), |
||
| 226 | array('maxLength', array('äbc', 4), true, true), |
||
| 227 | array('maxLength', array('äbcde', 4), false, true), |
||
| 228 | array('lengthBetween', array('abcd', 3, 5), true), |
||
| 229 | array('lengthBetween', array('abc', 3, 5), true), |
||
| 230 | array('lengthBetween', array('abcde', 3, 5), true), |
||
| 231 | array('lengthBetween', array('ab', 3, 5), false), |
||
| 232 | array('lengthBetween', array('abcdef', 3, 5), false), |
||
| 233 | array('lengthBetween', array('äbcd', 3, 5), true, true), |
||
| 234 | array('lengthBetween', array('äbc', 3, 5), true, true), |
||
| 235 | array('lengthBetween', array('äbcde', 3, 5), true, true), |
||
| 236 | array('lengthBetween', array('äb', 3, 5), false, true), |
||
| 237 | array('lengthBetween', array('äbcdef', 3, 5), false, true), |
||
| 238 | array('fileExists', array(__FILE__), true), |
||
| 239 | array('fileExists', array(__DIR__), true), |
||
| 240 | array('fileExists', array(__DIR__.'/foobar'), false), |
||
| 241 | array('file', array(__FILE__), true), |
||
| 242 | array('file', array(__DIR__), false), |
||
| 243 | array('file', array(__DIR__.'/foobar'), false), |
||
| 244 | array('directory', array(__DIR__), true), |
||
| 245 | array('directory', array(__FILE__), false), |
||
| 246 | array('directory', array(__DIR__.'/foobar'), false), |
||
| 247 | // no tests for readable()/writable() for now |
||
| 248 | array('classExists', array(__CLASS__), true), |
||
| 249 | array('classExists', array(__NAMESPACE__.'\Foobar'), false), |
||
| 250 | array('subclassOf', array(__CLASS__, 'PHPUnit_Framework_TestCase'), true), |
||
| 251 | array('subclassOf', array(__CLASS__, 'stdClass'), false), |
||
| 252 | array('implementsInterface', array('ArrayIterator', 'Traversable'), true), |
||
| 253 | array('implementsInterface', array(__CLASS__, 'Traversable'), false), |
||
| 254 | array('propertyExists', array((object) array('property' => 0), 'property'), true), |
||
| 255 | array('propertyExists', array((object) array('property' => null), 'property'), true), |
||
| 256 | array('propertyExists', array((object) array('property' => null), 'foo'), false), |
||
| 257 | array('propertyNotExists', array((object) array('property' => 0), 'property'), false), |
||
| 258 | array('propertyNotExists', array((object) array('property' => null), 'property'), false), |
||
| 259 | array('propertyNotExists', array((object) array('property' => null), 'foo'), true), |
||
| 260 | array('methodExists', array('RuntimeException', 'getMessage'), true), |
||
| 261 | array('methodExists', array(new RuntimeException(), 'getMessage'), true), |
||
| 262 | array('methodExists', array('stdClass', 'getMessage'), false), |
||
| 263 | array('methodExists', array(new stdClass(), 'getMessage'), false), |
||
| 264 | array('methodExists', array(null, 'getMessage'), false), |
||
| 265 | array('methodExists', array(true, 'getMessage'), false), |
||
| 266 | array('methodExists', array(1, 'getMessage'), false), |
||
| 267 | array('methodNotExists', array('RuntimeException', 'getMessage'), false), |
||
| 268 | array('methodNotExists', array(new RuntimeException(), 'getMessage'), false), |
||
| 269 | array('methodNotExists', array('stdClass', 'getMessage'), true), |
||
| 270 | array('methodNotExists', array(new stdClass(), 'getMessage'), true), |
||
| 271 | array('methodNotExists', array(null, 'getMessage'), true), |
||
| 272 | array('methodNotExists', array(true, 'getMessage'), true), |
||
| 273 | array('methodNotExists', array(1, 'getMessage'), true), |
||
| 274 | array('keyExists', array(array('key' => 0), 'key'), true), |
||
| 275 | array('keyExists', array(array('key' => null), 'key'), true), |
||
| 276 | array('keyExists', array(array('key' => null), 'foo'), false), |
||
| 277 | array('keyNotExists', array(array('key' => 0), 'key'), false), |
||
| 278 | array('keyNotExists', array(array('key' => null), 'key'), false), |
||
| 279 | array('keyNotExists', array(array('key' => null), 'foo'), true), |
||
| 280 | array('count', array(array(0, 1, 2), 3), true), |
||
| 281 | array('count', array(array(0, 1, 2), 2), false), |
||
| 282 | array('uuid', array('00000000-0000-0000-0000-000000000000'), true), |
||
| 283 | array('uuid', array('ff6f8cb0-c57d-21e1-9b21-0800200c9a66'), true), |
||
| 284 | array('uuid', array('ff6f8cb0-c57d-11e1-9b21-0800200c9a66'), true), |
||
| 285 | array('uuid', array('ff6f8cb0-c57d-31e1-9b21-0800200c9a66'), true), |
||
| 286 | array('uuid', array('ff6f8cb0-c57d-41e1-9b21-0800200c9a66'), true), |
||
| 287 | array('uuid', array('ff6f8cb0-c57d-51e1-9b21-0800200c9a66'), true), |
||
| 288 | array('uuid', array('FF6F8CB0-C57D-11E1-9B21-0800200C9A66'), true), |
||
| 289 | array('uuid', array('zf6f8cb0-c57d-11e1-9b21-0800200c9a66'), false), |
||
| 290 | array('uuid', array('af6f8cb0c57d11e19b210800200c9a66'), false), |
||
| 291 | array('uuid', array('ff6f8cb0-c57da-51e1-9b21-0800200c9a66'), false), |
||
| 292 | array('uuid', array('af6f8cb-c57d-11e1-9b21-0800200c9a66'), false), |
||
| 293 | array('uuid', array('3f6f8cb0-c57d-11e1-9b21-0800200c9a6'), false), |
||
| 294 | array('throws', array(function() { throw new LogicException('test'); }, 'LogicException'), true), |
||
| 295 | array('throws', array(function() { throw new LogicException('test'); }, 'IllogicException'), false), |
||
| 296 | array('throws', array(function() { throw new Exception('test'); }), true), |
||
| 297 | array('throws', array(function() { trigger_error('test'); }, 'Throwable'), true, false, 70000), |
||
| 298 | array('throws', array(function() { trigger_error('test'); }, 'Unthrowable'), false, false, 70000), |
||
| 299 | array('throws', array(function() { throw new Error(); }, 'Throwable'), true, true, 70000), |
||
| 300 | ); |
||
| 301 | } |
||
| 302 | |||
| 452 |
Our type inference engine in quite powerful, but sometimes the code does not provide enough clues to go by. In these cases we request you to add a
@returnannotation as described here.