| Conditions | 2 | 
| Paths | 2 | 
| Total Lines | 76 | 
| 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 | ||
| 67 | 	public function validInputProvider() { | ||
| 68 | $amounts = [ | ||
| 69 | // amounts in various styles and forms | ||
| 70 | '0' => UnboundedQuantityValue::newFromNumber( 0 ), | ||
| 71 | '-0' => UnboundedQuantityValue::newFromNumber( 0 ), | ||
| 72 | '-00.00' => UnboundedQuantityValue::newFromNumber( '+0.00' ), | ||
| 73 | '+00.00' => UnboundedQuantityValue::newFromNumber( '+0.00' ), | ||
| 74 | '0001' => UnboundedQuantityValue::newFromNumber( 1 ), | ||
| 75 | '+01' => UnboundedQuantityValue::newFromNumber( 1 ), | ||
| 76 | '-1' => UnboundedQuantityValue::newFromNumber( -1 ), | ||
| 77 | '+42' => UnboundedQuantityValue::newFromNumber( 42 ), | ||
| 78 | ' - 42' => UnboundedQuantityValue::newFromNumber( -42 ), | ||
| 79 | '9001' => UnboundedQuantityValue::newFromNumber( 9001 ), | ||
| 80 | '.5' => UnboundedQuantityValue::newFromNumber( '+0.5' ), | ||
| 81 | '-.125' => UnboundedQuantityValue::newFromNumber( '-0.125' ), | ||
| 82 | '3.' => UnboundedQuantityValue::newFromNumber( 3 ), | ||
| 83 | ' 3 ' => UnboundedQuantityValue::newFromNumber( 3 ), | ||
| 84 | '2.125' => UnboundedQuantityValue::newFromNumber( '+2.125' ), | ||
| 85 | '2.1250' => UnboundedQuantityValue::newFromNumber( '+2.1250' ), | ||
| 86 | |||
| 87 | '1.4e-2' => UnboundedQuantityValue::newFromNumber( '+0.014' ), | ||
| 88 | '-1.4e-2' => UnboundedQuantityValue::newFromNumber( '-0.014' ), | ||
| 89 | '1.4e3' => UnboundedQuantityValue::newFromNumber( '+1400' ), | ||
| 90 | '1.4e3!m' => QuantityValue::newFromNumber( '+1400', 'm', '+1400', '+1400' ), | ||
| 91 | '1.4e3m2' => UnboundedQuantityValue::newFromNumber( '+1400', 'm2' ), | ||
| 92 | '1.4ev' => UnboundedQuantityValue::newFromNumber( '+1.4', 'ev' ), | ||
| 93 | '1.4e' => UnboundedQuantityValue::newFromNumber( '+1.4', 'e' ), | ||
| 94 | '12e3e4' => UnboundedQuantityValue::newFromNumber( '+12000', 'e4' ), | ||
| 95 | // FIXME: Add support for 12x10^3, see DecimalParser. | ||
| 96 | '0.004e3' => UnboundedQuantityValue::newFromNumber( '+4' ), | ||
| 97 | '0.004e-3' => UnboundedQuantityValue::newFromNumber( '+0.000004' ), | ||
| 98 | '4000e3' => UnboundedQuantityValue::newFromNumber( '+4000000' ), | ||
| 99 | '4000e-3' => UnboundedQuantityValue::newFromNumber( '+4.000' ), | ||
| 100 | |||
| 101 | // precision | ||
| 102 | '0!' => QuantityValue::newFromNumber( 0, '1', 0, 0 ), | ||
| 103 | '10.003!' => QuantityValue::newFromNumber( '+10.003', '1', '+10.003', '+10.003' ), | ||
| 104 | '-200!' => QuantityValue::newFromNumber( -200, '1', -200, -200 ), | ||
| 105 | '0~' => QuantityValue::newFromNumber( 0, '1', 0.5, -0.5 ), | ||
| 106 | '10.003~' => QuantityValue::newFromNumber( '+10.003', '1', '+10.0035', '+10.0025' ), | ||
| 107 | '-200~' => QuantityValue::newFromNumber( -200, '1', -199.5, -200.5 ), | ||
| 108 | |||
| 109 | // uncertainty | ||
| 110 | '5.3 +/- 0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 111 | '5.3+-0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 112 | '5.3 ±0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 113 | |||
| 114 | '5.3 +/- +0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 115 | '5.3+-+0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 116 | |||
| 117 | '5.3e3 +/- 0.2e2' => QuantityValue::newFromNumber( '+5300', '1', '+5320', '+5280' ), | ||
| 118 | '2e-2+/-1.1e-1' => QuantityValue::newFromNumber( '+0.02', '1', '+0.13', '-0.09' ), | ||
| 119 | |||
| 120 | // negative | ||
| 121 | '5.3 +/- -0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 122 | '5.3+--0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 123 | '5.3 ±-0.2' => QuantityValue::newFromNumber( '+5.3', '1', '+5.5', '+5.1' ), | ||
| 124 | |||
| 125 | // units | ||
| 126 | '5.3+-0.2cm' => QuantityValue::newFromNumber( '+5.3', 'cm', '+5.5', '+5.1' ), | ||
| 127 | '10.003! km' => QuantityValue::newFromNumber( '+10.003', 'km', '+10.003', '+10.003' ), | ||
| 128 | '-200~ % ' => QuantityValue::newFromNumber( -200, '%', -199.5, -200.5 ), | ||
| 129 | '100003 m³' => UnboundedQuantityValue::newFromNumber( 100003, 'm³' ), | ||
| 130 | '3.±-0.2µ' => QuantityValue::newFromNumber( '+3', 'µ', '+3.2', '+2.8' ), | ||
| 131 | '+00.20 Å' => UnboundedQuantityValue::newFromNumber( '+0.20', 'Å' ), | ||
| 132 | ]; | ||
| 133 | |||
| 134 | $argLists = []; | ||
| 135 | |||
| 136 | 		foreach ( $amounts as $amount => $expected ) { | ||
| 137 | //NOTE: PHP may "helpfully" have converted $amount to an integer. Yay. | ||
| 138 | $argLists[$amount] = [ strval( $amount ), $expected ]; | ||
| 139 | } | ||
| 140 | |||
| 141 | return $argLists; | ||
| 142 | } | ||
| 143 | |||
| 288 | 
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: